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")); }
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")); } }
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")); }
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")); }
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)); } }