コード例 #1
0
ファイル: USintegra.cs プロジェクト: phsilvasantos/erp-2.0
        //Para os documentos fiscais descritos a seguir, quando não emitidos por equipamento
        //emissor de cupom fiscal : Bilhete de Passagem Aquaviário (modelo 14), Bilhete de
        //Passagem e Nota de Bagagem (modelo 15), Bilhete de Passagem Ferroviário (modelo 16),
        //Bilhete de Passagem Rodoviário (modelo 13) e Nota Fiscal de Venda a Consumidor
        //(modelo 2), Nota Fiscal de Produtor (modelo 4), para as unidades da Federa??o
        //que não o exigirem na forma prevista no item 11.
        //
        public static void GerarRegistro61()
        {
            try
            {
                SintegraRegistro61           Registro61;
                List <NotaFiscalCabecalhoVO> ListaNF2Cabecalho = new NotaFiscalController().ConsultaNFCabecalhoSPED(DataInicial, DataFinal);
                if (ListaNF2Cabecalho != null)
                {
                    for (int i = 0; i <= ListaNF2Cabecalho.Count - 1; i++)
                    {
                        Registro61         = new SintegraRegistro61();
                        Registro61.Emissao = Convert.ToDateTime(ListaNF2Cabecalho[i].DataEmissao);
                        Registro61.Modelo  = "02";

                        Registro61.NumOrdemInicial = ListaNF2Cabecalho[i].NumOrdemInicial;
                        Registro61.NumOrdemFinal   = ListaNF2Cabecalho[i].NumOrdemFinal;

                        Registro61.Serie         = ListaNF2Cabecalho[i].Serie;
                        Registro61.SubSerie      = ListaNF2Cabecalho[i].Subserie;
                        Registro61.Valor         = ListaNF2Cabecalho[i].TotalNf;
                        Registro61.BaseDeCalculo = ListaNF2Cabecalho[i].BaseIcms;
                        Registro61.ValorIcms     = ListaNF2Cabecalho[i].Icms;
                        Registro61.Outras        = ListaNF2Cabecalho[i].IcmsOutras;
                        FDataModule.ACBrSintegra.Registro61.Add(Registro61);
                        Registro61 = null;
                    }
                }
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
        }
コード例 #2
0
        public void Initialize()
        {
            HttpRequestMessage request = new HttpRequestMessage();

            request.SetConfiguration(new HttpConfiguration());
            _service    = new Mock <INotaFiscalService>();
            _controller = new NotaFiscalController(_service.Object)
            {
                Request = request,
            };
            notaFiscal            = new Mock <NotaFiscal>();
            _ValidationResultMock = new Mock <ValidationResult>();


            _transportadorAddCommand = new Mock <NotaFiscalAddCommand>();
            _notaUpdateCommand       = new Mock <NotaFiscalUpdateCommand>();
            _notaUpdateCommand.Setup(cmd => cmd.Validar()).Returns(_ValidationResultMock.Object);
            _transportadorDeleteCommand = new Mock <NotaFiscalDeleteCommand>();
        }
コード例 #3
0
        public void Initialize()
        {
            InicializadorAutoMapper.Resetar();
            InicializadorAutoMapper.Inicializar();
            HttpRequestMessage request = new HttpRequestMessage();

            request.SetConfiguration(new HttpConfiguration());
            _notasFiscaisServicoMock  = new Mock <INotaFiscalServico>();
            _notasFiscaissControlador = new NotaFiscalController(_notasFiscaisServicoMock.Object)
            {
                Request = request,
            };
            _notasFiscais             = new Mock <NotaFiscal>();
            _validador                = new Mock <ValidationResult>();
            _notasFiscaisAdicionarCmd = new Mock <NotaFiscalAdicionarComando>();
            _notasFiscaisAdicionarCmd.Setup(cmd => cmd.RealizarValidacaoDoComando()).Returns(_validador.Object);
            _notasFiscaisAtualizarCmd = new Mock <NotaFiscalEditarComando>();
            _notasFiscaisAtualizarCmd.Setup(cmd => cmd.RealizarValidacaoDoComando()).Returns(_validador.Object);
            _notasFiscaisRemoverCmd = new Mock <NotaFiscalRemoverComando>();
            _notasFiscaisRemoverCmd.Setup(cmd => cmd.RealizarValidacaoDoComando()).Returns(_validador.Object);
            var isValid = true;

            _validador.Setup(v => v.IsValid).Returns(isValid);
        }
コード例 #4
0
        private void Timer1_Tick(object sender, EventArgs e)
        {
            Barra.Maximum = 100;
            Barra.Value   = 5;

            Timer1.Enabled = false;

            MemoryStream StreamJson = new MemoryStream();

            if (Procedimento == "EXPORTA_VENDA")
            {
                Filtro = "Id = " + PAFUtil.RecuperarIdUltimaVenda();
                EcfVendaCabecalhoDTO Venda = VendaController.ConsultaEcfVendaCabecalho(Filtro);

                DataContractJsonSerializer SerializaJson = new DataContractJsonSerializer(typeof(EcfVendaCabecalhoDTO));
                SerializaJson.WriteObject(StreamJson, Venda);

                PathLocal  = Application.StartupPath + "\\Integracao\\VENDA_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                PathRemoto = Sessao.Instance.PathIntegracao + "VENDA_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
            }
            if (Procedimento == "EXPORTA_MOVIMENTO")
            {
                Filtro = "Id = " + Sessao.Instance.Movimento.Id;
                EcfMovimentoDTO Movimento = EcfMovimentoController.ConsultaEcfMovimento(Filtro);

                DataContractJsonSerializer SerializaJson = new DataContractJsonSerializer(typeof(EcfMovimentoDTO));
                SerializaJson.WriteObject(StreamJson, Movimento);

                PathLocal  = Application.StartupPath + "\\Integracao\\MOVIMENTO_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                PathRemoto = Sessao.Instance.PathIntegracao + "MOVIMENTO_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
            }
            if (Procedimento == "EXPORTA_R02")
            {
                R02DTO R02 = R02Controller.ConsultaR02(Filtro);

                DataContractJsonSerializer SerializaJson = new DataContractJsonSerializer(typeof(R02DTO));
                SerializaJson.WriteObject(StreamJson, R02);

                PathLocal  = Application.StartupPath + "\\Integracao\\R02_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                PathRemoto = Sessao.Instance.PathIntegracao + "R02_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
            }
            if (Procedimento == "EXPORTA_R06")
            {
                R06DTO R06 = R06Controller.ConsultaR06(Filtro);

                DataContractJsonSerializer SerializaJson = new DataContractJsonSerializer(typeof(R06DTO));
                SerializaJson.WriteObject(StreamJson, R06);

                PathLocal  = Application.StartupPath + "\\Integracao\\R06_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                PathRemoto = Sessao.Instance.PathIntegracao + "R06_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
            }
            if (Procedimento == "EXPORTA_SINTEGRA60M")
            {
                Sintegra60mDTO Sintegra60M = Sintegra60MController.ConsultaSintegra60M(Filtro);

                DataContractJsonSerializer SerializaJson = new DataContractJsonSerializer(typeof(Sintegra60mDTO));
                SerializaJson.WriteObject(StreamJson, Sintegra60M);

                PathLocal  = Application.StartupPath + "\\Integracao\\SINTEGRA60M_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                PathRemoto = Sessao.Instance.PathIntegracao + "SINTEGRA60M_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
            }
            if (Procedimento == "EXPORTA_NF")
            {
                NotaFiscalCabecalhoDTO NotaFiscal = NotaFiscalController.ConsultaNotaFiscalCabecalho(Filtro);

                DataContractJsonSerializer SerializaJson = new DataContractJsonSerializer(typeof(NotaFiscalCabecalhoDTO));
                SerializaJson.WriteObject(StreamJson, NotaFiscal);

                PathLocal  = Application.StartupPath + "\\Integracao\\SINTEGRA60M_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                PathRemoto = Sessao.Instance.PathIntegracao + "SINTEGRA60M_" + Sessao.Instance.Configuracao.EcfCaixa.Nome + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
            }

            StreamReader LerStreamJson = new StreamReader(StreamJson);

            StreamJson.Position = 0;
            JsonString          = LerStreamJson.ReadToEnd();

            System.IO.File.WriteAllText(PathLocal, JsonString);
            File.Copy(PathLocal, PathRemoto, true);

            Barra.Value = 100;
            this.Close();
        }
コード例 #5
0
ファイル: USpedFiscal.cs プロジェクト: phsilvasantos/erp-2.0
        public static void GerarBlocoC()
        {
            NotaFiscalController NotaFiscalController = new NotaFiscalController();
            SpedFiscalController SpedFiscalController = new SpedFiscalController();
            RegistroRController  RegistroRController  = new RegistroRController();

            var BlocoC = FDataModule.ACBrSpedFiscal.Bloco_C;

            var RegistroC001 = BlocoC.RegistroC001;

            RegistroC001.IND_MOV = IndicadorMovimento.ComDados;

            List <NotaFiscalCabecalhoVO> ListaNF2Cabecalho           = NotaFiscalController.ConsultaNFCabecalhoSPED(DataInicial, DataFinal);
            List <NotaFiscalCabecalhoVO> ListaNF2CabecalhoCanceladas = NotaFiscalController.ConsultaNFCabecalhoCanceladasSPED(DataInicial, DataFinal);

            List <SpedFiscalC370VO> ListaC370;
            List <SpedFiscalC390VO> ListaC390;
            List <SpedFiscalC321VO> ListaC321;
            List <SpedFiscalC425VO> ListaC425;
            List <SpedFiscalC490VO> ListaC490;

            List <R02VO> ListaR02;
            List <R03VO> ListaR03;
            List <R04VO> ListaR04;
            List <R05VO> ListaR05;

            //TODO:  Implemente a busca por NF-e na sua retaguarda
            List <Object> ListaNFeCabecalho = new List <Object>();
            List <Object> ListaCupomNFe;
            List <Object> ListaNFeAnalitico;

            // / ///////////
            //  Perfil A  //
            // / ///////////
            if (PerfilApresentacao == 0)
            {
                if (ListaNFeCabecalho != null)
                {
                    for (int i = 0; i <= ListaNFeCabecalho.Count - 1; i++)
                    {
                        //  c100
                        //TODO:  Implemente a busca por NF-e na sua retaguarda
                        var RegistroC100 = new RegistroC100();
                        RegistroC100.IND_OPER      = TipoOperacao.SaidaPrestacao;
                        RegistroC100.IND_EMIT      = Emitente.EmissaoPropria;
                        RegistroC100.COD_PART      = "1";
                        RegistroC100.COD_MOD       = "1";
                        RegistroC100.COD_SIT       = SituacaoDocto.Regular;
                        RegistroC100.SER           = "1";
                        RegistroC100.NUM_DOC       = "1";
                        RegistroC100.CHV_NFE       = "1";
                        RegistroC100.DT_DOC        = DateTime.Now;
                        RegistroC100.DT_E_S        = DateTime.Now;
                        RegistroC100.VL_DOC        = 1;
                        RegistroC100.IND_PGTO      = TipoPagamento.SemPagamento;
                        RegistroC100.VL_DESC       = 0;
                        RegistroC100.VL_ABAT_NT    = 0;
                        RegistroC100.VL_MERC       = 1;
                        RegistroC100.IND_FRT       = TipoFrete.SemCobrancaFrete;
                        RegistroC100.VL_FRT        = 0;
                        RegistroC100.VL_SEG        = 0;
                        RegistroC100.VL_OUT_DA     = 0;
                        RegistroC100.VL_BC_ICMS    = 1;
                        RegistroC100.VL_ICMS       = 0;
                        RegistroC100.VL_BC_ICMS_ST = 0;
                        RegistroC100.VL_ICMS_ST    = 0;
                        RegistroC100.VL_IPI        = 0;
                        RegistroC100.VL_PIS        = 0;
                        RegistroC100.VL_COFINS     = 0;
                        RegistroC100.VL_PIS_ST     = 0;
                        RegistroC100.VL_COFINS_ST  = 0;
                        RegistroC001.RegistroC100.Add(RegistroC100);

                        //  C114
                        // TODO  Implemente a busca por NF-e na sua retaguarda
                        ListaCupomNFe = new List <Object>();

                        if (ListaCupomNFe != null)
                        {
                            for (int j = 0; j <= ListaCupomNFe.Count - 1; j++)
                            {
                                var RegistroC114 = new RegistroC114();
                                RegistroC114.COD_MOD = "1";
                                RegistroC114.ECF_FAB = "1";
                                RegistroC114.ECF_CX  = "1";
                                RegistroC114.NUM_DOC = "1";
                                RegistroC114.DT_DOC  = DateTime.Now;
                                //RegistroC001.RegistroC100[i].RegistroC110[i].RegistroC114.Add(RegistroC114);
                            }
                        }

                        //  C190
                        // TODO  Implemente a busca por NF-e na sua retaguarda
                        ListaCupomNFe     = new List <Object>();
                        ListaNFeAnalitico = new List <Object>();

                        if (ListaNFeAnalitico != null)
                        {
                            for (int j = 0; j <= ListaNFeAnalitico.Count - 1; j++)
                            {
                                var RegistroC190 = new RegistroC190();
                                RegistroC190.CST_ICMS      = "1";
                                RegistroC190.CFOP          = "1";
                                RegistroC190.ALIQ_ICMS     = 0;
                                RegistroC190.VL_OPR        = 1;
                                RegistroC190.VL_BC_ICMS    = 0;
                                RegistroC190.VL_ICMS       = 0;
                                RegistroC190.VL_BC_ICMS_ST = 0;
                                RegistroC190.VL_ICMS_ST    = 0;
                                RegistroC190.VL_RED_BC     = 0;
                                RegistroC190.VL_IPI        = 0;
                                RegistroC190.COD_OBS       = "";
                                RegistroC100.RegistroC190.Add(RegistroC190);
                            }
                        }
                    }
                }

                if (ListaNF2Cabecalho != null)
                {
                    for (int i = 0; i <= ListaNF2Cabecalho.Count - 1; i++)
                    {
                        var RegistroC350 = new RegistroC350();
                        RegistroC350.SER       = ListaNF2Cabecalho[i].Serie;
                        RegistroC350.SUB_SER   = ListaNF2Cabecalho[i].Subserie;
                        RegistroC350.NUM_DOC   = ListaNF2Cabecalho[i].Numero;
                        RegistroC350.DT_DOC    = Convert.ToDateTime(ListaNF2Cabecalho[i].DataEmissao);
                        RegistroC350.CNPJ_CPF  = ListaNF2Cabecalho[i].CpfCnpjCliente;
                        RegistroC350.VL_MERC   = ListaNF2Cabecalho[i].TotalProdutos;
                        RegistroC350.VL_DOC    = ListaNF2Cabecalho[i].TotalNf;
                        RegistroC350.VL_DESC   = ListaNF2Cabecalho[i].Desconto;
                        RegistroC350.VL_PIS    = ListaNF2Cabecalho[i].Pis;
                        RegistroC350.VL_COFINS = ListaNF2Cabecalho[i].Cofins;
                        RegistroC350.COD_CTA   = "";
                        RegistroC001.RegistroC350.Add(RegistroC350);

                        //  C370
                        ListaC370 = SpedFiscalController.TabelaC370(ListaNF2Cabecalho[i].Id);
                        if (ListaC370 != null)
                        {
                            for (int j = 0; j <= ListaC370.Count - 1; j++)
                            {
                                var RegistroC370 = new RegistroC370();
                                RegistroC370.NUM_ITEM = Convert.ToString(ListaC370[j].Item);
                                RegistroC370.COD_ITEM = Convert.ToString(ListaC370[j].IdProduto);
                                RegistroC370.QTD      = ListaC370[j].Quantidade;
                                RegistroC370.UNID     = Convert.ToString(ListaC370[j].IdUnidade);
                                RegistroC370.VL_ITEM  = ListaC370[j].Valor;
                                RegistroC370.VL_DESC  = ListaC370[j].Desconto;
                                RegistroC001.RegistroC350[i].RegistroC370.Add(RegistroC370);
                            }
                        }


                        //  C390
                        ListaC390 = SpedFiscalController.TabelaC390(ListaNF2Cabecalho[i].Id);
                        if (ListaC390 != null)
                        {
                            for (int l = 0; l <= ListaC390.Count - 1; l++)
                            {
                                var RegistroC390 = new RegistroC390();
                                RegistroC390.CST_ICMS   = ListaC390[l].CST;
                                RegistroC390.CFOP       = Convert.ToString(ListaC390[l].CFOP);
                                RegistroC390.ALIQ_ICMS  = ListaC390[l].TaxaICMS;
                                RegistroC390.VL_OPR     = ListaC390[l].SomaValor;
                                RegistroC390.VL_BC_ICMS = ListaC390[l].SomaBaseICMS;
                                RegistroC390.VL_ICMS    = ListaC390[l].SomaICMS;
                                RegistroC390.VL_RED_BC  = ListaC390[l].SomaICMSOutras;
                                RegistroC001.RegistroC350[i].RegistroC390.Add(RegistroC390);
                            }
                        }
                    }
                }
            }

            // / ///////////
            //  Perfil B  //
            // / ///////////
            if (PerfilApresentacao == 1)
            {
                if (ListaNF2Cabecalho != null)
                {
                    for (int i = 0; i <= ListaNF2Cabecalho.Count - 1; i++)
                    {
                        //  C300
                        var RegistroC300 = new RegistroC300();
                        RegistroC300.COD_MOD   = "02";
                        RegistroC300.SER       = ListaNF2Cabecalho[i].Serie;
                        RegistroC300.SUB       = ListaNF2Cabecalho[i].Subserie;
                        RegistroC300.DT_DOC    = Convert.ToDateTime(ListaNF2Cabecalho[i].DataEmissao);
                        RegistroC300.VL_DOC    = ListaNF2Cabecalho[i].TotalNf;
                        RegistroC300.VL_PIS    = ListaNF2Cabecalho[i].Pis;
                        RegistroC300.VL_COFINS = ListaNF2Cabecalho[i].Cofins;
                        RegistroC300.COD_CTA   = "";
                        RegistroC001.RegistroC300.Add(RegistroC300);
                    }
                }

                if (ListaNF2CabecalhoCanceladas != null)
                {
                    for (int i = 0; i <= ListaNF2CabecalhoCanceladas.Count - 1; i++)
                    {
                        //  C310
                        var RegistroC310 = new RegistroC310();
                        RegistroC310.NUM_DOC_CANC = ListaNF2CabecalhoCanceladas[i].Numero;
                        RegistroC001.RegistroC300[i].RegistroC310.Add(RegistroC310);
                    }
                }

                //  C320 ---> igual ao C390
                ListaC390 = SpedFiscalController.TabelaC390(ListaNF2Cabecalho[0].Id);
                if (ListaC390 != null)
                {
                    for (int l = 0; l <= ListaC390.Count - 1; l++)
                    {
                        var RegistroC320 = new RegistroC320();
                        RegistroC320.CST_ICMS   = ListaC390[l].CST;
                        RegistroC320.CFOP       = Convert.ToString(ListaC390[l].CFOP);
                        RegistroC320.ALIQ_ICMS  = ListaC390[l].TaxaICMS;
                        RegistroC320.VL_OPR     = ListaC390[l].SomaValor;
                        RegistroC320.VL_BC_ICMS = ListaC390[l].SomaBaseICMS;
                        RegistroC320.VL_ICMS    = ListaC390[l].SomaICMS;
                        RegistroC320.VL_RED_BC  = ListaC390[l].SomaICMSOutras;
                        RegistroC001.RegistroC300[0].RegistroC320.Add(RegistroC320);
                    }
                }

                //  C321
                ListaC321 = SpedFiscalController.TabelaC321(DataInicial, DataFinal);
                if (ListaC321 != null)
                {
                    for (int i = 0; i <= ListaC321.Count - 1; i++)
                    {
                        var RegistroC321 = new RegistroC321();

                        RegistroC321.COD_ITEM   = Convert.ToString(ListaC321[i].IdProduto);
                        RegistroC321.QTD        = ListaC321[i].SomaQuantidade;
                        RegistroC321.UNID       = ListaC321[i].DescricaoUnidade;
                        RegistroC321.VL_ITEM    = ListaC321[i].SomaValor;
                        RegistroC321.VL_DESC    = ListaC321[i].SomaDesconto;
                        RegistroC321.VL_BC_ICMS = ListaC321[i].SomaBaseICMS;
                        RegistroC321.VL_ICMS    = ListaC321[i].SomaICMS;
                        RegistroC321.VL_PIS     = ListaC321[i].SomaPIS;
                        RegistroC321.VL_COFINS  = ListaC321[i].SomaCOFINS;
                        RegistroC001.RegistroC300[0].RegistroC320[0].RegistroC321.Add(RegistroC321);
                    }
                }
            } //  if PerfilApresentacao = 1 then

            // / //////////////////
            //  Ambos os Perfis  //
            // / //////////////////
            List <ImpressoraVO> ListaImpressora = new ImpressoraController().TabelaImpressora();

            if (ListaImpressora != null)
            {
                for (int i = 0; i <= ListaImpressora.Count - 1; i++)
                {
                    //  verifica se existe movimento no periodo para aquele ECF
                    ListaR02 = RegistroRController.TabelaR02(DataInicial, DataFinal, ListaImpressora[i].Id);
                    if (ListaR02 != null)
                    {
                        var RegistroC400 = new RegistroC400();
                        RegistroC400.COD_MOD = ListaImpressora[i].ModeloDocumentoFiscal;
                        RegistroC400.ECF_MOD = ListaImpressora[i].Modelo;
                        RegistroC400.ECF_FAB = ListaImpressora[i].Serie;
                        RegistroC400.ECF_CX  = Convert.ToString(ListaImpressora[i].Numero);
                        RegistroC001.RegistroC400.Add(RegistroC400);

                        //  C405
                        for (int j = 0; j <= ListaR02.Count - 1; j++)
                        {
                            var RegistroC405 = new RegistroC405();
                            RegistroC405.DT_DOC      = Convert.ToDateTime(ListaR02[j].DataMovimento);
                            RegistroC405.CRO         = ListaR02[j].CRO;
                            RegistroC405.CRZ         = ListaR02[j].CRZ;
                            RegistroC405.NUM_COO_FIN = ListaR02[j].COO;
                            RegistroC405.GT_FIN      = ListaR02[j].GrandeTotal;
                            RegistroC405.VL_BRT      = ListaR02[j].VendaBruta;
                            RegistroC400.RegistroC405.Add(RegistroC405);

                            //  C420
                            ListaR03 = RegistroRController.TabelaR03(ListaR02[j].Id);
                            if (ListaR03 != null)
                            {
                                for (int k = 0; k <= ListaR03.Count - 1; k++)
                                {
                                    var RegistroC420 = new RegistroC420();
                                    if (ListaR03[k].TotalizadorParcial.Length == 8)
                                    {
                                        RegistroC420.COD_TOT_PAR = ListaR03[k].TotalizadorParcial.Substring(ListaR03[k].TotalizadorParcial.Length, 2);
                                    }
                                    else
                                    {
                                        RegistroC420.COD_TOT_PAR = ListaR03[k].TotalizadorParcial;
                                    }
                                    RegistroC420.VLR_ACUM_TOT = ListaR03[k].ValorAcumulado;
                                    if (RegistroC420.COD_TOT_PAR.Trim().Length == 7)
                                    {
                                        RegistroC420.NR_TOT = Convert.ToInt32(RegistroC420.COD_TOT_PAR.Substring(2, 1));
                                    }
                                    else
                                    {
                                        RegistroC420.NR_TOT = 0;
                                    }
                                    RegistroC405.RegistroC420.Add(RegistroC420);


                                    if (PerfilApresentacao == 1)
                                    {
                                        //  C425
                                        ListaC425 = SpedFiscalController.TabelaC425(ListaR02[j].DataMovimento.ToString("yyyy-mm-dd"), ListaR02[j].DataMovimento.ToString("yyyy-mm-dd"), ListaR03[k].TotalizadorParcial);
                                        if (ListaC425 != null)
                                        {
                                            for (int l = 0; l <= ListaC425.Count - 1; l++)
                                            {
                                                var RegistroC425 = new RegistroC425();

                                                RegistroC425.COD_ITEM  = Convert.ToString(ListaC425[l].IdProduto);
                                                RegistroC425.UNID      = Convert.ToString(ListaC425[l].IdUnidade);
                                                RegistroC425.QTD       = ListaC425[l].SomaQuantidade;
                                                RegistroC425.VL_ITEM   = ListaC425[l].SomaValor;
                                                RegistroC425.VL_PIS    = ListaC425[l].SomaPIS;
                                                RegistroC425.VL_COFINS = ListaC425[l].SomaCOFINS;
                                                RegistroC420.RegistroC425.Add(RegistroC425);
                                            }
                                        }
                                    }
                                }
                            }

                            //  se tiver o perfil A, gera o C460 com C470
                            if (PerfilApresentacao == 0)
                            {
                                //  C460
                                ListaR04 = RegistroRController.TabelaR04(ListaR02[j].DataMovimento.ToString("yyyy-mm-dd"), ListaR02[j].DataMovimento.ToString("yyyy-mm-dd"), ListaImpressora[i].Id);
                                if (ListaR04 != null)
                                {
                                    for (int l = 0; l <= ListaR04.Count - 1; l++)
                                    {
                                        var RegistroC460 = new RegistroC460();
                                        RegistroC460.COD_MOD = "2D";
                                        if (ListaR04[l].Cancelado == "S")
                                        {
                                            RegistroC460.COD_SIT = SituacaoDocto.Cancelado;
                                        }
                                        else
                                        {
                                            RegistroC460.COD_SIT = SituacaoDocto.Regular;
                                        }

                                        if (RegistroC460.COD_SIT == SituacaoDocto.Regular)
                                        {
                                            RegistroC460.DT_DOC   = ListaR04[l].DataEmissao;
                                            RegistroC460.VL_DOC   = ListaR04[l].ValorLiquido;
                                            RegistroC460.VL_PIS   = ListaR04[l].PIS;
                                            RegistroC460.VL_PIS   = ListaR04[l].COFINS;
                                            RegistroC460.CPF_CNPJ = ListaR04[l].CPFCNPJ;
                                            RegistroC460.NOM_ADQ  = ListaR04[l].Cliente;
                                        }
                                        RegistroC460.NUM_DOC = Convert.ToString(ListaR04[l].COO);
                                        RegistroC405.RegistroC460.Add(RegistroC460);

                                        if (RegistroC460.COD_SIT == SituacaoDocto.Regular)
                                        {
                                            //  C470
                                            ListaR05 = RegistroRController.TabelaR05(ListaR04[l].Id, "Sped");
                                            if (ListaR05 != null)
                                            {
                                                for (int m = 0; m <= ListaR05.Count - 1; m++)
                                                {
                                                    var RegistroC470 = new RegistroC470();
                                                    RegistroC470.COD_ITEM  = Convert.ToString(ListaR05[m].IdProduto);
                                                    RegistroC470.QTD       = ListaR05[m].Quantidade;
                                                    RegistroC470.QTD_CANC  = ListaR05[m].QuantidadeCancelada;
                                                    RegistroC470.UNID      = Convert.ToString(ListaR05[m].IdUnidade);
                                                    RegistroC470.VL_ITEM   = ListaR05[m].TotalItem;
                                                    RegistroC470.CST_ICMS  = ListaR05[m].CST;
                                                    RegistroC470.CFOP      = Convert.ToString(ListaR05[m].CFOP);
                                                    RegistroC470.ALIQ_ICMS = ListaR05[m].AliquotaICMS;
                                                    RegistroC470.VL_PIS    = ListaR05[m].PIS;
                                                    RegistroC470.VL_COFINS = ListaR05[m].COFINS;
                                                    RegistroC460.RegistroC470.Add(RegistroC470);
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            //  C490
                            ListaC490 = SpedFiscalController.TabelaC490(RegistroC405.DT_DOC.ToString("yyyy-mm-dd"), DataFinal);
                            if (ListaC490 != null)
                            {
                                for (int g = 0; g <= ListaC490.Count - 1; g++)
                                {
                                    var RegistroC490 = new RegistroC490();

                                    RegistroC490.CST_ICMS   = ListaC490[g].CST;
                                    RegistroC490.CFOP       = Convert.ToString(ListaC490[g].CFOP);
                                    RegistroC490.ALIQ_ICMS  = ListaC490[g].TaxaICMS;
                                    RegistroC490.VL_OPR     = ListaC490[g].SomaValor;
                                    RegistroC490.VL_BC_ICMS = ListaC490[g].SomaBaseICMS;
                                    RegistroC490.VL_ICMS    = ListaC490[g].SomaICMS;
                                    RegistroC405.RegistroC490.Add(RegistroC490);
                                }
                            }
                        }
                    }
                }
            }
        }