public IHttpActionResult AddProductToCart(AddProductToCartRequest 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.AddProductInCart(request), AvailableProducts = _productModel.GetAllProducts().ToList() }; return(Ok(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }