public IActionResult Delete(CartPageViewModel vm) { var userId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var foundShoppingProduct = _shoppingCartData.FindCartProductById(vm.ShoppingCart.ProductId, userId); _shoppingCartData.Delete(foundShoppingProduct); return(RedirectToAction("Index", "Cart")); }
public async Task <IActionResult> SaveForLater(int productId) { var vm = new CartModel(); var userId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; if (_shoppingCartData.CheckIsExistedInList(productId, userId)) { return(Json(new { success = false, responseText = "The attached file is not supported." })); } else { var foundShoppingProduct = _shoppingCartData.FindCartProductById(productId, userId); Product foundProduct = _productData.FindProductById(productId); _shoppingCartData.Delete(foundShoppingProduct); SaveForLater foundSaveForLater = _shoppingCartData.SaveForLater(productId, userId); vm = await InitModel(userId); return(Json(vm)); } }
public async Task <IActionResult> AddToCart(ClientProductPageViewModel vm) { var userId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; vm.EventCommand = "list"; if (!string.IsNullOrEmpty(userId)) { var currentUser = await _userManager.FindByIdAsync(userId); var foundProduct = _ProductData.FindProductById(vm.SaveToCartProductId); var foundShoppingProduct = _shoppingCartData.FindCartProductById(vm.SaveToCartProductId, userId); //if shopping cart dosen't have this product and product inventory is greater than 0 //simply save to cart if (foundShoppingProduct == null && foundProduct.Quantity > 0) { _ProductData.SaveToCart(vm.SaveToCartProductId, currentUser.Id); var foundqQty = _shoppingCartData.GetUserTotalSavedItems(userId); return(Json(new { success = true, message = "Add To Our Cart Now", qty = foundqQty })); } //if we don't have any instcok or custom already put all qty in her/his cart //we don't nothing else if (foundProduct.Quantity == 0 || foundProduct.Quantity == foundShoppingProduct.Qty) { vm.EventCommand = "list"; var foundqQty = _shoppingCartData.GetUserTotalSavedItems(userId); return(Json(new { success = false, message = "We don't have too much in stock for now", qty = foundqQty })); } else { _shoppingCartData.ModifyQty(foundShoppingProduct, foundShoppingProduct.Qty + 1); var foundqQty = _shoppingCartData.GetUserTotalSavedItems(userId); return(Json(new { success = true, message = "You already add this in your cart. I add one more qty for you", qty = foundqQty })); } } else { return(Json(new { success = false, message = "Please Login in first", qty = 0 })); } }