public void ProcessOrder(Cart cart, ShippingDetails shippingDetails) { using (var smtp = new SmtpClient(ServerName)) { smtp.Credentials = new NetworkCredential(Username, Password); smtp.Port = ServerPort; smtp.EnableSsl = UseSsl; MailMessage message = new MailMessage(); message.From = new MailAddress(MailFromAddress); message.To.Add(new MailAddress(shippingDetails.Email)); message.Subject = "Order from AutoDealer"; message.Body = GetBody(cart, shippingDetails); message.BodyEncoding = Encoding.Unicode; try { smtp.Send(message); } catch (SmtpException ex) { //TODO } } }
public ViewResult Index(Cart cart, string returnUrl) { return View(new CartIndexViewModel { Cart = cart, ReturnUrl = returnUrl }); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { Cart cart = (Cart)controllerContext.HttpContext.Session[_sessionKey]; if (cart == null) { cart = new Cart(); controllerContext.HttpContext.Session[_sessionKey] = cart; } // return the cart return cart; }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (!cart.Lines.Any()) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } if (ModelState.IsValid) { _orderProcessor.ProcessOrder(cart, shippingDetails); cart.Clear(); return View("Completed"); } return View(shippingDetails); }
private string GetBody(Cart cart, ShippingDetails shippingDetails) { StringBuilder body = new StringBuilder(); body.AppendFormat("Dear, {0}!" , shippingDetails.Name).AppendLine(); body.AppendLine("Your order include next goods: "); foreach (var cartLine in cart.Lines) { body.AppendFormat("Name : {0}", cartLine.Name).AppendLine(); body.AppendFormat("Quantity : {0}", cartLine.Quantity).AppendLine(); body.AppendFormat("Cost : {0} ", cartLine.Cost).AppendLine(); body.AppendLine("---"); } body.AppendFormat("Total cost of your ordes is: {0}", cart.ComputeTotalValue()).AppendLine(); body.AppendLine("Thanks for you order."); body.AppendLine("Best regards, AutoDealer."); return body.ToString(); }
public PartialViewResult Summary(Cart cart) { return PartialView(cart); }
public RedirectToRouteResult RemoveFromCart(Cart cart, string productId, string returnUrl) { cart.RemoveLine(productId); return RedirectToAction("Index", new { returnUrl }); }
public RedirectToRouteResult AddToCart(Cart cart, string productId, string productType, string name, decimal cost, string returnUrl) { cart.AddItem(productId, productType, name, cost, 1); return RedirectToAction("Index", new { returnUrl }); }