Пример #1
0
        public async Task <Result> Handle(PublishReports request, CancellationToken cancellationToken)
        {
            _logger.LogInformation("Started Publishing Reports");
            try
            {
                var reports = request.ReportDescriptors
                              .SelectMany(d => BuildReports(d));

                _logger.LogInformation($"Publishing total {reports.Count()} reports");

                if (reports != null && reports.Count() > 0)
                {
                    await _repository.CreateReportsAsync(reports);
                }

                return(Result.Success());
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(Result.Fail(e));
            }
        }