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