public async Task <TResponse> Handle(TRequest request, CancellationToken cancellationToken)
        {
            try
            {
                Logger.LogInformation($"----- Handling command: {request}");
                var result = await HandleEx(request, cancellationToken);

                UnitOfWork.CompleteTransaction();
                return(result);
            }
            catch (BaseHttpException bex)
            {
                UnitOfWork.AbortTransaction();
                throw bex;
            }
            catch (Exception ex)
            {
                Logger.LogInformation($"----- Error during command: {ex.Message}");
                UnitOfWork.AbortTransaction();
                return(default);