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())); }