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(); })); }
private void UpdateShoppingCart(Domain.ShoppingCart shoppingCart, EditShoppingCartCommand request) { shoppingCart.Update(request.Model.Description); repository.Update(shoppingCart); repository.Save(); }