public async Task <AnaliseDto> AnalisarAsync(ParametrosDeAnaliseDto parametrosDeAnaliseDto) { var retornoDaAnalise = await AnalisarParametrosAsync(parametrosDeAnaliseDto); await ImprimirRelatorioAsync(retornoDaAnalise, parametrosDeAnaliseDto.TiposDeRelatorio); return(retornoDaAnalise); }
private void Validar(ParametrosDeAnaliseDto parametrosDeAnaliseDto) { if (string.IsNullOrEmpty(parametrosDeAnaliseDto.CaminhoDoArquivo)) { throw new ApplicationException("-Caminho do arquivo não pode estar vazio."); } if (_regex.IsMatch(parametrosDeAnaliseDto.CaminhoDoArquivo)) { throw new ApplicationException("-Caminho do arquivo em um formato invalido."); } }
private async Task <AnaliseDto> AnalisarParametrosAsync(ParametrosDeAnaliseDto parametrosDeAnaliseDto) { Validar(parametrosDeAnaliseDto); Stopwatch diagnostico = new Stopwatch(); diagnostico.Start(); var retorno = await _analisador.ProcessarAsync(parametrosDeAnaliseDto.CaminhoDoArquivo, parametrosDeAnaliseDto.TamanhoDoBufferEmBytes); diagnostico.Stop(); return(new AnaliseDto( retorno.NomeDoArquivo, retorno.TamanhoDoArquivo.ToMegaBytesString(), retorno.CaminhoFisico, retorno.NumeroDeIteracoes, diagnostico.Elapsed.ToTimeFormat(), diagnostico.Elapsed.Divide(retorno.NumeroDeIteracoes).ToTimeFormat())); }