public ActionResult Checkout(FormCollection f)
        {
            User_Account  userAccount = (User_Account)Session["USER"];
            DateTime      today       = DateTime.Today;
            string        email       = userAccount.Email;
            string        name        = f["txtName"];
            string        address     = f["txtAddress"];
            string        province    = f["province"];
            string        district    = f["district"];
            string        town        = f["town"];
            string        orderPhone  = f["txtNumber"];
            Order_Details order       = new Order_Details
            {
                Email           = email,
                Ordered_Date    = today,
                Delivered       = false,
                Cancelled_Order = false,
                Reason_Cancel   = "",
                Order_Name      = name,
                Exact_Address   = address,
                Order_Phone     = orderPhone,
                Province_ID     = Int32.Parse(province),
                District_ID     = Int32.Parse(district),
                Town_ID         = Int32.Parse(town)
            };
            OrderDetailsDAL dal            = new OrderDetailsDAL();
            int             orderDetailsId = dal.addOrder(order);

            if (orderDetailsId >= 0)
            {
                ICollection <Product_Cart> productCarts   = userAccount.Product_Cart;
                Product_CartDAL            productCartDal = new Product_CartDAL();
                foreach (var item in productCarts)
                {
                    ProductOrderDetailsDAL podDal = new ProductOrderDetailsDAL();
                    Product_Order_Details  pod    = new Product_Order_Details()
                    {
                        Product_ID       = item.Product_ID,
                        Order_ID         = orderDetailsId,
                        Order_Quantity   = (int)item.Quantity,
                        Price            = item.Product.Price,
                        Discount_Percent = item.Product.DiscountPercent,
                    };

                    podDal.addProductOrderDetails(pod);

                    productCartDal.deleteRecord(item.Product_ID, userAccount.Email);
                }
                productCarts.Clear();
                Session.Remove("CART");
                return(RedirectToAction("Index", "Congratulate"));
            }

            return(View());
        }
        public static bool AddProductOrderDetailsDL(Entities.ProductOrderDetails order, List <Entities.ProductOrderDetails> orderDetails)
        {
            bool ProductorderAdded = false;

            try
            {
                if (ValidateProductOrderDetails(order))
                {
                    ProductOrderDetailsDAL productorderDAL = new ProductOrderDetailsDAL();
                    ProductorderAdded = productorderDAL.AddProductOrderDetailsDAL(order, orderDetails);
                }
            }
            catch (Exception ex)
            {
                throw new InventoryException(ex.Message);
            }
            return(ProductorderAdded);
        }
        public static bool UpdateProductOrderDetailsBL(Entities.ProductOrderDetails updateorder)
        {
            bool orderUpdated = false;

            try
            {
                if (ValidateProductOrderDetails(updateorder))
                {
                    ProductOrderDetailsDAL productorderDAL = new ProductOrderDetailsDAL();
                    orderUpdated = productorderDAL.UpdateProductOrderDetailsDAL(updateorder);
                }
            }
            catch (Exception ex)
            {
                throw new InventoryException(ex.Message);
            }
            return(orderUpdated);
        }
        public static bool DeleteProductOrderDetailsBL(string productOrderID)
        {
            bool productOrderDeleted = false;

            try
            {
                Regex regex = new Regex("^[P][O][0-9][0-9][0-9]$");
                bool  b     = regex.IsMatch(productOrderID);
                if (b == true)
                {
                    ProductOrderDetailsDAL productorderDAL = new ProductOrderDetailsDAL();
                    productOrderDeleted = productorderDAL.DeleteProductOrderDetailsDAL(productOrderID);
                }
            }
            catch (Exception ex)
            {
                throw new InventoryException(ex.Message);
            }
            return(productOrderDeleted);
        }