public async Task <ActionResult> CreditNewRow(long paymentId, int deliveryId) { try { var paymentOrder = await this._sveaClient.PaymentAdmin.GetOrder(paymentId); TempData["ErrorMessage"] = ActionsValidationHelper.ValidateDeliveryAction(paymentOrder, deliveryId, DeliveryActionType.CanCreditNewRow); if (TempData["ErrorMessage"] == null) { var delivery = paymentOrder.Deliveries.FirstOrDefault(dlv => dlv.Id == deliveryId); var response = await delivery.Actions.CreditNewRow( new CreditNewOrderRowRequest( new CreditOrderRow( name: "Slim Fit 512", MinorUnit.FromDecimal(100), MinorUnit.FromDecimal(12) ), pollingTimeout : TimeSpan.FromSeconds(15) ) ); TempData["CreditMessage"] = $"New credit row created. -> {response.ResourceUri.AbsoluteUri}"; } } catch (Exception e) { TempData["ErrorMessage"] = $"Something unexpected happened. {e.Message}"; } return(RedirectToAction("Details", "Orders")); }
public async Task <ActionResult> CreditOrderRows(long paymentId, long deliveryId) { try { var paymentOrder = await this._sveaClient.PaymentAdmin.GetOrder(paymentId); TempData["ErrorMessage"] = ActionsValidationHelper.ValidateDeliveryAction(paymentOrder, deliveryId, DeliveryActionType.CanCreditOrderRows); if (TempData["ErrorMessage"] == null) { var delivery = paymentOrder.Deliveries.FirstOrDefault(dlv => dlv.Id == deliveryId); var orderRowIds = delivery.OrderRows.Where(row => row.AvailableActions.Contains(OrderRowActionType.CanCreditRow)).Select(row => (long)row.OrderRowId).ToList(); var response = await delivery.Actions.CreditOrderRows( new CreditOrderRowsRequest(orderRowIds, pollingTimeout : TimeSpan.FromSeconds(15)) ); TempData["CreditMessage"] = $"Delivery order rows credited. -> {response.ResourceUri.AbsoluteUri}"; } } catch (Exception e) { TempData["ErrorMessage"] = $"Something unexpected happened. {e.Message}"; } return(RedirectToAction("Details", "Orders")); }
public async Task <ActionResult> CreditAmount(long paymentId, int deliveryId) { try { var paymentOrder = await this._sveaClient.PaymentAdmin.GetOrder(paymentId); TempData["ErrorMessage"] = ActionsValidationHelper.ValidateDeliveryAction(paymentOrder, deliveryId, DeliveryActionType.CanCreditAmount); if (TempData["ErrorMessage"] == null) { var delivery = paymentOrder.Deliveries.FirstOrDefault(dlv => dlv.Id == deliveryId); var response = await delivery.Actions.CreditAmount(new CreditAmountRequest(MinorUnit.FromInt(100))); TempData["CreditMessage"] = $"Delivery credited. Credit id: {response.CreditId}"; } } catch (Exception e) { TempData["ErrorMessage"] = $"Something unexpected happened. {e.Message}"; } return(RedirectToAction("Details", "Orders")); }