Example #1
0
        public async Task <IActionResult> AddOrderAsync(int userId, [FromBody] Product product)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            await _cartRepository.AddProductAsync(userId, product);

            return(Ok());
        }
Example #2
0
        private Task HandleNewCartProduct(Cart cart, Product product, int requestedQuantity)
        {
            var cartProduct = new CartProduct
            {
                Quantity  = requestedQuantity,
                CartId    = cart.Id,
                ProductId = product.Id
            };

            if (cartProduct.Quantity > product.AvailableQuantity)
            {
                throw new ExceededProductQuantityException(product.Name, product.PackageType, product.AvailableQuantity,
                                                           requestedQuantity);
            }

            return(_cartRepository.AddProductAsync(cartProduct));
        }