public async Task DoWork()
        {
            try
            {
                _logger.LogInformation("Serviço de importação de candidatos csv iniciando...");
                var csvCandidatos = new List <CsvCandidatoDto>();

                _logger.LogInformation("Verificando diretório...");
                var dir = $"{Directory.GetCurrentDirectory()}/files";
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }

                _logger.LogInformation("Carregando arquivos...");
                var files = Directory.GetFiles(dir);
                foreach (var file in files)
                {
                    var records = csvParser.ReadFromFile(file, Encoding.GetEncoding("ISO-8859-1"));
                    csvCandidatos.AddRange(records.Select(c => c.Result));
                    File.Delete(file);
                }

                if (csvCandidatos.Any())
                {
                    _logger.LogInformation("Convertendo candidatos...");
                    var candidatos = csvCandidatos.Select(c => CsvCandidatoParser.ConverteCsvParaDominio(c));

                    _logger.LogInformation("Armazenando candidatos...");
                    await _candidatoRepository.AdicionaAsync(candidatos);
                }

                _logger.LogInformation("Serviço de importação de candidatos csv finalizado com sucesso!");
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocorreu uma falha durante a importação dos candidatos csv! Detalhes: {ex.Message}");
            }
        }