Exemple #1
0
        private void ProcessarProduto(string codigoProduto)
        {
            if (String.IsNullOrWhiteSpace(codigoProduto))
            {
                return;
            }

            IEnumerable <Registro0220> lreg220;

            if (!DadosArquivoFiscalService.RegistroJaExistente("0200", codigoProduto))
            {
                // Apenas persiste uma unidade se a mesma ainda não tiver sido processada
                this.UpdateStatusAsynchronousExecution("Gerando Registro 0200");
                Registro0200 reg0200 = ProdutosService.GetRegistro0200(codigoProduto);
                if (reg0200 != null)
                {
                    DadosArquivoFiscalService.PersistirRegistro(reg0200);
                    this.ProcessarUnidade(reg0200.UNID_INV);

                    lreg220 = ProdutosService.GetRegistros0220(reg0200.COD_ITEM);
                    foreach (Registro0220 item in lreg220)
                    {
                        this.UpdateStatusAsynchronousExecution("Gerando Registros 0220");
                        //item.FAT_CONV
                        if (!DadosArquivoFiscalService.RegistroJaExistente("0190", item.UNID_CONV))
                        {
                            // Apenas persiste uma unidade se a mesma ainda não tiver sido processada
                            this.UpdateStatusAsynchronousExecution("Gerando Registro 0190");
                            Registro0190 reg0190 = UnidadesService.GetRegistro0190(item.UNID_CONV);
                            if (reg0190 != null)
                            {
                                DadosArquivoFiscalService.PersistirRegistro(reg0190);
                            }
                        }
                        DadosArquivoFiscalService.PersistirRegistro(item);
                    }
                }
            }
        }
        private void ProcessarProduto(string codigoProduto, string codEmp)
        {
            if (String.IsNullOrWhiteSpace(codigoProduto))
            {
                return;
            }

            Registro0200 reg0200 = ProdutosService.GetRegistro0200(codigoProduto, codEmp);

            if (reg0200 != null)
            {
                //if (!DadosArquivoPisCofinsService.RegistroJaExistente("0200", codigoProduto))
                if (produtos.Where(c => c.codEmp == codEmp && c.registro.ToString() == reg0200.ToString()).Count() == 0)
                {
                    // Apenas persiste uma unidade se a mesma ainda não tiver sido processada
                    //this.UpdateStatusAsynchronousExecution("Gerando Registro 0200");
                    //DadosArquivoPisCofinsService.PersistirRegistro(reg0200);
                    produtos.Add(new validacao {
                        codEmp = codEmp, registro = reg0200
                    });
                    this.ProcessarUnidade(reg0200.UNID_INV, codEmp);
                }
            }
        }