public ActionResult ShowOrder(int id = 0) { if (id == 0) { return(RedirectToAction("Orders")); } List <ProductAmountVM> products = new List <ProductAmountVM>(); foreach (OrderCollection orderCollection in orderCollectionFactory.GetBy("OrderID", id)) { ProductAmountVM pavm = new ProductAmountVM(); ProductVM productVM = new ProductVM(); productVM.Product = productFactory.Get(orderCollection.ProductID); productVM.Images = imageFactory.GetBy("ProductID", productVM.Product.ID); productVM.Category = categoryFactory.Get(productVM.Product.CategoryID); pavm.ProductVM = productVM; pavm.Amount = orderCollection.Amount; products.Add(pavm); } OrderVM ovm = new OrderVM(); ovm.Order = orderFactory.Get(id); ovm.Products = products; return(View(ovm)); }
public ActionResult CheckoutSubmit(Order order) { int orderID = orderFactory.Insert(order); order.ID = orderID; foreach (List <Product> cartListItem in cart.GetShoppingCart()) { OrderCollection orderCollection = new OrderCollection(); orderCollection.OrderID = orderID; orderCollection.ProductID = cartListItem[0].ID; orderCollection.Amount = cartListItem.Count; orderCollectionFactory.Insert(orderCollection); } OrderStatus orderStatus = new OrderStatus(); orderStatus.OrderID = orderID; orderStatus.Date = DateTime.Today.ToShortDateString(); orderStatus.StatusID = 1; orderStatusFactory.Insert(orderStatus); #region Email EmailClient emailClient = new EmailClient("smtp.gmail.com", 587, "*****@*****.**", "FedeAbe2000", true); //emailClient.SendEmail(order.Email); //emailClient.SendNotification(order.Fullname, order.Email, Request.PhysicalApplicationPath + @"\EmailTemplates\Notification.html"); //List<Product> productsInOrder = new List<Product>(); //for (int i = 0; i < cart.GetShoppingCart().Count; i++) //{ // productsInOrder.Add(productFactory.Get(cart.GetShoppingCart()[i][0].ID)); //} //List<ProductVM> products = new List<ProductVM>(); //foreach (Product item in productsInOrder) //{ // ProductVM productVM = new ProductVM(); // productVM.Product = item; // productVM.Images = imageFactory.GetBy("ProductID", item.ID); // productVM.Category = categoryFactory.Get(item.CategoryID); // products.Add(productVM); //} List <ProductAmountVM> products = new List <ProductAmountVM>(); foreach (List <Product> item in cart.GetShoppingCart()) { ProductVM productVM = new ProductVM(); productVM.Product = item[0]; productVM.Images = imageFactory.GetBy("ProductID", item[0].ID); productVM.Category = categoryFactory.Get(item[0].CategoryID); ProductAmountVM pavm = new ProductAmountVM() { ProductVM = productVM, Amount = item.Count }; products.Add(pavm); } emailClient.SendInvoice(order, products); #endregion return(RedirectToAction("OrderConfirmation")); }