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