public ActionResult SaveAsOrder(PaymentViewModel viewModel) { if (this.ModelState.IsValid) { Order order = null; SaveAsOrderResult result = SaveAsOrderResult.Error; Exception exception = this._webStoreServices.UsingClient(c => order = c.StoreClient.SaveAsOrder("default", viewModel.BasketHash, this.Request.UserHostAddress, null, out result)); if (exception != null) { this.ModelState.AddModelError("UnexpectedError", this._localizer("An unexpected error has occured, please try again later").ToString()); } else if (result == SaveAsOrderResult.Success) { return this.BuildProceedToPaymentShape(new ProceedToPaymentViewModel { Order = order }); } else { switch (result) { case SaveAsOrderResult.AddressMissing: this.ModelState.AddModelError("AddressMissing", this._localizer("An address is missing in your basket, please proceed to checkout again").ToString()); break; case SaveAsOrderResult.BasketNotFound: this.ModelState.AddModelError("BasketNotFound", this._localizer("Your basket is empty, it could has been emptied because products are not deliverable in your country").ToString()); break; case SaveAsOrderResult.Error: this.ModelState.AddModelError("UnexpectedError", this._localizer("An unexpected error has occured, please try again later").ToString()); break; case SaveAsOrderResult.InconsistentBasket: this.ModelState.AddModelError("InconsistentBasket", this._localizer("Your basket contains errors, please refresh your basket and proceed to checkout again").ToString()); break; case SaveAsOrderResult.InvalidHash: this.ModelState.AddModelError("InvalidHash", this._localizer("Your basket has changed during the checkout, please refresh your basket and proceed to checkout again").ToString()); break; case SaveAsOrderResult.ProductNotFound: this.ModelState.AddModelError("ProductNotFound", this._localizer("A product in your basket is no more available, please refresh your basket and proceed to checkout again").ToString()); break; case SaveAsOrderResult.ShippingRateValueMissing: this.ModelState.AddModelError("ShippingRateValueMissing", this._localizer("A package in your basket couldn't not be delivered, please refresh your basket and proceed to checkout again").ToString()); break; default: this.ModelState.AddModelError("UnexpectedError", this._localizer("An unexpected error has occured, please try again later").ToString()); break; } } } return this.BuildPaymentShape(viewModel); }
private ActionResult BuildPaymentShape(PaymentViewModel viewModel) { return new ShapePartialResult(this, this._shapeFactory.EditorTemplate(TemplateName: "Checkout/Payment", Model: viewModel)); }
public ActionResult EditPayment(String basketHash) { PaymentViewModel viewModel = new PaymentViewModel { BasketHash = basketHash }; this.Response.Cache.SetCacheability(HttpCacheability.NoCache); return this.BuildPaymentShape(viewModel); }