public ActionResult Index() { var viewModel = new PaymentDemoViewModel(); InitializeModel(viewModel); return(View(viewModel)); }
public ActionResult SimulatePurchase(PaymentDemoViewModel viewModel) { var cart = _orderRepository.LoadOrCreateCart <ICart>(CustomerContext.Current.CurrentContactId, "Default"); cart.GetFirstShipment().ShippingMethodId = viewModel.SelectedShippingMethodId; var primaryPayment = _orderGroupFactory.CreatePayment(cart); primaryPayment.PaymentMethodId = viewModel.SelectedPaymentId; primaryPayment.Amount = _orderGroupCalculator.GetTotal(cart).Amount; primaryPayment.PaymentMethodName = PaymentManager.GetPaymentMethod(viewModel.SelectedPaymentId).PaymentMethod[0].Name; if (viewModel.UseGiftCard) { var giftMethod = PaymentManager.GetPaymentMethodBySystemName("GiftCard", ContentLanguage.PreferredCulture.Name); var giftPayment = _orderGroupFactory.CreatePayment(cart); giftPayment.PaymentMethodId = giftMethod.PaymentMethod[0].PaymentMethodId; giftPayment.Amount = viewModel.GiftCardDebitAmt; giftPayment.ValidationCode = viewModel.RedemtionCode; giftPayment.PaymentMethodName = giftMethod.PaymentMethod[0].Name; PaymentProcessingResult giftPayResult = _paymentProcessor.ProcessPayment(cart, giftPayment, cart.GetFirstShipment()); if (giftPayResult.IsSuccessful) { primaryPayment.Amount -= giftPayment.Amount; cart.AddPayment(giftPayment); } viewModel.GiftInfoMessage = giftPayResult.Message; } PaymentProcessingResult payResult = _paymentProcessor.ProcessPayment(cart, primaryPayment, cart.GetFirstShipment()); if (payResult.IsSuccessful) { cart.AddPayment(primaryPayment); _orderRepository.SaveAsPurchaseOrder(cart); _orderRepository.Delete(cart.OrderLink); } viewModel.MessageOutput = payResult.Message; InitializeModel(viewModel); return(View("Index", viewModel)); }
private void InitializeModel(PaymentDemoViewModel viewModel) { ICart cart = _orderRepository.LoadOrCreateCart <ICart>(CustomerContext.Current.CurrentContactId, "Default"); var shirtRef = _referenceConverter.GetContentLink("Long Sleeve Shirt White Small_1"); var suspendersRef = _referenceConverter.GetContentLink("Suspenders_1"); if (viewModel.Variants == null) { viewModel.Variants = new List <DefaultVariation> { _contentLoader.Get <DefaultVariation>(shirtRef), _contentLoader.Get <DefaultVariation>(suspendersRef) }; } viewModel.PayMethods = PaymentManager.GetPaymentMethodsByMarket(_currentMarket.GetCurrentMarket().MarketId.Value).PaymentMethod; viewModel.CartItems = cart.GetAllLineItems(); viewModel.CartTotal = cart.GetTotal(); viewModel.GiftCards = GiftCardService.GetClientGiftCards("TrainingGiftCard", (PrimaryKeyId)CustomerContext.Current.CurrentContactId); viewModel.ShippingMethods = ShippingManager.GetShippingMethodsByMarket(MarketId.Default.Value, false).ShippingMethod.ToList(); }