Skip to content

Commit

Permalink
Merge branch 'feature/discount-percent' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
lounge committed Nov 19, 2021
2 parents 064e0b7 + 6a24a59 commit ff22ee3
Showing 1 changed file with 27 additions and 20 deletions.
47 changes: 27 additions & 20 deletions src/Samples/Sample.AspNetCore/Controllers/PaymentController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ public async Task<ActionResult> AddOrderRow(long paymentId, int? amountDiscountO
articleNumber: "1234567890",
name: "Slim Fit 512",
quantity: 2,
unitPrice: 1000,
unitPrice: 100,
discount: discount.Value,
vatPercent: 12,
unit: "SEK",
Expand All @@ -125,11 +125,8 @@ public async Task<ActionResult> AddOrderRows(long paymentId, int? amountDiscount
{
var paymentOrder = await this._sveaClient.PaymentAdmin.GetOrder(paymentId).ConfigureAwait(false);

var discount1 = percentDiscountOrderRows.HasValue ? percentDiscountOrderRows.Value : 0;
var useDiscountPercent1 = percentDiscountOrderRows.HasValue;

var discount2 = amountDiscountOrderRows.HasValue ? amountDiscountOrderRows.Value : 0;
var useDiscountPercent2 = false;
var discount = amountDiscountOrderRows.HasValue ? amountDiscountOrderRows : percentDiscountOrderRows.HasValue ? percentDiscountOrderRows : 0;
var useDiscountPercent = !amountDiscountOrderRows.HasValue && (percentDiscountOrderRows.HasValue);

TempData["ErrorMessage"] = ActionsValidationHelper.ValidateOrderAction(paymentOrder, OrderActionType.CanAddOrderRow);

Expand All @@ -140,24 +137,24 @@ public async Task<ActionResult> AddOrderRows(long paymentId, int? amountDiscount
new NewOrderRow(
name: "Slim Fit 512",
quantity: 2,
unitPrice: 1000,
unitPrice: 100,
vatPercent: 12,
discount: discount1,
discount: discount.Value,
rowId: null,
unit: "SEK",
articleNumber: "0987654321",
useDiscountPercent1
articleNumber: "1234567890",
useDiscountPercent
),
new NewOrderRow(
name: "Slim Fit 513",
quantity: 2,
unitPrice: 1000,
vatPercent: 12,
discount: discount2,
quantity: 3,
unitPrice: 200,
vatPercent: 25,
discount: discount.Value,
rowId: null,
unit: "SEK",
articleNumber: "1234567890",
useDiscountPercent2
articleNumber: "0987654321",
useDiscountPercent
)
};

Expand Down Expand Up @@ -265,15 +262,19 @@ public async Task<ActionResult> UpdateOrderRows(long paymentId)
var newOrderRows = new List<NewOrderRow>();
foreach (var orderRow in existingOrderRows)
{
var discount = orderRow.DiscountAmount != 0 ? orderRow.DiscountAmount : orderRow.DiscountPercent;
var useDiscountPercent = orderRow.DiscountAmount != 0 ? false : true;

newOrderRows.Add(new NewOrderRow(
orderRow.Name,
(orderRow.Quantity + 1) % 4 + 1,
orderRow.UnitPrice,
orderRow.VatPercent,
orderRow.DiscountAmount,
discount,
orderRow.OrderRowId,
orderRow.Unit,
orderRow.ArticleNumber
orderRow.ArticleNumber,
useDiscountPercent
));
}

Expand Down Expand Up @@ -374,20 +375,26 @@ public async Task<ActionResult> UpdateOrderRow(long paymentId, long orderRowId)
{
var paymentOrder = await this._sveaClient.PaymentAdmin.GetOrder(paymentId).ConfigureAwait(false);


TempData["ErrorMessage"] = ActionsValidationHelper.ValidateOrderRowAction(paymentOrder, orderRowId, OrderRowActionType.CanUpdateRow);

if (TempData["ErrorMessage"] == null)
{
var orderRow = paymentOrder.OrderRows.FirstOrDefault(row => row.OrderRowId == orderRowId);

var discount = orderRow.DiscountAmount != 0 ? orderRow.DiscountAmount : orderRow.DiscountPercent;
var useDiscountPercent = orderRow.DiscountAmount != 0 ? false : true;

await orderRow.Actions.UpdateOrderRow(
new UpdateOrderRowRequest(
orderRow.ArticleNumber,
orderRow.Name + " Updated",
orderRow.Quantity,
orderRow.UnitPrice,
orderRow.DiscountAmount,
discount,
orderRow.VatPercent,
orderRow.Unit
orderRow.Unit,
useDiscountPercent
)
).ConfigureAwait(false);

Expand Down

0 comments on commit ff22ee3

Please sign in to comment.