Exemple #1
0
        public IHttpActionResult RemoveProductInCart(RemoveProductInCartRequest request)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    string errorMsg = string.Empty;
                    errorMsg += string.Join(" ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage));
                    return(BadRequest(errorMsg));
                }

                var product = _productModel.GetProduct(request.ProductId);
                if (product == null)
                {
                    return(BadRequest(MessageResource.UnavailableProduct));
                }

                var response = new CartTransactionResponse()
                {
                    UserCart          = _shoppingCartModel.RemoveProductInCart(request),
                    AvailableProducts = _productModel.GetAllProducts().ToList()
                };
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }