// // 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)); }
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()); }