public IEnumerable <ConcessionariaModel> Execute() { var query = new ObterConcessionariasQuery(true, _dbConnectionDataSourceSys, _dbConnectionDataSourceFallBack); var concessionarias = query.Execute(); concessionarias = concessionarias.Where(c => c.AtivoProtocoloArtesp); return(concessionarias); }
/// <summary> /// Executa geração de passagens pendentes de forma assincrona. /// </summary> /// <returns>Task</returns> public async Task ExecuteAsync() { try { await Task.Run(async() => { try { var obterConfiguracaoSistemaQuery = new ObterConfiguracaoSistemaQuery(true, _readOnlyDataSource, _dataSource); int tempoMaximoTtlEmMinutos = ObterTempoMaximoTtlEmMinutos(obterConfiguracaoSistemaQuery); int qtdMaximaPassagensParaProcessar = ObterQtdMaximaPassagensParaProcessaar(obterConfiguracaoSistemaQuery); var concessionarias = _obterConcessionariasQuery.Execute(); var handler = new GeradorPassagensPendentesHandler(_readOnlyDataSource , _dataSource , _dataSourceMensageria , _serviceBusDataSource , _obterConcessionariasQuery , _passagemPendenteTopicCommand); var count = 0; var iteracoes = 100; while (count < iteracoes) { count++; Log.Debug($"{GeradorPassagemPendenteResource.InicioProcesso} - Execução {count}."); await handler.GerarPassagensPendentesAsync(tempoMaximoTtlEmMinutos, qtdMaximaPassagensParaProcessar, concessionarias); Log.Debug($"{GeradorPassagemPendenteResource.FinalProcesso} - Execução {count}."); } } catch (Exception ex) { Log.Error(string.Format(GeradorPassagemPendenteResource.Error, ex.Message), ex); } }); } catch (Exception e) { Log.Error(string.Format(GeradorPassagemPendenteResource.Error, e.Message), e); } }