public async Task <ActionResult> Index(OrderConfirmationPage currentPage, string notificationMessage, int?orderNumber) { IPurchaseOrder order = null; if (PageEditing.PageIsInEditMode) { order = ConfirmationService.CreateFakePurchaseOrder(); } else if (orderNumber.HasValue) { order = ConfirmationService.GetOrder(orderNumber.Value); if (order != null) { await _recommendationService.TrackOrderAsync(HttpContext, order); } } if (order != null && order.CustomerId == CustomerContext.CurrentContactId) { var viewModel = CreateViewModel(currentPage, order); viewModel.NotificationMessage = notificationMessage; return(View(viewModel)); } return(Redirect(Url.ContentUrl(ContentReference.StartPage))); }
public async Task <ActionResult> Index(OrderConfirmationPage currentPage, string notificationMessage, string orderNumber, string trackingNumber) { int orderId; trackingNumber = string.IsNullOrEmpty(trackingNumber) ? orderNumber : trackingNumber; IPurchaseOrder order = null; if (PageEditing.PageIsInEditMode) { order = ConfirmationService.CreateFakePurchaseOrder(); } else if (int.TryParse(orderNumber, out orderId)) { order = ConfirmationService.GetOrder(orderId); if (order != null) { await _recommendationService.TrackOrderAsync(HttpContext, order); } } else if (!string.IsNullOrEmpty(trackingNumber)) { order = ConfirmationService.GetByTrackingNumber(trackingNumber); if (order != null) { await _recommendationService.TrackOrderAsync(HttpContext, order); } } if (order != null && order.CustomerId == CustomerContext.CurrentContactId) { var viewModel = CreateViewModel(currentPage, order); viewModel.NotificationMessage = notificationMessage; var paymentMethod = PaymentManager .GetPaymentMethodBySystemName(Constants.KlarnaCheckoutSystemKeyword, ContentLanguage.PreferredCulture.Name) .PaymentMethod.FirstOrDefault(); if (paymentMethod != null && order.GetFirstForm().Payments.Any(x => x.PaymentMethodId == paymentMethod.PaymentMethodId && !string.IsNullOrEmpty(order.Properties[Klarna.Common.Constants.KlarnaOrderIdField]?.ToString()))) { var market = _marketService.GetMarket(order.MarketId); var klarnaOrder = await _klarnaCheckoutService.GetOrder( order.Properties[Klarna.Common.Constants.KlarnaOrderIdField].ToString(), market).ConfigureAwait(false); viewModel.KlarnaCheckoutHtmlSnippet = klarnaOrder.HtmlSnippet; viewModel.IsKlarnaCheckout = true; } return(View(viewModel)); } return(Redirect(Url.ContentUrl(ContentReference.StartPage))); }
public async Task <ActionResult> Index(OrderConfirmationPage currentPage, string notificationMessage, int?orderNumber, string payeeReference) { IPurchaseOrder order = null; if (PageEditing.PageIsInEditMode) { order = ConfirmationService.CreateFakePurchaseOrder(); } else if (orderNumber.HasValue) { order = ConfirmationService.GetOrder(orderNumber.Value); if (order != null) { await _recommendationService.TrackOrderAsync(HttpContext, order); } } if (order == null && orderNumber.HasValue) { var cart = _orderRepository.Load <ICart>(orderNumber.Value); if (cart != null) { var swedbankPayOrderId = cart.Properties[Constants.SwedbankPayOrderIdField]; order = _checkoutService.GetOrCreatePurchaseOrder(orderNumber.Value, swedbankPayOrderId.ToString()); } else { order = _swedbankPayCheckoutService.GetByPayeeReference(payeeReference); } } if (order != null && order.CustomerId == CustomerContext.CurrentContactId) { var viewModel = CreateViewModel(currentPage, order); viewModel.NotificationMessage = notificationMessage; return(View(viewModel)); } return(Redirect(Url.ContentUrl(ContentReference.StartPage))); }
public ActionResult Index(OrderConfirmationMailPage currentPage, int?orderNumber) { IPurchaseOrder order; if (PageEditing.PageIsInEditMode) { order = _confirmationService.CreateFakePurchaseOrder(); } else { order = _confirmationService.GetOrder(orderNumber.Value); if (order == null) { return(Redirect(Url.ContentUrl(ContentReference.StartPage))); } } var viewModel = CreateViewModel(currentPage, order); return(View(viewModel)); }