public void CriarEnviarCTe2e3() { var config = new ConfiguracaoDao().BuscarConfiguracao(); CarregarConfiguracoes(config); var cteEletronico = new CteEletronico(); #region infCte cteEletronico.infCte = new infCte(); cteEletronico.infCte.versao = config.ConfigWebService.Versao; #endregion #region ide cteEletronico.infCte.ide = new ide(); cteEletronico.infCte.ide.cUF = config.Empresa.SiglaUf; cteEletronico.infCte.ide.cCT = GetRandom(); cteEletronico.infCte.ide.CFOP = 5353; cteEletronico.infCte.ide.natOp = "PRESTAÇÃO DE SERVICO DE TRANSPORTE CT-E EXEMPLO"; if (config.ConfigWebService.Versao == versao.ve200) { cteEletronico.infCte.ide.forPag = forPag.Pago; } cteEletronico.infCte.ide.mod = ModeloDocumento.CTe; cteEletronico.infCte.ide.serie = config.ConfigWebService.Serie; cteEletronico.infCte.ide.nCT = config.ConfigWebService.Numeracao; cteEletronico.infCte.ide.dhEmi = DateTimeOffset.Now; cteEletronico.infCte.ide.tpImp = tpImp.Retrado; cteEletronico.infCte.ide.tpEmis = tpEmis.teNormal; cteEletronico.infCte.ide.tpAmb = config.ConfigWebService.Ambiente; // o serviço adicionara automaticamente isso para você cteEletronico.infCte.ide.tpCTe = tpCTe.Normal; cteEletronico.infCte.ide.procEmi = procEmi.AplicativoContribuinte; cteEletronico.infCte.ide.verProc = "0.0.0.1"; cteEletronico.infCte.ide.cMunEnv = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.ide.xMunEnv = config.Empresa.NomeMunicipio; cteEletronico.infCte.ide.UFEnv = config.Empresa.SiglaUf; cteEletronico.infCte.ide.modal = modal.rodoviario; cteEletronico.infCte.ide.tpServ = tpServ.normal; cteEletronico.infCte.ide.cMunIni = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.ide.xMunIni = config.Empresa.NomeMunicipio; cteEletronico.infCte.ide.UFIni = config.Empresa.SiglaUf; cteEletronico.infCte.ide.cMunFim = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.ide.xMunFim = config.Empresa.NomeMunicipio; cteEletronico.infCte.ide.UFFim = config.Empresa.SiglaUf; cteEletronico.infCte.ide.retira = retira.Nao; if (config.ConfigWebService.Versao == versao.ve300) { cteEletronico.infCte.ide.indIEToma = indIEToma.ContribuinteIcms; } if (config.ConfigWebService.Versao == versao.ve200) { cteEletronico.infCte.ide.tomaBase3 = new toma03 { toma = toma.Remetente }; } if (config.ConfigWebService.Versao == versao.ve300) { cteEletronico.infCte.ide.tomaBase3 = new toma3 { toma = toma.Remetente }; } #endregion #region emit cteEletronico.infCte.emit = new emit(); cteEletronico.infCte.emit.CNPJ = config.Empresa.Cnpj; cteEletronico.infCte.emit.IE = config.Empresa.InscricaoEstadual; cteEletronico.infCte.emit.xNome = config.Empresa.Nome; cteEletronico.infCte.emit.xFant = config.Empresa.NomeFantasia; cteEletronico.infCte.emit.enderEmit = new enderEmit(); cteEletronico.infCte.emit.enderEmit.xLgr = config.Empresa.Logradouro; cteEletronico.infCte.emit.enderEmit.nro = config.Empresa.Numero; cteEletronico.infCte.emit.enderEmit.xCpl = config.Empresa.Complemento; cteEletronico.infCte.emit.enderEmit.xBairro = config.Empresa.Bairro; cteEletronico.infCte.emit.enderEmit.cMun = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.emit.enderEmit.xMun = config.Empresa.NomeMunicipio; cteEletronico.infCte.emit.enderEmit.CEP = long.Parse(config.Empresa.Cep); cteEletronico.infCte.emit.enderEmit.UF = config.Empresa.SiglaUf; cteEletronico.infCte.emit.enderEmit.fone = config.Empresa.Telefone; #endregion // Remetente , no caso adicionei os mesmos dados do emitente.. mas seriam o do remente. #region rem cteEletronico.infCte.rem = new rem(); cteEletronico.infCte.rem.CNPJ = config.Empresa.Cnpj; cteEletronico.infCte.rem.IE = config.Empresa.InscricaoEstadual; cteEletronico.infCte.rem.xNome = config.Empresa.Nome; cteEletronico.infCte.rem.xFant = config.Empresa.NomeFantasia; cteEletronico.infCte.rem.fone = config.Empresa.Telefone; cteEletronico.infCte.rem.enderReme = new enderReme(); cteEletronico.infCte.rem.enderReme.xLgr = config.Empresa.Logradouro; cteEletronico.infCte.rem.enderReme.nro = config.Empresa.Numero; cteEletronico.infCte.rem.enderReme.xCpl = config.Empresa.Complemento; cteEletronico.infCte.rem.enderReme.xBairro = config.Empresa.Bairro; cteEletronico.infCte.rem.enderReme.cMun = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.rem.enderReme.xMun = config.Empresa.NomeMunicipio; cteEletronico.infCte.rem.enderReme.CEP = long.Parse(config.Empresa.Cep); cteEletronico.infCte.rem.enderReme.UF = config.Empresa.SiglaUf; #endregion // Destinatário #region dest cteEletronico.infCte.dest = new dest(); cteEletronico.infCte.dest.CNPJ = config.Empresa.Cnpj; cteEletronico.infCte.dest.IE = config.Empresa.InscricaoEstadual; cteEletronico.infCte.dest.xNome = config.Empresa.Nome; cteEletronico.infCte.dest.fone = config.Empresa.Telefone; cteEletronico.infCte.dest.enderDest = new enderDest(); cteEletronico.infCte.dest.enderDest.xLgr = config.Empresa.Logradouro; cteEletronico.infCte.dest.enderDest.nro = config.Empresa.Numero; cteEletronico.infCte.dest.enderDest.xCpl = config.Empresa.Complemento; cteEletronico.infCte.dest.enderDest.xBairro = config.Empresa.Bairro; cteEletronico.infCte.dest.enderDest.cMun = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.dest.enderDest.xMun = config.Empresa.NomeMunicipio; cteEletronico.infCte.dest.enderDest.CEP = long.Parse(config.Empresa.Cep); cteEletronico.infCte.dest.enderDest.UF = config.Empresa.SiglaUf; #endregion #region vPrest cteEletronico.infCte.vPrest = new vPrest(); cteEletronico.infCte.vPrest.vTPrest = 100m; cteEletronico.infCte.vPrest.vRec = 100m; #endregion #region imp cteEletronico.infCte.imp = new imp(); cteEletronico.infCte.imp.ICMS = new ICMS(); var icmsSimplesNacional = new ICMSSN(); cteEletronico.infCte.imp.ICMS.TipoICMS = icmsSimplesNacional; if (config.ConfigWebService.Versao == versao.ve300) { icmsSimplesNacional.CST = CST.ICMS90; } #endregion #region infCTeNorm cteEletronico.infCte.infCTeNorm = new infCTeNorm(); cteEletronico.infCte.infCTeNorm.infCarga = new infCarga(); cteEletronico.infCte.infCTeNorm.infCarga.vCarga = 1000m; cteEletronico.infCte.infCTeNorm.infCarga.proPred = "Linguiça com piqui"; cteEletronico.infCte.infCTeNorm.infCarga.infQ = new List <infQ>(); cteEletronico.infCte.infCTeNorm.infCarga.infQ.Add(new infQ { cUnid = cUnid.KG, qCarga = 10000, tpMed = "quilos gramas" }); cteEletronico.infCte.infCTeNorm.infDoc = new infDoc(); cteEletronico.infCte.infCTeNorm.infDoc.infNFe = new List <infNFe>(); cteEletronico.infCte.infCTeNorm.infDoc.infNFe.Add(new infNFe { chave = "52161021025760000123550010000087341557247948" }); if (config.ConfigWebService.Versao == versao.ve200) { cteEletronico.infCte.infCTeNorm.seg = new List <seg>(); cteEletronico.infCte.infCTeNorm.seg.Add(new seg { respSeg = respSeg.Destinatario }); } cteEletronico.infCte.infCTeNorm.infModal = new infModal(); if (config.ConfigWebService.Versao == versao.ve200) { cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM200; } if (config.ConfigWebService.Versao == versao.ve300) { cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM300; } var rodoviario = new rodo(); rodoviario.RNTRC = config.Empresa.RNTRC; if (config.ConfigWebService.Versao == versao.ve200) { rodoviario.dPrev = DateTime.Now; rodoviario.lota = lota.Nao; } cteEletronico.infCte.infCTeNorm.infModal.ContainerModal = rodoviario; #endregion var numeroLote = InputBoxTuche("Número Lote"); var servicoRecepcao = new ServicoCTeRecepcao(); // Evento executado antes do envio do CT-e para o WebService // servicoRecepcao.AntesDeEnviar += AntesEnviarLoteCte; var retornoEnvio = servicoRecepcao.CTeRecepcao(int.Parse(numeroLote), new List <CteEletronico> { cteEletronico }); OnSucessoSync(new RetornoEEnvio(retornoEnvio)); config.ConfigWebService.Numeracao++; new ConfiguracaoDao().SalvarConfiguracao(config); }
private void GetRodoviarioPrincipal() { try { objRodo = new rodo(); foreach (DataRow row in daoManifesto.GetVeiculoTracao(objManifesto.sequencia).Rows) { objRodo.RNTRC = row["RNTRC"].ToString(); objRodo.CIOT = row["CIOT"].ToString(); if (objRodo.CIOT == "") { objRodo.CIOT = null; } objRodo.veicTracao = new rodoVeicTracao(); objRodo.veicTracao.cInt = row["cInt"].ToString(); objRodo.veicTracao.placa = row["placa"].ToString(); objRodo.veicTracao.tara = row["tara"].ToString(); objRodo.veicTracao.capKG = row["capKG"].ToString(); objRodo.veicTracao.capM3 = row["capM3"].ToString(); if (row["st_veiculo"].ToString().Equals("N")) { objRodo.veicTracao.prop = daoManifesto.GetVeiculoProp(objManifesto.sequencia).AsEnumerable().Select(c => new rodoVeicTracaoProp { IE = c["IE"].ToString().Replace(".", "").Trim(), RNTRC = c["RNTRC"].ToString(), tpProp = c["tpProp"].ToString().Equals("P") ? rodoVeicTracaoPropTpProp.Item0 : rodoVeicTracaoPropTpProp.Item1, UF = c["UF"].ToString(), xNome = c["xNome"].ToString(), Item = Util.RetiraCaracterCNPJ(c["CNPJ"].ToString()), }).FirstOrDefault(); objRodo.veicTracao.prop.ItemElementName = objRodo.veicTracao.prop.Item.ToString().Count() == 14 ? ItemChoiceType.CNPJ : ItemChoiceType.CPF; objRodo.veicTracao.condutor = daoManifesto.GetMotorista(objManifesto.sequencia).AsEnumerable().Select(c => new rodoVeicTracaoCondutor { xNome = c["xNome"].ToString(), CPF = Util.RetiraCaracterCNPJ(c["cpf"].ToString()) }).ToArray(); } } objRodo.veicReboque = new List <rodoVeicReboque>(); foreach (DataRow c in daoManifesto.GetVeiculoReboque(objManifesto.sequencia).AsEnumerable()) { rodoVeicReboque reboc = new rodoVeicReboque { capKG = c["capKG"].ToString(), capM3 = c["capM3"].ToString(), cInt = c["cInt"].ToString(), placa = c["placa"].ToString(), tara = c["tara"].ToString(), tpCar = c["tpCar"].ToString().Equals("0") ? rodoVeicReboqueTpCar.Item00 : rodoVeicReboqueTpCar.Item01, //VERIFICAR UF = c["UF"].ToString() }; if (c["st_proprietario"].ToString().Equals("S")) { reboc.prop = new rodoVeicReboqueProp(); reboc.prop.Item = Util.RetiraCaracterCNPJ(c["CNPJ"].ToString()); reboc.prop.ItemElementName = reboc.prop.Item.ToString().Count() == 14 ? ItemChoiceType1.CNPJ : ItemChoiceType1.CPF; reboc.prop.RNTRC = c["RNTRC"].ToString(); reboc.prop.xNome = c["xNome"].ToString(); reboc.prop.IE = c["IE"].ToString().Replace(".", "").Trim(); reboc.prop.UF = c["UF"].ToString(); reboc.prop.tpProp = c["tpProp"].ToString().Equals("0") ? rodoVeicReboquePropTpProp.Item0 : rodoVeicReboquePropTpProp.Item1; } objRodo.veicReboque.Add(reboc); } foreach (DataRow c in daoManifesto.GetValePed(objManifesto.sequencia).Rows) { if (objRodo.valePed == null) { objRodo.valePed = new List <rodoDisp>(); } objRodo.valePed.Add(new rodoDisp { CNPJForn = Util.RetiraCaracterCNPJ(c["CNPJForn"].ToString()), CNPJPg = Util.RetiraCaracterCNPJ(c["CNPJPg"].ToString()), nCompra = c["nCompra"].ToString() });; } } catch (Exception ex) { throw ex; } }
private static async Task CriarEnviarCTeConsultaReciboAutomatico2e3() { var config = new ConfiguracaoDao().BuscarConfiguracao(); CarregarConfiguracoes(config); #region infCte var cteEletronico = new CteEletronico { infCte = new infCte { versao = config.ConfigWebService.Versao, ide = new ide { cUF = config.Empresa.SiglaUf, cCT = GetRandom(), CFOP = 5353, natOp = "PRESTAÇÃO DE SERVICO DE TRANSPORTE CT-E EXEMPLO" } } }; #endregion #region ide if (config.ConfigWebService.Versao == versao.ve200) { cteEletronico.infCte.ide.forPag = forPag.Pago; } cteEletronico.infCte.ide.mod = ModeloDocumento.CTe; cteEletronico.infCte.ide.serie = config.ConfigWebService.Serie; cteEletronico.infCte.ide.nCT = config.ConfigWebService.Numeracao; cteEletronico.infCte.ide.dhEmi = DateTime.Now; cteEletronico.infCte.ide.tpImp = tpImp.Retrado; cteEletronico.infCte.ide.tpEmis = tpEmis.teNormal; cteEletronico.infCte.ide.tpAmb = config.ConfigWebService.Ambiente; // o serviço adicionara automaticamente isso para você cteEletronico.infCte.ide.tpCTe = tpCTe.Normal; cteEletronico.infCte.ide.procEmi = procEmi.AplicativoContribuinte; cteEletronico.infCte.ide.verProc = "0.0.0.1"; cteEletronico.infCte.ide.cMunEnv = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.ide.xMunEnv = config.Empresa.NomeMunicipio; cteEletronico.infCte.ide.UFEnv = config.Empresa.SiglaUf; cteEletronico.infCte.ide.modal = modal.rodoviario; cteEletronico.infCte.ide.tpServ = tpServ.normal; cteEletronico.infCte.ide.cMunIni = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.ide.xMunIni = config.Empresa.NomeMunicipio; cteEletronico.infCte.ide.UFIni = config.Empresa.SiglaUf; cteEletronico.infCte.ide.cMunFim = config.Empresa.CodigoIbgeMunicipio; cteEletronico.infCte.ide.xMunFim = config.Empresa.NomeMunicipio; cteEletronico.infCte.ide.UFFim = config.Empresa.SiglaUf; cteEletronico.infCte.ide.retira = retira.Nao; switch (config.ConfigWebService.Versao) { case versao.ve300: cteEletronico.infCte.ide.indIEToma = indIEToma.ContribuinteIcms; cteEletronico.infCte.ide.tomaBase3 = new toma3 { toma = toma.Remetente }; break; case versao.ve200: cteEletronico.infCte.ide.tomaBase3 = new toma03 { toma = toma.Remetente }; break; } #endregion #region emit cteEletronico.infCte.emit = new emit { CNPJ = config.Empresa.Cnpj, IE = config.Empresa.InscricaoEstadual, xNome = config.Empresa.Nome, xFant = config.Empresa.NomeFantasia, enderEmit = new enderEmit { xLgr = config.Empresa.Logradouro, nro = config.Empresa.Numero, xCpl = config.Empresa.Complemento, xBairro = config.Empresa.Bairro, cMun = config.Empresa.CodigoIbgeMunicipio, xMun = config.Empresa.NomeMunicipio, CEP = long.Parse(config.Empresa.Cep), UF = config.Empresa.SiglaUf, fone = config.Empresa.Telefone } }; #endregion // Remetente , no caso adicionei os mesmos dados do emitente.. mas seriam o do remente. #region rem cteEletronico.infCte.rem = new rem { CNPJ = config.Empresa.Cnpj, IE = config.Empresa.InscricaoEstadual, xNome = config.Empresa.Nome, xFant = config.Empresa.NomeFantasia, fone = config.Empresa.Telefone, enderReme = new enderReme { xLgr = config.Empresa.Logradouro, nro = config.Empresa.Numero, xCpl = config.Empresa.Complemento, xBairro = config.Empresa.Bairro, cMun = config.Empresa.CodigoIbgeMunicipio, xMun = config.Empresa.NomeMunicipio, CEP = long.Parse(config.Empresa.Cep), UF = config.Empresa.SiglaUf } }; #endregion // Destinatário #region dest cteEletronico.infCte.dest = new dest { CNPJ = config.Empresa.Cnpj, IE = config.Empresa.InscricaoEstadual, xNome = config.Empresa.Nome, fone = config.Empresa.Telefone, enderDest = new enderDest { xLgr = config.Empresa.Logradouro, nro = config.Empresa.Numero, xCpl = config.Empresa.Complemento, xBairro = config.Empresa.Bairro, cMun = config.Empresa.CodigoIbgeMunicipio, xMun = config.Empresa.NomeMunicipio, CEP = long.Parse(config.Empresa.Cep), UF = config.Empresa.SiglaUf } }; #endregion #region vPrest cteEletronico.infCte.vPrest = new vPrest { vTPrest = 100m, vRec = 100m }; #endregion #region imp cteEletronico.infCte.imp = new imp { ICMS = new ICMS() }; var icmsSimplesNacional = new ICMSSN(); cteEletronico.infCte.imp.ICMS.TipoICMS = icmsSimplesNacional; if (config.ConfigWebService.Versao == versao.ve300) { icmsSimplesNacional.CST = CST.ICMS90; } #endregion #region infCTeNorm cteEletronico.infCte.infCTeNorm = new infCTeNorm { infCarga = new infCarga { vCarga = 1000m, proPred = "Linguiça com piqui", infQ = new List <infQ> { new infQ { cUnid = cUnid.KG, qCarga = 10000, tpMed = "quilos gramas" } } } }; cteEletronico.infCte.infCTeNorm.infDoc = new infDoc { infNFe = new List <infNFe> { new infNFe { chave = "52161021025760000123550010000087341557247948" } } }; if (config.ConfigWebService.Versao == versao.ve200) { cteEletronico.infCte.infCTeNorm.seg = new List <seg> { new seg { respSeg = respSeg.Destinatario } } } ; cteEletronico.infCte.infCTeNorm.infModal = new infModal(); switch (config.ConfigWebService.Versao) { case versao.ve200: cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM200; break; case versao.ve300: cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM300; break; } var rodoviario = new rodo { RNTRC = config.Empresa.RNTRC }; if (config.ConfigWebService.Versao == versao.ve200) { rodoviario.dPrev = DateTime.Now; rodoviario.lota = lota.Nao; } cteEletronico.infCte.infCTeNorm.infModal.ContainerModal = rodoviario; #endregion var numeroLote = RequisitarInput("Número Lote"); var servico = new ServicoEnviarCte(); var retorno = await servico.Enviar(Convert.ToInt32(numeroLote), cteEletronico); var xmlRetorno = string.Empty; if (retorno.CteProc != null) { xmlRetorno = retorno.CteProc.ObterXmlString(); } if (retorno.RetConsReciCTe.protCTe[0].infProt.cStat != 100) { xmlRetorno = retorno.RetConsReciCTe.RetornoXmlString; } OnSucessoSync(new RetornoEEnvio(retorno.RetEnviCte.EnvioXmlString, xmlRetorno)); config.ConfigWebService.Numeracao++; new ConfiguracaoDao().SalvarConfiguracao(config); }
private void btnImpressao_Click(object sender, EventArgs e) { try { List <PesquisaManifestosModel> objSelect = this.objPesquisa.resultado.Where(c => c.bEnviado == true && c.recibo != "" && c.bSeleciona && c.protocolo != "" ).ToList(); dsMdfe = new dsMDFe(); foreach (PesquisaManifestosModel item in objSelect) { rowMdfe = dsMdfe.MDFe.NewMDFeRow(); Byte[] bimagem = SalvaCodBarras(item.chaveMDFe); rowMdfe.barras = bimagem; rowMdfe.logotipo = Util.CarregaLogoEmpresa(); string sPath = ""; if (item.bCancelado) { sPath = Util.BuscaCaminhoArquivoXml(item.chaveMDFe, 2, true); } else { sPath = Util.BuscaCaminhoArquivoXml(item.chaveMDFe, 2); } XmlDocument xml = new XmlDocument(); xml.Load(sPath); XmlNodeList node = xml.GetElementsByTagName("infModal"); mdfeProc objEnvi = SerializeClassToXml.DeserializeClasse <mdfeProc>(sPath); rodo objRodo = SerializeClassToXml.DeserializeClasseString <rodo>(node[0].InnerXml.ToString()); rowMdfe.xEmpresa = string.Format("{0}{10}CNPJ:{1} - IE:{2}, RNTRC:{3} - Logradouro:{4}, nº{5} - Bairro:{6}, {7}/{8} Cep:{9}", objEnvi.enviMDFe.MDFe.infMDFe.emit.xNome, objEnvi.enviMDFe.MDFe.infMDFe.emit.CNPJ, objEnvi.enviMDFe.MDFe.infMDFe.emit.IE, objRodo.RNTRC, objEnvi.enviMDFe.MDFe.infMDFe.emit.enderEmit.xLgr, objEnvi.enviMDFe.MDFe.infMDFe.emit.enderEmit.nro, objEnvi.enviMDFe.MDFe.infMDFe.emit.enderEmit.xBairro, objEnvi.enviMDFe.MDFe.infMDFe.emit.enderEmit.UF, objEnvi.enviMDFe.MDFe.infMDFe.emit.enderEmit.xMun, objEnvi.enviMDFe.MDFe.infMDFe.emit.enderEmit.CEP, Environment.NewLine); rowMdfe.ufCarreg = objEnvi.enviMDFe.MDFe.infMDFe.ide.UFIni; rowMdfe.numero = item.numero; rowMdfe.chave = item.chaveMDFe; rowMdfe.protocolo = item.protocolo; rowMdfe.serie = objEnvi.enviMDFe.MDFe.infMDFe.ide.serie; rowMdfe.dataEmissao = Convert.ToDateTime(objEnvi.enviMDFe.MDFe.infMDFe.ide.dhEmi).ToShortDateString(); rowMdfe.CIOT = objRodo.CIOT; rowMdfe.qtdeCT = objEnvi.enviMDFe.MDFe.infMDFe.tot.qCT == null ? "0" : objEnvi.enviMDFe.MDFe.infMDFe.tot.qCT.ToString(); rowMdfe.qtdeCTE = objEnvi.enviMDFe.MDFe.infMDFe.tot.qCTe == null ? "0" : objEnvi.enviMDFe.MDFe.infMDFe.tot.qCTe; rowMdfe.qtdeNF = objEnvi.enviMDFe.MDFe.infMDFe.tot.qNF == null ? "0" : objEnvi.enviMDFe.MDFe.infMDFe.tot.qNF; rowMdfe.qtdeNFe = objEnvi.enviMDFe.MDFe.infMDFe.tot.qNFe == null ? "0" : objEnvi.enviMDFe.MDFe.infMDFe.tot.qNFe; rowMdfe.pesoTotal = objEnvi.enviMDFe.MDFe.infMDFe.tot.qCarga; rowMdfe.veicPlaca = objRodo.veicTracao.placa + Environment.NewLine; foreach (var v in objRodo.veicReboque) { rowMdfe.veicPlaca += v.placa + Environment.NewLine; } if (objRodo.veicTracao.prop != null) { rowMdfe.veicRNTRC = objRodo.veicTracao.prop.RNTRC + Environment.NewLine; } foreach (var v in objRodo.veicReboque) { if (v.prop != null) { rowMdfe.veicRNTRC += v.prop.RNTRC + Environment.NewLine; } } if (objRodo.veicTracao.condutor != null) { foreach (var cond in objRodo.veicTracao.condutor) { rowMdfe.Condutor_cpf += cond.CPF + Environment.NewLine; rowMdfe.Condutor_Nome += cond.xNome + Environment.NewLine; } } if (objRodo.valePed != null) { foreach (var vale in objRodo.valePed) { rowMdfe.Pedagio_Resp_cnp += vale.CNPJPg + Environment.NewLine; rowMdfe.Pedagio_Forn_cnpj += vale.CNPJForn + Environment.NewLine; rowMdfe.Pedagio_comprovante += vale.nCompra + Environment.NewLine; } } string sDocEletronico = "{0} - Chave: {1}{2}"; rowMdfe.documentos_Fiscais = ""; foreach (var doc in objEnvi.enviMDFe.MDFe.infMDFe.infDoc) { if (doc.infCTe != null) { foreach (var cte in doc.infCTe) { rowMdfe.documentos_Fiscais += string.Format(sDocEletronico, "CTe", cte.chCTe, Environment.NewLine); } } if (doc.infNFe != null) { foreach (var nfe in doc.infNFe) { rowMdfe.documentos_Fiscais += string.Format(sDocEletronico, "NFe", nfe.chNFe, Environment.NewLine); } } if (doc.infNF != null) { foreach (var nf in doc.infNF) { rowMdfe.documentos_Fiscais += string.Format("{0} - CNPJ{1} - Serie:{2} - Nº {3}{4}", "NF", nf.CNPJ, nf.serie, nf.nNF, Environment.NewLine); } } if (doc.infCT != null) { foreach (var ct in doc.infCT) { rowMdfe.documentos_Fiscais += string.Format("{0} - Serie:{1} - Nº {2}{3}", "CT", ct.serie, ct.nCT, Environment.NewLine); } } } if (objEnvi.enviMDFe.MDFe.infMDFe.infAdic != null) { rowMdfe.observacao = objEnvi.enviMDFe.MDFe.infMDFe.infAdic.infCpl; } if (item.bCancelado) { rowMdfe.observacao = "***** CONHECIMENTO CANCELADO *****" + Environment.NewLine + rowMdfe.observacao; } // objPrint.ldados.Add(obj); dsMdfe.MDFe.Rows.Add(rowMdfe); } Print(); } catch (Exception ex) { throw new HLPexception(ex); } }