コード例 #1
0
        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));
        }
コード例 #2
0
        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"));
        }