public static async System.Threading.Tasks.Task EnviarBatidasAsync() { var listaDeBatidas = new GerenciadorBatidas().BuscarBatidas(); var paramentros = LerParametros.LerArquivo(); if (listaDeBatidas.Count > 0)// se houver batidas para exportar { GravaLog.Gravar("###########Inicio da exportação de batidas###########", false, paramentros.LogAtivo); GravaLog.Gravar(listaDeBatidas.Count + " batida lidas", false, paramentros.LogAtivo); int index = 0; foreach (var batida in listaDeBatidas)// chama o metodo PostBatidasAsync para cadas batida existente { bool retornoRequisicao = await Requisicao.PostBatidasAsync(paramentros, listaDeBatidas[index]); if (retornoRequisicao == true) { string ultimoLido = listaDeBatidas[index].idAcesso; LerParametros.AtualizarUltimaBatida(ultimoLido); GravaLog.GravarBatidasEnviadas(batida); index++; } else { break;//não houve retorno da requisição, neste caso a tarefa é interrompida para que o ultimo registro lido seja integro } } GravaLog.Gravar("Fim da exportação de batidas", false, paramentros.LogAtivo); } else { GravaLog.Gravar("###########Inicio da exportação de batidas###########", false, paramentros.LogAtivo); GravaLog.Gravar("Não existem novas batidas para exportação", false, paramentros.LogAtivo); GravaLog.Gravar("Fim da exportação de batidas", false, paramentros.LogAtivo); } }