public IHttpActionResult AddItemToCart([Bind(Include = "Code,Quantity")] CodeAndQuantityViewModel codeAndQuantityViewModel) { var code = codeAndQuantityViewModel.Code; var quantity = codeAndQuantityViewModel.Quantity; //Validation var variantRef = _referenceConverter.GetContentLink(code); if (variantRef == null || variantRef == ContentReference.EmptyReference) { return(Ok(new { hasError = true, message = "some message" })); } var cart = _cartRepository.LoadCart(true); if (cart == null) { return(Ok(new { hasError = true, message = "Cart misssing" })); } try { cart.AddItemToCart(code, quantity); _shoppingCartValidator.ValidateCartItems(cart.ShoppingCart); _cartRepository.Save(cart); } catch (System.Exception) { return(Ok(new { hasError = true, message = "Item could not be added" })); } MiniCartViewModel miniCart = new MiniCartViewModel { Quantity = quantity }; return(Ok(new { miniCart })); }