Example #1
0
        //
        // GET: /Cart/
        public ActionResult Index()
        {
            var productList         = _productBusiness.GetListWT();
            var assignedProductList = new List <AddToCart>();
            var currentUserId       = Convert.ToInt32(GlobalUser.getGlobalUser().UserId);

            if (currentUserId > 0)
            {
                assignedProductList = _AddToCartBusiness.GetListWT(c => c.UserId == currentUserId);
            }
            else
            {
                CookieStore mycookie = new CookieStore();
                var         products = mycookie.GetCookie(Enumerator.CustomerAction.AddToCart.ToString());
                if (!string.IsNullOrEmpty(products))
                {
                    assignedProductList = (from p in products.Split(',')
                                           select new AddToCart
                    {
                        ProductId = Convert.ToInt32(p.Split('~')[0]),
                        Quantity = Convert.ToInt32(p.Split('~')[1]),
                        Size = Convert.ToInt32(p.Split('~')[2]),
                        Attributes = p.Split('~')[3]
                    }).ToList();
                }
            }

            var imgList       = _ImageBusiness.GetListWT();
            var vmProductList = (from c in productList
                                 join ap in assignedProductList
                                 on c.ProductID equals ap.ProductId
                                 select new CartWishlistViewModel
            {
                ProductID = c.ProductID,
                ProductCode = c.ProductCode,
                ProductName = c.ProductName,
                TokenKey = c.TokenKey,
                ShortDescription = c.ShortDescription,
                Price = _productBusiness.GetSelectedPrice(c.ProductID, ap.Size.Value, ap.Attributes),
                DiscountPercent = c.DiscountPercent,
                DiscountedPrice = Math.Round(_productBusiness.GetSelectedPrice(c.ProductID, ap.Size.Value, ap.Attributes) - Decimal.Divide(c.DiscountPercent ?? 0, 100) * _productBusiness.GetSelectedPrice(c.ProductID, ap.Size.Value, ap.Attributes)),
                SizeId = ap.Size.Value,
                Size = _productBusiness.GetSizeName(c.ProductID, ap.Size.Value),
                AttributeId = ap.Attributes,
                Attributes = _productBusiness.GetAttributes(c.ProductID, ap.Attributes),
                quantity = ap.Quantity,

                ImageList = (from il in imgList
                             where (il.ProductId == c.ProductID)
                             select new ImageViewModel
                {
                    ProductId = c.ProductID,
                    Images = "/ProductImage/" + il.Images
                }).ToList()
            }).ToList();

            return(View(vmProductList));
        }
Example #2
0
        public ActionResult ProductAddToCart(int productid, int quantity, int size = 0, string attributes = "")
        {
            var currentUserId = Convert.ToInt32(GlobalUser.getGlobalUser().UserId);
            var productSize   = _productSizeBusiness.GetListWT(c => c.ProductId == productid).FirstOrDefault();
            var defaultSize   = productSize == null ? 0 : productSize.Id;

            if (size == 0)
            {
                size = defaultSize;
            }
            if (currentUserId > 0)
            {
                var       cartList  = _AddToCartBusiness.GetListWT(c => c.UserId == currentUserId && c.ProductId == productid);
                AddToCart addToCart = new AddToCart();
                addToCart.ProductId  = productid;
                addToCart.UserId     = currentUserId;
                addToCart.Quantity   = quantity;
                addToCart.Size       = size;
                addToCart.Attributes = attributes;
                if (cartList.Count() <= 0)
                {
                    _AddToCartBusiness.Insert(addToCart);
                }
                else
                {
                    addToCart.ID = cartList.FirstOrDefault().ID;
                    _AddToCartBusiness.Update(addToCart);
                }
                _unitOfWork.SaveChanges();
            }
            else
            {
                CookieStore mycookie           = new CookieStore();
                var         products           = mycookie.GetCookie(Enumerator.CustomerAction.AddToCart.ToString());
                var         newValue           = productid.ToString() + "~" + quantity.ToString() + "~" + size.ToString() + "~" + attributes.ToString();
                var         value              = mycookie.FormatCartCookieValue(products, newValue);
                var         expireCookieTimeHr = Convert.ToInt32(ReadConfigData.GetAppSettingsValue("ExpireCookieTimeHr"));
                mycookie.SetCookie(Enumerator.CustomerAction.AddToCart.ToString(), value, expireCookieTimeHr);
            }

            return(new EmptyResult());
        }