コード例 #1
0
        public ActionResult updatecart(int cartindex, int quantity, string sizename = "")
        {
            int v = 0;

            if (sizename.Contains('|'))
            {
                v = Convert.ToInt32(sizename.Split('|')[0]);
            }
            else if (sizename != "")
            {
                v = Convert.ToInt32(sizename);
            }
            ProductSizeRepository sizeRepository = new ProductSizeRepository();

            if (v != 0 && sizeRepository.Get(v).Count < quantity)
            {
                return(RedirectToAction(Session["actionname"].ToString(), new { id = Session["reid"], categoryname = Session["catname"] }));
            }
            List <CartViewModel> cartviewlist = new List <CartViewModel>();

            if (Session["cart"] != null)
            {
                cartviewlist = (List <CartViewModel>)Session["cart"];
            }

            CartViewModel cartViewModel = new CartViewModel();

            cartviewlist[cartindex].count = quantity;
            cartviewlist[cartindex].size  = sizeRepository.Get(v);
            Session["cart"] = cartviewlist;

            return(RedirectToAction("Index", "Cart"));
        }
コード例 #2
0
        public ActionResult addcart(int productid, int quantity, string sizename = "")
        {
            int v = 0;

            if (sizename.Contains('|'))
            {
                v = Convert.ToInt32(sizename.Split('|')[0]);
            }
            else if (sizename != "")
            {
                v = Convert.ToInt32(sizename);
            }
            ProductSizeRepository sizeRepository = new ProductSizeRepository();

            if (v != 0 && sizeRepository.Get(v).Count < quantity)
            {
                return(RedirectToAction(Session["actionname"].ToString(), new { id = Session["reid"], categoryname = Session["catname"] }));
            }
            List <CartViewModel> cartviewlist = new List <CartViewModel>();

            if (Session["cart"] != null)
            {
                cartviewlist = (List <CartViewModel>)Session["cart"];
                for (int x = 0; x < cartviewlist.Count; x++)
                {
                    if (product.Get(cartviewlist[x].product.Product_id) == null)
                    {
                        cartviewlist[x].outOfStock = "Out Of Stock";
                    }
                    else
                    {
                        cartviewlist[x].outOfStock = "";
                    }
                }
            }

            CartViewModel cartViewModel = new CartViewModel();

            Product model = product.Get(productid);
            var     i     = false;

            foreach (var item in cartviewlist)
            {
                if ((v == 0 && item.name == model.Product_name) || (v > 0 && item.name == model.Product_name && item.size.ProductID == model.Product_id))
                {
                    cartviewlist[cartviewlist.IndexOf(item)].count = quantity;
                    i = true;
                    break;
                }
            }
            if (i)
            {
                Session["cart"] = cartviewlist;
                return(RedirectToAction("Index", "Cart"));
            }
            else
            {
                cartViewModel.product = model;
                cartViewModel.name    = model.Product_name;
                cartViewModel.count   = quantity;
                if (v > 0)
                {
                    cartViewModel.size = sizeRepository.Get(v);
                }
                cartviewlist.Add(cartViewModel);
                Session["cart"] = cartviewlist;

                return(RedirectToAction("Index", "Cart"));
            }
        }
コード例 #3
0
        public ActionResult UpdateOrderInformation()
        {
            List <CartViewModel> cartlist = new List <CartViewModel>();

            cartlist = (List <CartViewModel>)Session["cart"];
            var date = DateTime.Now;

            foreach (var item in cartlist)
            {
                if (item.product.SizeCategory == "other")
                {
                    Product p1 = new Product();
                    p1         = productrepo.Get(item.product.Product_id);
                    p1.OnHand -= item.count;
                    productrepo.Update(p1);
                }
                else
                {
                    ProductSize psize = new ProductSize();
                    psize       = productsizeModel.Get(item.size.ProductSizeID);
                    psize.Count = (psize.Count - item.count);
                    if (psize.Count == 0)
                    {
                        productsizeModel.Delete(psize.ProductSizeID);
                    }
                    else
                    {
                        productsizeModel.Update(psize);
                    }
                }

                TempOrder order = new TempOrder();
                order.date     = date;
                order.Quantity = item.count;
                if (item.product.Sale != null)
                {
                    var p  = (double)item.product.UnitPrice;
                    var v  = Convert.ToDouble(item.product.Sale.Amount) / 100;
                    var c1 = (p - (p * v));
                    order.totalAmount = (decimal)(item.count * c1);
                }
                else
                {
                    order.totalAmount = (item.count * item.product.UnitPrice);
                }
                if (item.product.SizeCategory != "other")
                {
                    order.Size = item.size.SizeName;
                }

                order.PayMentMethod = (string)Session["paymentmethod"];
                temporderrepo.Insert(order);

                TempOrderProduct orderproduct = new TempOrderProduct();
                orderproduct.CustomerID = (int)Session["LoginID"];
                orderproduct.OrderID    = order.OrderID;
                orderproduct.ProductID  = productHistory.GetByProductNameCategory(item.product.Product_name, item.product.CategoryID).Product_id;
                temporderproductrepo.Insert(orderproduct);

                /* Profit profit = new Profit();
                 * profit.ProductOrderID = orderproduct.ProductOrderID;
                 * if (item.product.Sale != null)
                 * {
                 *   var p = (double)item.product.UnitPrice;
                 *   var v = Convert.ToDouble(item.product.Sale.Amount) / 100;
                 *   var c1 = (p - (p * v));
                 *   profit.ProfitAmount = ((decimal)c1 - item.product.Cost) * item.count;
                 * }
                 * else
                 * {
                 *   profit.ProfitAmount = (item.product.UnitPrice - item.product.Cost) * item.count;
                 * }
                 *
                 *
                 * profitrepo.Insert(profit);*/
            }
            Session["cart"] = null;

            return(RedirectToAction("SuccessView"));
        }
コード例 #4
0
        public IHttpActionResult Get(int id, string paymentmethod)
        {
            var x = ProductController.cartviewlist;
            List <CartViewModel> cartlist = ProductController.cartviewlist;

            var date = DateTime.Now;

            foreach (var item in cartlist)
            {
                if (item.product.SizeCategory == "other")
                {
                    Product p1 = new Product();
                    p1         = productrepo.Get(item.product.ProductId);
                    p1.OnHand -= item.count;
                    productrepo.Update(p1);
                }
                else
                {
                    ProductSize psize = new ProductSize();
                    psize       = productsizeModel.Get(item.size.ProductSizeID);
                    psize.Count = (psize.Count - item.count);
                    if (psize.Count == 0)
                    {
                        productsizeModel.Delete(psize.ProductSizeID);
                    }
                    else
                    {
                        productsizeModel.Update(psize);
                    }
                }

                TempOrder order = new TempOrder();
                order.date     = date;
                order.Quantity = item.count;
                if (item.product.Sale != null)
                {
                    var p  = (double)item.product.UnitPrice;
                    var v  = Convert.ToDouble(item.product.Sale.Amount) / 100;
                    var c1 = (p - (p * v));
                    order.totalAmount = (decimal)(item.count * c1);
                }
                else
                {
                    order.totalAmount = (item.count * item.product.UnitPrice);
                }
                if (item.product.SizeCategory != "other")
                {
                    order.Size = item.size.SizeName;
                }

                order.PayMentMethod = paymentmethod;
                temporderrepo.Insert(order);

                TempOrderProduct orderproduct = new TempOrderProduct();
                orderproduct.CustomerID  = id;
                orderproduct.TempOrderId = order.TempOrderId;
                orderproduct.ProductID   = item.product.ProductId;
                temporderproductrepo.Insert(orderproduct);

                /* Profit profit = new Profit();
                 * profit.ProductOrderID = orderproduct.ProductOrderID;
                 * if (item.product.Sale != null)
                 * {
                 *   var p = (double)item.product.UnitPrice;
                 *   var v = Convert.ToDouble(item.product.Sale.Amount) / 100;
                 *   var c1 = (p - (p * v));
                 *   profit.ProfitAmount = ((decimal)c1 - item.product.Cost) * item.count;
                 * }
                 * else
                 * {
                 *   profit.ProfitAmount = (item.product.UnitPrice - item.product.Cost) * item.count;
                 * }
                 *
                 *
                 * profitrepo.Insert(profit);*/
            }


            ProductController.cartviewlist.Clear();

            return(Ok("SuccessView"));
        }
コード例 #5
0
        public IHttpActionResult Post(CartMethodViewModel cartMethodViewModel)
        {
            int v = 0;

            if (cartMethodViewModel.sizename.Contains('|'))
            {
                v = Convert.ToInt32(cartMethodViewModel.sizename.Split('|')[0]);
            }
            else if (cartMethodViewModel.sizename != "")
            {
                v = Convert.ToInt32(cartMethodViewModel.sizename);
            }
            ProductSizeRepository sizeRepository = new ProductSizeRepository();

            for (int x = 0; x < cartviewlist.Count; x++)
            {
                if (product.Get(cartviewlist[x].product.ProductId) == null)
                {
                    cartviewlist[x].outOfStock = "Out Of Stock";
                }
                else
                {
                    cartviewlist[x].outOfStock = "";
                }
            }



            CartViewModel cartViewModel = new CartViewModel();

            Product model = product.Get(cartMethodViewModel.productid);
            var     i     = false;

            foreach (var item in cartviewlist)
            {
                if ((v == 0 && item.name == model.Product_name) || (v > 0 && item.name == model.Product_name && item.size.ProductID == model.ProductId))
                {
                    cartviewlist[cartviewlist.IndexOf(item)].count = cartMethodViewModel.quantity;
                    i = true;
                    break;
                }
            }
            if (i)
            {
                return(Ok(cartviewlist));
            }
            else
            {
                cartViewModel.product = model;
                cartViewModel.name    = model.Product_name;
                cartViewModel.count   = cartMethodViewModel.quantity;;
                if (v > 0)
                {
                    cartViewModel.size = sizeRepository.Get(v);
                }
                cartviewlist.Add(cartViewModel);


                return(Ok(cartviewlist));
            }
        }