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);
                    }
                }
            }
        }