protected void Checkout_OnClick(object sender, EventArgs e) { var name = this.Name.Text; var address = this.Address.Text; var phone = this.Phone.Text; var args = new CheckoutEventArgs(name, address, phone); this.MyCheckout?.Invoke(this, args); if (this.Model.IsCheckoutSuccessful) { this.Response.Redirect("~/ShoppingCart/OrderFinished"); } else { this.ErrorMessage.Text = "Something went wrong, please try again"; } }
/// <summary> /// Records the redemption of a coupon offer. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void CheckoutPaymentManagerBaseOnFinalizing(CheckoutPaymentManagerBase sender, CheckoutEventArgs<IPaymentResult> e) { var invoice = e.Item.Invoice; // get the collection of redemptions to be record var visitor = new CouponRedemptionLineItemVisitor(invoice.CustomerKey); invoice.Items.Accept(visitor); if (!visitor.Redemptions.Any()) return; if (MerchelloContext.Current != null) { ((ServiceContext)MerchelloContext.Current.Services).OfferRedeemedService.Save(visitor.Redemptions); } else { LogHelper.Debug<CouponRedemptionEventHandler>("MerchelloContext was null. Could not record coupon redemption."); } }
public void TestViewMyCheckout_ShouldSetViewModelIsCheckoutSuccessfullToTrue(string name, string address, string phoneNumber) { var mockedView = new Mock <ICheckoutView>(); mockedView.Setup(v => v.Model).Returns(new CheckoutViewModel()); var mockedUserService = new Mock <IUserService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var mockedViewModelFactory = new Mock <IViewModelFactory>(); var mockedCart = new Mock <IShoppingCart>(); var checkoutPresenter = new CheckoutPresenter(mockedView.Object, mockedAuthenticationProvider.Object, mockedUserService.Object, mockedViewModelFactory.Object, mockedCart.Object); var args = new CheckoutEventArgs(name, address, phoneNumber); mockedView.Raise(v => v.MyCheckout += null, args); Assert.IsTrue(mockedView.Object.Model.IsCheckoutSuccessful); }
public void TestViewMyCheckout_ShouldCallCartFinishOrder(string name, string address, string phoneNumber) { var mockedView = new Mock <ICheckoutView>(); mockedView.Setup(v => v.Model).Returns(new CheckoutViewModel()); var mockedUserService = new Mock <IUserService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var mockedViewModelFactory = new Mock <IViewModelFactory>(); var mockedCart = new Mock <IShoppingCart>(); var checkoutPresenter = new CheckoutPresenter(mockedView.Object, mockedAuthenticationProvider.Object, mockedUserService.Object, mockedViewModelFactory.Object, mockedCart.Object); var args = new CheckoutEventArgs(name, address, phoneNumber); mockedView.Raise(v => v.MyCheckout += null, args); mockedCart.Verify(c => c.FinishOrder(name, address, phoneNumber), Times.Once); }
/// <summary> /// The checkout payment manager base on finalizing. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void CheckoutPaymentManagerBaseOnFinalizing(CheckoutPaymentManagerBase sender, CheckoutEventArgs <IPaymentResult> e) { var result = e.Item; result.Invoice.AuditCreated(); if (result.Payment.Success) { // Reset the Customer's CheckoutManager e.Customer.Basket().GetCheckoutManager().Reset(); if (result.Invoice.InvoiceStatusKey == Core.Constants.InvoiceStatus.Paid) { result.Payment.Result.AuditPaymentCaptured(result.Payment.Result.Amount); } else { result.Payment.Result.AuditPaymentAuthorize(result.Invoice); } } else { result.Payment.Result.AuditPaymentDeclined(); } }
/// <summary> /// The checkout payment manager base on finalizing. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void CheckoutPaymentManagerBaseOnFinalizing(CheckoutPaymentManagerBase sender, CheckoutEventArgs<IPaymentResult> e) { var result = e.Item; result.Invoice.AuditCreated(); if (result.Payment.Success) { // Reset the Customer's CheckoutManager e.Customer.Basket().GetCheckoutManager().Reset(); if (result.Invoice.InvoiceStatusKey == Core.Constants.DefaultKeys.InvoiceStatus.Paid) { result.Payment.Result.AuditPaymentCaptured(result.Payment.Result.Amount); } else { result.Payment.Result.AuditPaymentAuthorize(result.Invoice); } } else { result.Payment.Result.AuditPaymentDeclined(); } }
/// <summary> /// Records the redemption of a coupon offer. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void CheckoutPaymentManagerBaseOnFinalizing(CheckoutPaymentManagerBase sender, CheckoutEventArgs <IPaymentResult> e) { var invoice = e.Item.Invoice; // get the collection of redemptions to be record var visitor = new CouponRedemptionLineItemVisitor(invoice.CustomerKey); invoice.Items.Accept(visitor); if (!visitor.Redemptions.Any()) { return; } if (MerchelloContext.Current != null) { ((ServiceContext)MerchelloContext.Current.Services).OfferRedeemedService.Save(visitor.Redemptions); } else { LogHelper.Debug <CouponRedemptionEventHandler>("MerchelloContext was null. Could not record coupon redemption."); } }