Beispiel #1
0
        private void ProcessarApuracaoIcmsIPI()
        {
            // Nesta primeira versão isto ainda não será implementado; levantar posteriormente
            // se isto realmente é necessário
            this.UpdateStatusAsynchronousExecution("Iniciando processamento de apuração do ICMS e IPI");

            IEnumerable <RegistroE100> registrosE100;

            registrosE100 = ApuracaoServices.GetRegistrosE100();
            RegistroE110 registroE110;
            IEnumerable <RegistroE111> registrosE111;
            IEnumerable <RegistroE116> registrosE116;

            foreach (RegistroE100 regE100 in registrosE100)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro E100");
                DadosArquivoFiscalService.PersistirRegistro(regE100);
                registroE110 = ApuracaoServices.GetRegistroE110(regE100.DT_INI.Value, regE100.DT_FIN.Value);
                DadosArquivoFiscalService.PersistirRegistro(registroE110);

                registrosE111 = ApuracaoServices.GetRegistrosE111(regE100.DT_INI.Value, regE100.DT_FIN.Value);

                foreach (RegistroE111 reg111 in registrosE111)
                {
                    DadosArquivoFiscalService.PersistirRegistro(reg111);
                    this.UpdateStatusAsynchronousExecution("Gerando Registro E110");
                }

                registrosE116 = ApuracaoServices.GetRegistrosE116(regE100.DT_INI.Value, regE100.DT_FIN.Value);
                foreach (RegistroE116 reg116 in registrosE116)
                {
                    DadosArquivoFiscalService.PersistirRegistro(reg116);
                    this.UpdateStatusAsynchronousExecution("Gerando Registro E116");
                }
            }

            IEnumerable <RegistroE200> registrosE200;

            registrosE200 = ApuracaoServices.GetRegistrosE200();
            RegistroE210 registroE210;
            IEnumerable <RegistroE250> registrosE250;

            foreach (RegistroE200 regE200 in registrosE200)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro E200");
                DadosArquivoFiscalService.PersistirRegistro(regE200);
                registroE210 = ApuracaoServices.GetRegistroE210(regE200.DT_INI, regE200.DT_FIN, regE200.UF);
                DadosArquivoFiscalService.PersistirRegistro(registroE210);

                registrosE250 = ApuracaoServices.GetRegistrosE250(regE200.DT_INI, regE200.DT_FIN, regE200.UF);

                foreach (RegistroE250 reg250 in registrosE250)
                {
                    this.UpdateStatusAsynchronousExecution("Gerando Registro E250");
                    DadosArquivoFiscalService.PersistirRegistro(reg250);
                }
            }



            IEnumerable <RegistroE500> registrosE500;

            registrosE500 = ApuracaoServices.GetRegistrosE500();

            IEnumerable <RegistroE510> registrosE510;
            RegistroE520 regE520;
            IEnumerable <RegistroE530> registrosE530;

            foreach (RegistroE500 regE500 in registrosE500)
            {
                DadosArquivoFiscalService.PersistirRegistro(regE500);
                this.UpdateStatusAsynchronousExecution("Gerando Registro E500");

                registrosE510 = ApuracaoServices.GetRegistrosE510(
                    regE500.DT_INI.Value, regE500.DT_FIN.Value);
                foreach (RegistroE510 regE510 in registrosE510)
                {
                    DadosArquivoFiscalService.PersistirRegistro(regE510);
                    this.UpdateStatusAsynchronousExecution("Gerando Registro E510");
                }

                regE520 = ApuracaoServices.GetRegistroE520(
                    regE500.DT_INI.Value, regE500.DT_FIN.Value);
                DadosArquivoFiscalService.PersistirRegistro(regE520);
                this.UpdateStatusAsynchronousExecution("Gerando Registro E520");

                //registrosE530 = ApuracaoServices.GetRegistrosE530(
                //    regE500.DT_INI.Value, regE500.DT_FIN.Value);
                //foreach (RegistroE530 regE530 in registrosE530)
                //{
                //    DadosArquivoFiscalService.PersistirRegistro(regE530);
                //    this.UpdateStatusAsynchronousExecution("Gerando Registro E530");
                //}
            }

            RegistroE001 regE001 = new RegistroE001();

            if (DadosArquivoFiscalService.BlocoPossuiRegistros("E"))
            {
                regE001.IND_MOV = "0";
            }
            else
            {
                regE001.IND_MOV = "1";
            }
            DadosArquivoFiscalService.PersistirRegistro(regE001);
            this.UpdateStatusAsynchronousExecution("Gerando Registro E001");

            RegistroE990 regE990 = DadosArquivoFiscalService.GetRegistroE990();

            DadosArquivoFiscalService.PersistirRegistro(regE990);
            this.UpdateStatusAsynchronousExecution("Gerando Registro E990");
        }