public async Task <IActionResult> BaseTrackingHierarchy(FilterBaseTrackingDto filterDto) { try { var result = await _reportService.GetHierarchyFile(filterDto); if (result.hasReport) { _logger.Info($"Tentativa gerar relatório acompanhamento de bases com usuario id :{UserId} - relatorio gerado com sucesso!"); return(Ok(result.report)); } else { _logger.Warn($"Tentativa gerar relatório acompanhamento de bases com usuario id:{UserId} - Não foi encontrado registro no mes {filterDto.CurrentMonth} ano {filterDto.CurrentYear} e rede {filterDto.Network} e status {filterDto.FileStatusId}"); return(NotFound($"Tentativa gerar relatório acompanhamento de bases com usuario id:{UserId} - Não foi encontrado registro no mes {filterDto.CurrentMonth} ano {filterDto.CurrentYear} e rede {filterDto.Network} e status {filterDto.FileStatusId}")); } } catch (Exception ex) { #if (!DEBUG) _logger.Fatal($"Tentativa gerar relatório acompanhamento de bases com usuario id:{UserId} - {ex.ToLogString(Environment.StackTrace)} - no mes {filterDto.CurrentMonth} ano {filterDto.CurrentYear} e rede {filterDto.Network} e status {filterDto.FileStatusId}"); #endif return(BadRequest($"Tentativa gerar relatório acompanhamento de bases com usuario id:{UserId} - {ex.ToLogString(Environment.StackTrace)} - no mes {filterDto.CurrentMonth} ano {filterDto.CurrentYear} e rede {filterDto.Network} e status {filterDto.FileStatusId}")); } }
public async Task <(bool hasReport, object report, string message)> GetSaleFile(FilterBaseTrackingDto filterDto) { var result = await _saleFileRepository.GetSaleFile(filterDto.Start, filterDto.Length, filterDto.CurrentMonth, filterDto.CurrentYear, filterDto.Network, filterDto.FileStatusId); if (!result.Rows.Any()) { return(false, null, "Nenhum registro encontrado"); } var report = new { data = result.Rows.Select(x => new[] { x.User.Name, x.Network.Name, x.FileStatus.Description, $"https://programamaistop.com.br/api/wwwroot/Content/Spreadsheet/Sale/{x.FileName}", $"{x.CurrentMonth.ToString()}/{x.CurrentYear.ToString()}", x.CreatedAt.ToString("dd/MM/yyyy") }).ToArray(), recordsTotal = result.Count, recordsFiltered = result.Count }; return(true, report, "Registros encontrado com sucesso!"); }