public ActionResult Create(TotalCart detail) { try { if (!ModelState.IsValid) { return(RedirectToAction("Index")); } var identity = (ClaimsIdentity)User.Identity; var userEmail = identity.Claims.FirstOrDefault(x => x.Type.ToLower().Contains("emailaddress")).Value; var authenticationClaim = identity.Claims.FirstOrDefault(x => x.Type.ToLower().Contains("authentication")); int userId = _unit.UserWeb.GetUserCustomized(userEmail); var response = _unit.Order.CreateCustomized(userId); if (response.Item2 == 0 && string.IsNullOrEmpty(response.Item1)) { return(RedirectToAction("Index")); } //var productList = JsonConvert.SerializeObject(new List<int> { productId, productId }); var productsList = JsonConvert.SerializeObject(detail.Cart); var responseOrderDetail = _unit.OrderDetail.CreateCustomized(response.Item2, productsList, detail.TotalAmount); _unit.Cart.DeleteCartCustomized(userEmail); return(RedirectToAction("Create", new { OrderNumber = response.Item1 })); } catch (Exception ex) { return(View(ex)); } }
public bool AddToCart(ProductViewModel product, string email) { List <CartDetail> cartProducts = new List <CartDetail>(); TotalCart totalCart = new TotalCart(); CartDetail cartProduct = new CartDetail(); cartProduct.ProductId = product.ProductId; cartProduct.ProductName = product.Name; cartProduct.Price = product.Price; cartProduct.Quantity = product.Quantity; cartProduct.IsAvailable = product.state; cartProduct.Image = product.Image; var anyCart = _unit.Cart.GetCartCustomized(email); string totalCartJson = string.Empty; if (!string.IsNullOrEmpty(anyCart)) { var productInCart = JsonConvert.DeserializeObject <TotalCart>(anyCart); var otherProductsInCart = productInCart.Cart; var itemExistInCart = productInCart.Cart.Where(x => x.ProductId == product.ProductId).FirstOrDefault(); var cartQuantity = productInCart.Cart.Sum(x => x.Quantity); totalCart.TotalAmount = productInCart.Cart.Sum(x => x.Quantity * x.Price) + cartProduct.Price * cartProduct.Quantity; if (itemExistInCart != null) { otherProductsInCart = productInCart.Cart.Except(new List <CartDetail> { itemExistInCart }).ToList(); } cartProducts = otherProductsInCart; if (itemExistInCart != null) { itemExistInCart.Quantity = itemExistInCart.Quantity + product.Quantity; cartProducts.Add(itemExistInCart); totalCart.Cart = cartProducts; totalCartJson = JsonConvert.SerializeObject(totalCart); } else { cartProducts.Add(cartProduct); totalCart.Cart = cartProducts; totalCartJson = JsonConvert.SerializeObject(totalCart); } return(_unit.Cart.UpdateCartCustomized(email, totalCartJson)); } cartProducts.Add(cartProduct); totalCart.TotalAmount = cartProduct.Price * cartProduct.Quantity; totalCart.Cart = cartProducts; totalCartJson = JsonConvert.SerializeObject(totalCart); return(_unit.Cart.InsertCartCustomized(totalCartJson, email)); }
// GET: OrderDetail //public ActionResult Index(int OrderId, string OrderNumber) //{ // var orderDetail = _unit.OrderDetail.GetOrderDetailCustomized(OrderId); // var fields = JsonConvert.DeserializeObject<List<CartDetail>>(orderDetail.Products); // var totalCart = new TotalCart // { // OrderNumber = OrderNumber, // TotalAmount = orderDetail.TotalPay // }; // totalCart.Cart = fields; // return View(totalCart); //} public PartialViewResult Index(int OrderId, string OrderNumber) { var orderDetail = _unit.OrderDetail.GetOrderDetailCustomized(OrderId); var fields = JsonConvert.DeserializeObject <List <CartDetail> >(orderDetail.Products); var totalCart = new TotalCart { OrderNumber = OrderNumber, TotalAmount = orderDetail.TotalPay }; totalCart.Cart = fields; return(PartialView("_Index", totalCart)); }
// GET: Home public ActionResult Index() { var productInCart = new TotalCart(); var identity = (ClaimsIdentity)User.Identity; var userId = identity.Claims.FirstOrDefault(x => x.Type.ToLower().Contains("emailaddress")).Value; var authenticationClaim = identity.Claims.FirstOrDefault(x => x.Type.ToLower().Contains("authentication")); var cart = _unit.Cart.GetCartCustomized(userId); if (!string.IsNullOrEmpty(cart)) { productInCart = JsonConvert.DeserializeObject <TotalCart>(cart); } var myCart = new TotalCart(); var ItemsCart = new List <CartDetail>(); return(View(productInCart)); }
// GET: Home public ActionResult Index(string UserId, string cartData) { var myCart = new TotalCart(); var ItemsCart = new List <CartDetail>(); ItemsCart.Add(new CartDetail { Image = "/Content/Images/fff.png", IsAvailable = true, Price = 124.90M, ProductId = 1, ProductName = "Televisor", Quantity = 1 }); ItemsCart.Add(new CartDetail { Image = "/Content/Images/fff.png", IsAvailable = true, Price = 33.90M, ProductId = 2, ProductName = "Radio", Quantity = 1 }); ItemsCart.Add(new CartDetail { Image = "/Content/Images/fff.png", IsAvailable = true, Price = 70.00M, ProductId = 3, ProductName = "Monitor", Quantity = 2 }); myCart.Cart = ItemsCart; myCart.TotalAmount = 228.80M; return(View(myCart)); }