private MailMessage BuildMailMessage(Cart cart, DeliveryDetails deliveryDetails, String CustEmail, int OrderKey) { StringBuilder body = new StringBuilder(); body.AppendLine("A new order has been submitted"); body.AppendLine(" "); body.AppendLine("Items:"); body.AppendLine("Item -- Quantity -- Price"); foreach (var line in cart.Lines) { var subtotal = line.MenuItem.Price * line.Quantity; body.AppendLine(line.MenuItem.ProductName + " -- " + line.Quantity + " -- " + line.MenuItem.Price); } body.AppendLine(" "); body.AppendLine("Total order value: " + cart.ComputeTotalValue()); body.AppendLine(" "); body.AppendLine("Deliver to:"); body.AppendLine(deliveryDetails.Firstname + " " + deliveryDetails.Surname); body.AppendLine(deliveryDetails.Address1); body.AppendLine(deliveryDetails.Address2); body.AppendLine(deliveryDetails.Address3); body.AppendLine(deliveryDetails.County); body.AppendLine(deliveryDetails.Country); body.AppendLine("Contact No: " + deliveryDetails.ContactPhone); body.AppendLine("To View Order: http://localhost:49209/OrderDisplay/CustomerDisplayOrders?orderID=" + OrderKey); return new MailMessage("*****@*****.**", // From CustEmail, // To "New order submitted!", // Subject body.ToString()); // Body }
public void CreateOrderList(int orderID, Cart cart) { foreach (var line in cart.Lines) { CreateOrderItem(orderID, line.MenuItem.ProductName, line.MenuItem.ProductDescription, line.Quantity, line.MenuItem.Price); } }
public ActionResult CheckOut(Cart cart, DeliveryDetails deliveryDetails) { // Empty carts can't be checked out if (cart.Lines.Count == 0) ModelState.AddModelError("Cart", "Sorry, your cart is empty!"); if (ModelState.IsValid) { if (Session["CustID"] == null) { CustID = 1; } else { CustID = Convert.ToInt32(Session["CustID"]); CustEmail = Session["EmailAddr"].ToString(); } int orderid = orderSubmitter.SubmitOrder(cart, deliveryDetails, CustID, CustEmail); cart.Clear(); Response.Redirect("/OrderDisplay/CustomerDisplayOrders?orderID=" + orderid); return View("Completed"); } else // Something was invalid return View(deliveryDetails); }
public ViewResult Index(Cart cart, string returnUrl) { return View(new CartIndexViewModel { Cart = cart, ReturnUrl = returnUrl }); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { if (bindingContext.Model != null) throw new InvalidOperationException("Cannot update instances!!"); Cart cart = (Cart)controllerContext.HttpContext.Session[cartSessionKey]; if (cart == null) { cart = new Cart(); controllerContext.HttpContext.Session[cartSessionKey] = cart; } return cart; }
public int SubmitOrder(Cart cart, DeliveryDetails deliveryDetails, int CustID, String CustEmail) { // Need to pass the CustomerID in here!!! int orderKey = orderRepository.CreateOrder(CustID); deliveryDetails.FKOrderID = orderKey; int deliveryKey = deliveryRepository.CreateDelivery(deliveryDetails); orderItemRepository.CreateOrderList(orderKey,cart); using (var smtpClient = new SmtpClient()) using (var mailMessage = BuildMailMessage(cart, deliveryDetails, CustEmail, orderKey)) { smtpClient.Send(mailMessage); } return orderKey; }
public ViewResult Summary(Cart cart) { return View(cart); }
public RedirectToRouteResult RemoveFromCart(Cart cart, int menuItemsID, string returnUrl) { MenuItem menuItem = menuItemsRepository.MenuItems.FirstOrDefault(p => p.MenuItemsID == menuItemsID); cart.RemoveLine(menuItem); return RedirectToAction("Index", new { returnUrl }); }
public RedirectToRouteResult AddToCart(Cart cart, int menuItemsID, string returnUrl) { MenuItem menuItem = menuItemsRepository.MenuItems.FirstOrDefault(p => p.MenuItemsID == menuItemsID); cart.AddItem(menuItem,1); return RedirectToAction("Index", new { returnUrl }); }
public int SubmitOrder(Cart cart, DeliveryDetails deliveryDetails, int CustID, String CustEmail) { return 1; }