public ActionResult Checkout(CheckoutModel model) { ValidateModel(model); var cart = new Cart(GetCart()); var emailModel = new CartOrderFromEmailSendModel() { Cart = cart, UserData = model }; var message = RenderViewToString(this.ControllerContext, "/Views/Cart/_PartialNewOrderFromEmailSend.cshtml", emailModel, true); var entity = new Order() { Adress = model.Adress, Email = model.Email, Phone = model.Phone, TypeProgressOrder = (int)Entity.Enumerable.TypeProgressOrder.SimplePrice, UserName = model.Name, Products = cart.Lines.Select(i => new OrderProduct() { Product = new Product() { Id = i.Product.Id }, Quantity = i.Quantity }).ToList(), DateOrder = DateTime.Now }; MailerMessage mailerMessage = new MailerMessage(); mailerMessage.Body = message; mailerMessage.Subject = "Заказ с сайта Пирамида строй"; mailerMessage.To = _feedBackEmailRepository.GetAll().Select(i => i.Email).ToList(); mailerMessage.SenderName = "Pyramid"; if (mailerMessage.To.Count > 0) { Mailer.Send(mailerMessage); } GetCart().Clear(); bool flagErr = false; try { _orederRepository.Add(entity); } catch (Exception) { flagErr = true; } ViewBag.IsAddedOrder = !flagErr; ViewBag.MetaTitle = "Подтверждение заказа"; return(View("ResultCheckout", cart)); }
public ActionResult CheckoutOneClick(CheckoutModel model, int productId) { ValidateModel(model); var product = _productRepository.Get(productId); List <CartLine> lineCollection = new List <CartLine>(); lineCollection.Add(new CartLine() { Quantity = 1, Product = new ProductCartModel() { Id = product.Id, Price = product.Price, Title = product.Title } }); var emailModel = new CartOrderFromEmailSendModel() { Cart = new Cart(lineCollection), UserData = model }; var message = RenderViewToString(this.ControllerContext, "/Views/Cart/_PartialNewOrderFromEmailSend.cshtml", emailModel, true); var entity = new Order() { Adress = model.Adress, Email = model.Email, Phone = model.Phone, TypeProgressOrder = (int)Entity.Enumerable.TypeProgressOrder.SimplePrice, UserName = model.Name, Products = new List <OrderProduct>(new OrderProduct[] { new OrderProduct() { Product = new Product() { Id = productId }, Quantity = 1 } }), }; MailerMessage mailerMessage = new MailerMessage(); mailerMessage.Body = message; mailerMessage.Subject = "Заказ с сайта Пирамида строй"; mailerMessage.To = _feedBackEmailRepository.GetAll().Select(i => i.Email).ToList(); mailerMessage.SenderName = "Pyramid"; if (mailerMessage.To.Count > 0) { Mailer.Send(mailerMessage); } bool flagErr = false; try { _orederRepository.Add(entity); } catch (Exception ex) { flagErr = true; } ViewBag.IsAddedOrder = !flagErr; return(View("ResultCheckoutOneClick")); }