protected override Result Handle(DeleteShoppingCartCommand request)
        {
            EnsureArg.IsNotNull(request);

            var shoppingCartOrNothing = repository.GetById(request.Id);

            return(shoppingCartOrNothing.ToResult(ErrorMessages.ShoppingCartNotFound)
                   .OnSuccess(s => repository.Delete(s))
                   .OnSuccess(_ => repository.Save()));
        }
        protected override ShoppingCartModel Handle(AddShoppingCartCommand request)
        {
            EnsureArg.IsNotNull(request);

            var shoppingCart = ShoppingCart.Create(request.Model.Description);

            repository.Add(shoppingCart);
            repository.Save();

            return(mapper.Map <ShoppingCartModel>(shoppingCart));
        }
        private Result AddProductToShoppingCart(ShoppingCart shoppingCart, Guid productId)
        {
            var productOrNothing = productRepository.GetById(productId);

            return(productOrNothing.ToResult(ErrorMessages.ProductNotFound)
                   .OnSuccess(p =>
            {
                shoppingCart.AddProductPrice(p);
                shoppingCartRepository.Update(shoppingCart);
                shoppingCartRepository.Save();
            }));
        }
Example #4
0
 private void UpdateShoppingCart(Domain.ShoppingCart shoppingCart, EditShoppingCartCommand request)
 {
     shoppingCart.Update(request.Model.Description);
     repository.Update(shoppingCart);
     repository.Save();
 }