public async Task <IActionResult> DeleteItemsFromCart(int userId, [FromBody] int[] productIds)
        {
            if (userId <= 0)
            {
                return(BadRequest());
            }

            var shoppingCart = await _cartContext.ShoppingCarts
                               .Include(b => b.Items)
                               .SingleOrDefaultAsync(ci => ci.UserId == userId);

            foreach (var id in productIds)
            {
                var item = shoppingCart.Items.Where(ci => ci.Id == id).FirstOrDefault();

                _cartContext.Remove(item);
            }

            var deleteItemResult = await _cartContext.SaveChangesAsync();

            if (deleteItemResult > 0)
            {
                _eventStore.Raise("Удалён товар", shoppingCart);
            }

            return(Ok(shoppingCart));
        }
Exemplo n.º 2
0
        public async Task <bool> DeleteCartAsync(string id)
        {
            var cart = await _context.Carts.SingleOrDefaultAsync(c => c.BuyerId == id);

            if (cart == null)
            {
                _logger.LogInformation($"Cart with id {id} doesn't exists.");
                return(false);
            }

            _context.Remove(cart);
            int result = await _context.SaveChangesAsync();

            return(result > 0);
        }