示例#1
0
        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);
            }
        }