private void ProcessarDetalhesNotasFiscaisMercadorias(RegistroC100 regC100, string codEmp)
        {
            this.UpdateStatusAsynchronousExecution("Processando detalhes de documento fiscal");

            // Processa possíveis informações de importação
            this.UpdateStatusAsynchronousExecution("Processando informações de importação");
            IEnumerable <RegistroC120> registrosC120 =
                NotasFiscaisMercadoriasService.GetRegistrosC120(regC100.PK_NOTAFIS, codEmp);

            foreach (RegistroC120 regC120 in registrosC120)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro C120");
                DadosArquivoPisCofinsService.PersistirRegistro(regC120);
            }

            // Processsa informações dos itens da nota fiscal
            this.UpdateStatusAsynchronousExecution("Processando itens de documento fiscal");
            IEnumerable <RegistroC170> registrosC170 =
                NotasFiscaisMercadoriasService.GetRegistrosC170(regC100.PK_NOTAFIS, codEmp);

            foreach (RegistroC170 regC170 in registrosC170)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro C170");
                DadosArquivoPisCofinsService.PersistirRegistro(regC170);

                this.ProcessarUnidade(regC170.UNID, codEmp);
                this.ProcessarProduto(regC170.COD_ITEM, codEmp);
            }
        }
Ejemplo n.º 2
0
        private void ProcessarNotasFiscaisMercadorias()
        {
            try
            {
                IEnumerable <RegistroC100> registrosC100 =
                    NotasFiscaisMercadoriasService.GetRegistrosC100();
                foreach (RegistroC100 regC100 in registrosC100)
                {
                    try
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registro C100");
                        DadosArquivoFiscalService.PersistirRegistro(regC100);

                        // Processa informações do cliente ou fornecedor vinculado a uma nota fiscal
                        this.ProcessarParticipante(regC100.COD_PART);

                        if (regC100.ST_DOC_CANCELADO != "S") // Não persiste registros filhos caso haja cancelamento
                        {
                            this.ProcessarDetalhesNotasFiscaisMercadorias(regC100);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 3
0
        private void ProcessarDetalhesNotasFiscaisMercadorias(RegistroC100 regC100)
        {
            try
            {
                this.UpdateStatusAsynchronousExecution("Processando detalhes de documento fiscal");

                // Processsa informações dos itens da nota fiscal
                this.UpdateStatusAsynchronousExecution("Processando itens de documento fiscal");
                IEnumerable <RegistroC170> registrosC170 =
                    NotasFiscaisMercadoriasService.GetRegistrosC170(regC100.PK_NOTAFIS);
                foreach (RegistroC170 regC170 in registrosC170)
                {
                    this.UpdateStatusAsynchronousExecution("Gerando Registro C170");
                    DadosArquivoFiscalService.PersistirRegistro(regC170);

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

                try
                {
                    // Processa informações de impostos agrupadas por Situação Tributária, CFOP e
                    // Alíquota de ICMS
                    this.UpdateStatusAsynchronousExecution("Processando impostos de documento fiscal");
                    IEnumerable <RegistroC190> registrosC190 =
                        NotasFiscaisMercadoriasService.GetRegistrosC190(regC100.PK_NOTAFIS);
                    foreach (RegistroC190 regC190 in registrosC190)
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registro C190");
                        DadosArquivoFiscalService.PersistirRegistro(regC190);
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }