private void ProcessarCuponsFiscais(RegistroC010 regC010)
        {
            IEnumerable <RegistroC400> registrosC400 =
                CuponsFiscaisService.GetRegistrosC400(regC010.CNPJ);
            IEnumerable <RegistroC405> registrosC405;
            IEnumerable <RegistroC481> registrosC481;
            IEnumerable <RegistroC485> registrosC485;

            foreach (RegistroC400 regC400 in registrosC400)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro C400");
                DadosArquivoPisCofinsService.PersistirRegistro(regC400);

                registrosC405 = CuponsFiscaisService
                                .GetRegistrosC405(regC010.CNPJ, regC400.PK_ECF);
                foreach (RegistroC405 regC405 in registrosC405)
                {
                    this.UpdateStatusAsynchronousExecution("Gerando Registro C405");
                    DadosArquivoPisCofinsService.PersistirRegistro(regC405);

                    registrosC481 = CuponsFiscaisService.GetRegistrosC481(
                        regC010.CNPJ, regC400.PK_ECF, regC405.DT_DOC.Value);
                    foreach (RegistroC481 regC481 in registrosC481)
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registro C481");
                        DadosArquivoPisCofinsService.PersistirRegistro(regC481);

                        this.ProcessarProduto(regC481.COD_ITEM, regC010.CD_EMP);
                    }

                    registrosC485 = CuponsFiscaisService.GetRegistrosC485(
                        regC010.CNPJ, regC400.PK_ECF, regC405.DT_DOC.Value);
                    foreach (RegistroC485 regC485 in registrosC485)
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registro C485");
                        DadosArquivoPisCofinsService.PersistirRegistro(regC485);

                        this.ProcessarProduto(regC485.COD_ITEM, regC010.CD_EMP);
                    }
                }
            }
        }
Example #2
0
        private void ProcessarCuponsFiscais()
        {
            IEnumerable <RegistroC400> registrosC400 =
                CuponsFiscaisService.GetRegistrosC400();
            IEnumerable <RegistroC405> registrosC405;
            IEnumerable <RegistroC420> registrosC420;
            IEnumerable <RegistroC425> registrosC425;
            IEnumerable <RegistroC460> registrosC460;
            IEnumerable <RegistroC470> registrosC470;
            IEnumerable <RegistroC490> registrosC490;

            foreach (RegistroC400 regC400 in registrosC400)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro C400");
                DadosArquivoFiscalService.PersistirRegistro(regC400);

                registrosC405 = CuponsFiscaisService
                                .GetRegistrosC405(regC400.PK_ECF);
                RegistroC410 regC410;
                foreach (RegistroC405 regC405 in registrosC405)
                {
                    this.UpdateStatusAsynchronousExecution("Gerando Registro C405");
                    DadosArquivoFiscalService.PersistirRegistro(regC405);

                    regC410 = CuponsFiscaisService.GetRegistroC410(
                        regC400.PK_ECF, regC405.DT_DOC.Value);
                    if (regC410 != null)
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registro C410");
                        DadosArquivoFiscalService.PersistirRegistro(regC410);
                    }

                    registrosC420 = CuponsFiscaisService.GetRegistrosC420(
                        regC400.PK_ECF, regC405.DT_DOC.Value);
                    foreach (RegistroC420 regC420 in registrosC420)
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registro C420");
                        DadosArquivoFiscalService.PersistirRegistro(regC420);

                        // Processsa informações dos resumo de itens do movimento diário
                        this.UpdateStatusAsynchronousExecution("Processando resumo de itens do movimento diário");
                        registrosC425 = CuponsFiscaisService.GetRegistrosC425(
                            regC400.PK_ECF, regC405.DT_DOC.Value, regC420.COD_TOT_PAR);
                        foreach (RegistroC425 regC425 in registrosC425)
                        {
                            this.UpdateStatusAsynchronousExecution("Gerando Registro C425");
                            DadosArquivoFiscalService.PersistirRegistro(regC425);

                            this.ProcessarUnidade(regC425.UNID);
                            this.ProcessarProduto(regC425.COD_ITEM);
                        }
                    }

                    registrosC460 = CuponsFiscaisService.GetRegistrosC460(
                        regC400.PK_ECF, regC405.DT_DOC.Value);
                    foreach (RegistroC460 regC460 in registrosC460)
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registro C460");
                        DadosArquivoFiscalService.PersistirRegistro(regC460);

                        // Processsa informações dos resumo de itens do movimento diário
                        this.UpdateStatusAsynchronousExecution("Processando itens de Cupom Fiscal");
                        registrosC470 = CuponsFiscaisService.GetRegistrosC470(regC460.PK_CUPOMFIS);
                        foreach (RegistroC470 regC470 in registrosC470)
                        {
                            this.UpdateStatusAsynchronousExecution("Gerando Registro C470");
                            DadosArquivoFiscalService.PersistirRegistro(regC470);

                            this.ProcessarUnidade(regC470.UNID);
                            this.ProcessarProduto(regC470.COD_ITEM);
                        }
                    }

                    registrosC490 = CuponsFiscaisService.GetRegistrosC490(
                        regC400.PK_ECF, regC405.DT_DOC.Value);
                    foreach (RegistroC490 regC490 in registrosC490)
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registro C490");
                        DadosArquivoFiscalService.PersistirRegistro(regC490);
                    }
                }
            }
        }