コード例 #1
0
        protected override Result Handle(AddProductToShoppingCartCommand request)
        {
            EnsureArg.IsNotNull(request);

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

            return(shoppingCartOrNothing.ToResult(ErrorMessages.ShoppingCartNotFound)
                   .OnSuccess(s => AddProductToShoppingCart(s, request.Model.Id)));
        }
コード例 #2
0
        protected override Result <ShoppingCartModel> Handle(GetShoppingCartQuery request)
        {
            EnsureArg.IsNotNull(request);

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

            return(shoppingCartOrNothing.ToResult(ErrorMessages.ShoppingCartNotFound)
                   .Map(s => mapper.Map <ShoppingCartModel>(s)));
        }
コード例 #3
0
        protected override Result Handle(EditShoppingCartCommand request)
        {
            EnsureArg.IsNotNull(request);

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

            return(existingShoppingCartOrNothing.ToResult(ErrorMessages.ShoppingCartNotFound)
                   .OnSuccess(s => UpdateShoppingCart(s, request)));
        }
コード例 #4
0
        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()));
        }