private void ProcessarNotasFiscaisEnergiaAguaGas(RegistroC010 regC010)
        {
            IEnumerable <RegistroC500> registrosC500 =
                NotasFiscaisEnergiaAguaGasService.GetRegistrosC500(regC010.CNPJ);
            IEnumerable <RegistroC501> registrosC501;
            IEnumerable <RegistroC505> registrosC505;

            foreach (RegistroC500 regC500 in registrosC500)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro C500");
                DadosArquivoPisCofinsService.PersistirRegistro(regC500);

                // Processa informações do fornecedor vinculado a uma nota fiscal
                this.ProcessarParticipante(regC500.COD_PART, regC010.CD_EMP);

                registrosC501 = NotasFiscaisEnergiaAguaGasService.GetRegistrosC501(
                    regC500.PK_NOTAFIS);
                foreach (RegistroC501 regC501 in registrosC501)
                {
                    this.UpdateStatusAsynchronousExecution("Gerando Registro C501");
                    DadosArquivoPisCofinsService.PersistirRegistro(regC501);
                }

                registrosC505 = NotasFiscaisEnergiaAguaGasService.GetRegistrosC505(
                    regC500.PK_NOTAFIS);
                foreach (RegistroC505 regC505 in registrosC505)
                {
                    this.UpdateStatusAsynchronousExecution("Gerando Registro C505");
                    DadosArquivoPisCofinsService.PersistirRegistro(regC505);
                }
            }
        }
Exemplo n.º 2
0
        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");
                    }
                }
            }
        }