public async Task <bool> RemoveFromCart(SKU sku, SKUOption skuOption) { var shoppingCartItemFromDb = await _context.ShoppingCartItems .SingleOrDefaultAsync(x => x.ShoppingCartId == CartId && x.SKUId == sku.Id && x.SKUOptionId == skuOption.Id); if (shoppingCartItemFromDb == null) { return(false); } _context.Remove(shoppingCartItemFromDb); await _context.SaveChangesAsync(); return(true); }
public async Task <bool> IncreaseQuantity(SKU sku, SKUOption skuOption) { var shoppingCartItemFromDb = await _context.ShoppingCartItems .SingleOrDefaultAsync(x => x.ShoppingCartId == CartId && x.SKUId == sku.Id && x.SKUOptionId == skuOption.Id); if (shoppingCartItemFromDb == null) { return(false); } if (shoppingCartItemFromDb.Amount == skuOption.Stock) { return(false); } shoppingCartItemFromDb.Amount++; await _context.SaveChangesAsync(); return(true); }
public async Task <bool> AddToCart(SKU sku, SKUOption skuOption) { var shoppingCartItemFromDb = await _context.ShoppingCartItems .SingleOrDefaultAsync(x => x.ShoppingCartId == CartId && x.SKUId == sku.Id && x.SKUOptionId == skuOption.Id); if (shoppingCartItemFromDb == null) { if (skuOption.Stock == 0) { return(false); } var shoppingCartItem = new ShoppingCartItem { SKUId = sku.Id, SKUOptionId = skuOption.Id, Amount = 1, ShoppingCartId = CartId, Date = DateTime.Now }; _context.Add(shoppingCartItem); } else { if (shoppingCartItemFromDb.Amount == skuOption.Stock) { return(false); } shoppingCartItemFromDb.Amount++; } await _context.SaveChangesAsync(); return(true); }
public async Task <bool> DecreaseQuantity(SKU sku, SKUOption skuOption) { var shoppingCartItemFromDb = await _context.ShoppingCartItems .SingleOrDefaultAsync(x => x.ShoppingCartId == CartId && x.SKUId == sku.Id && x.SKUOptionId == skuOption.Id); if (shoppingCartItemFromDb == null) { return(false); } if (shoppingCartItemFromDb.Amount > 1) { shoppingCartItemFromDb.Amount--; } else { _context.Remove(shoppingCartItemFromDb); } await _context.SaveChangesAsync(); return(true); }