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));
            }
        }
Пример #2
0
        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));
        }
Пример #5
0
        // 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));
        }