public IHttpActionResult Post(AddShoppingCartRequest addShoppingCartDto)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var result = _shoppingCartService.AddShoppingCart(addShoppingCartDto);
            try
            {
 
                if (result.ValidationResults != null && result.ValidationResults.Count() != 0)
                {
                    return ResponseMessage(new HttpResponseMessage() { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(JsonConvert.SerializeObject(string.Join(",", result.ValidationResults))) });
                }

            }
            catch (Exception ex)
            {
                _logRepository.Log(ex);
                throw;
            }

            return Ok<AddShoppingCartResponse>(result);
        }
        public AddShoppingCartResponse AddShoppingCarts(AddShoppingCartRequest request)
        {
            var response = new AddShoppingCartResponse();
            var cart     = new ShoppingCart
            {
                CartRefCookie = request.model.CartRefCookie
            };

            if (request.model.Recipes != null && request.model.Recipes.Count() > 0)
            {
                var soppingCartItems = GetRecipeItemsSum(request.filter, request.model.Recipes.ToList());
                cart.ShoppingCartItems = soppingCartItems.AsEnumerable();
            }

            if (!cart.isValid())
            {
                throw new BusinessRuleException("There was some errors", cart.getBrokedRules());
            }

            _shoppingCartRepository.Insert(cart);
            _unitOfWork.Commit();

            response.cart = cart.ToShoppingCartViewModel();
            return(response);
        }
        public void Should_Add_An_Ingredient_Successfully()
        {
            var shoppingcart = new NewShoppingCartViewModel();

            shoppingcart.CartRefCookie = "123fdfds";
            shoppingcart.Recipes       = new List <Guid>()
            {
                Guid.Parse("ca505ba2-f4b5-42d8-28b6-08d62939ae3c"),
                Guid.Parse("4be82ff5-93aa-428e-28a5-08d62939f7a2"),
                Guid.Parse("2d46b9e6-8e1d-4e64-28a6-08d62939f7a2")
            };

            var request = new AddShoppingCartRequest()
            {
                model = shoppingcart
            };
            var response = _shoppingCartService.AddShoppingCarts(request);
        }