public async Task <IActionResult> Add(CartAddViewModel model) { if (ModelState.IsValid) { await _cartService.Add(model.ActivityProductId, model.Quantity, Guid.Parse(User.GetUserId())); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Add(int id) { var user = GetSession <UserSessionInfo>(USER_SESSION); if (user == null) { return(JavaScript("$('#login-modal').modal();")); } var cart = new CartAddViewModel() { AdvertisementId = id, BuyerId = user.Id }; _cartService.Add(cart); return(Json(true, JsonRequestBehavior.AllowGet)); }
public bool Add(CartAddViewModel cartAddVm) { var cart = new Cart() { BuyerId = cartAddVm.BuyerId, AdvertisementId = cartAddVm.AdvertisementId, CartDetail = new CartDetail() { CreatedOn = DateTime.Now, ModifiedOn = DateTime.Now, Quantity = cartAddVm.Quantity, TotalAmount = cartAddVm.TotalAmount } }; _cartRepository.Add(cart); return(true); }
public ActionResult AddToCart(int id) { // Retrieve the product from the database var addedProduct = _unitOfWork.Products.Get(id); // Add it to the shopping cart var cartId = _unitOfWork.Carts.GetCartId(HttpContext); _unitOfWork.Carts.AddToCart(addedProduct, cartId); _unitOfWork.Complete(); var results = new CartAddViewModel() { Message = Server.HtmlEncode(addedProduct.Name) + " has been added to your shopping cart.", CartCount = _unitOfWork.Carts.GetCount(cartId) }; return(Json(results)); }
public ActionResult AddToCart(int id, CartAddViewModel model) { CartDO cartDO = new CartDO(); if (User.Identity.IsAuthenticated) { cartDO.User_ID = User.Identity.GetUserId(); //checking if user already has cart created cartDO = cartManagement.GetCartByUserID(cartDO.User_ID); if (cartDO.Cart_ID == 0) { try { cartDO.User_ID = User.Identity.GetUserId(); cartDO.Cart_ID = model.Cart_ID; CartManagement cartManagement = new CartManagement(); cartManagement.AddCartIDandUserIDInCart(cartDO); return(RedirectToAction("Index")); } catch (Exception e) { Console.WriteLine(e); } } else { return(RedirectToAction("Index")); } } else { return(RedirectToAction("Login", "Account")); } return(null); }
private int AddToCart(CartAddViewModel model, bool fromUpdate = false) { var cart = GetCart(fromUpdate); CartItem newCartItem = null; var stock = db.Stocks.FirstOrDefault(m => m.Id == model.ItemId); if (stock != null) { var isPresent = false; foreach (CartItem itm in cart.CartItems) { if (itm.StockId == model.ItemId) { isPresent = true; if (stock.MaxAmtPerUser >= (itm.Qty + model.Qty)) { cart.CartItems.First(m => m.Id == itm.Id).Qty += model.Qty; } else { return(-2); } } } if (!isPresent) { newCartItem = new CartItem { StockId = model.ItemId, Qty = model.Qty, DiscountConstraintId = null, IsEditable = true }; cart.CartItems.Add(newCartItem); } } else { if (model.Type is null) { return(-5); } var constraint = db.DiscountConstraints .FirstOrDefault(m => m.Id == model.ItemId && m.Type == model.Type); if (constraint is null) { return(-6); } switch (constraint.Type) { case DiscountConstraintType.Bundle: { var isPresent = false; foreach (CartItem itm in cart.CartItems) { if (itm.StockId == null && itm.DiscountConstraintId == constraint.Id) { isPresent = true; if (constraint.MaxAmt >= (itm.Qty + model.Qty)) { cart.CartItems.First(m => m.Id == itm.Id).Qty += model.Qty; } else { return(-2); } } } if (!isPresent) { newCartItem = new CartItem { StockId = null, Qty = model.Qty, DiscountConstraintId = constraint.Id, IsEditable = true }; if (!User.Identity.IsAuthenticated) { newCartItem.Id = DateTime.Now.GetHashCode(); } cart.CartItems.Add(newCartItem); } break; } default: { return(-7); } } } if (User.Identity.IsAuthenticated) { db.Entry(cart).State = EntityState.Modified; db.SaveChanges(); } else { if (HttpContext.Request.Cookies["guestCart"] is HttpCookie cookie) { var cartCookie = JsonConvert.SerializeObject(cart); cookie.Value = cartCookie; cookie.Expires = DateTime.Now.AddMinutes(60); Response.Cookies.Add(cookie); } else { return(-3); } } return(0); }
public IActionResult Add(CartAddViewModel vm) { return(Add(vm.HamperId, vm.Quantity, vm.ReturnUrl)); }