private void ProcessarNotasFiscaisEnergiaAguaGas() { IEnumerable <RegistroC590> registrosC590; IEnumerable <RegistroC510> registrosC510; IEnumerable <RegistroC500> registrosC500 = NotasFiscaisEnergiaAguaGasService.GetRegistrosC500(); foreach (RegistroC500 regC500 in registrosC500) { this.UpdateStatusAsynchronousExecution("Gerando Registro C500"); DadosArquivoFiscalService.PersistirRegistro(regC500); // Processa informações do cliente ou fornecedor vinculado a uma nota fiscal this.ProcessarParticipante(regC500.COD_PART); if (regC500.ST_DOC_CANCELADO != "S") // Não persiste registros filhos caso haja cancelamento { registrosC510 = NotasFiscaisEnergiaAguaGasService.GetRegistrosC510( regC500.PK_NOTAFIS); foreach (RegistroC510 regC510 in registrosC510) { this.UpdateStatusAsynchronousExecution("Gerando Registro C510"); DadosArquivoFiscalService.PersistirRegistro(regC510); this.ProcessarUnidade(regC510.UNID); this.ProcessarProduto(regC510.COD_ITEM); this.ProcessarParticipante(regC510.COD_PART); } registrosC590 = NotasFiscaisEnergiaAguaGasService.GetRegistrosC590( regC500.PK_NOTAFIS); foreach (RegistroC590 regC590 in registrosC590) { DadosArquivoFiscalService.PersistirRegistro(regC590); this.UpdateStatusAsynchronousExecution("Gerando Registro C590"); } } } }