private void btnGeraPdf_Click(object sender, EventArgs e) { try { List<DadosImpressao> objListDados = new List<DadosImpressao>(); FileInfo[] fArquivoImprimir = null; DirectoryInfo dPasta = null; if (Acesso.TP_EMIS == 1) { #region Verifica Selecionadas for (int i = 0; i < dgvArquivos.RowCount; i++) { if (dgvArquivos["cl_assina", i].Value != null) { if (dgvArquivos["cl_assina", i].Value.ToString().Equals("True")) { string sProtEnvio = objGerais.VerificaCampoProtocoloEnvio(dgvArquivos["cd_conheci", i].Value.ToString()); if (sProtEnvio == "") { sProtEnvio = objGerais.VerificaCampoProtocoloEnvioByChave(dgvArquivos["cd_conheci", i].Value.ToString() , (dgvArquivos["ds_cancelamento", i].Value.ToString() == "0" ? false : true)); } DadosImpressao objDados = new DadosImpressao(); objDados.sNumeroCte = dgvArquivos["cd_conheci", i].Value.ToString(); objDados.sProtocolo = sProtEnvio; if (Convert.ToBoolean(dgvArquivos["ds_cancelamento", i].Value).ToString().Equals("True")) { objDados.Cancelado = true; } objListDados.Add(objDados); } } } #endregion } else { #region Verifica Notas em Contingencia for (int i = 0; i < dgvArquivos.RowCount; i++) { if (dgvArquivos["cl_imprime", i].Value != null) { if (dgvArquivos["cl_imprime", i].Value.ToString().Equals("True") && Convert.ToBoolean(dgvArquivos["st_cte", i].Value) == false && Convert.ToBoolean(dgvArquivos["st_contingencia", i].Value) == true) { DadosImpressao objDados = new DadosImpressao(); objDados.sNumeroCte = dgvArquivos["cd_conheci", i].Value.ToString(); objListDados.Add(objDados); } } } #endregion } if (objListDados.Count() > 0) { if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { #region Busca Arquivos XML for (int i = 0; i < objListDados.Count; i++) { if (Acesso.TP_EMIS == 1) { string sChaveCteRet = objGerais.BuscaChaveRetornoCte(objListDados[i].sNumeroCte); string sPasta = sChaveCteRet.Substring(4, 2) + "-" + sChaveCteRet.Substring(2, 2); if (!objListDados[i].Cancelado) { dPasta = new DirectoryInfo(Pastas.ENVIADOS + @"\\" + sPasta); } else { dPasta = new DirectoryInfo(Pastas.CANCELADOS + @"\\" + sPasta); } if (dPasta.Exists) { fArquivoImprimir = dPasta.GetFiles("Cte_" + sChaveCteRet + ".xml"); if (fArquivoImprimir.Count() == 1) { objListDados[i].bArquivoEncontrado = true; objListDados[i].sCaminhoXml = dPasta.ToString() + "\\Cte_" + sChaveCteRet + ".xml"; } else { throw new Exception("Arquivo Xml não Encontrado"); } } } else { XmlDocument doc = new XmlDocument(); string sChaveCteRet = objGerais.BuscaChaveRetornoCte(objListDados[i].sNumeroCte); string sPasta = sChaveCteRet.Substring(4, 2) + "-" + sChaveCteRet.Substring(2, 2); dPasta = new DirectoryInfo(Pastas.CONTINGENCIA + @"\\" + sPasta); fArquivoImprimir = dPasta.GetFiles("*.xml", SearchOption.AllDirectories); foreach (FileInfo arq in fArquivoImprimir) { doc.Load(@arq.FullName); if (doc.GetElementsByTagName("infCte")[0].Attributes["Id"].Value.ToString().Replace("CTe", "").Equals(sChaveCteRet)) { objListDados[i].bArquivoEncontrado = true; objListDados[i].sCaminhoXml = arq.FullName; break; } } } } #endregion belPopulaDataSet objDataSet = new belPopulaDataSet(); dsCTe dsPadrao = new dsCTe(); dsCTe dsLotacao = new dsCTe(); dsCTe dsPadraoCancelado = new dsCTe(); dsCTe dsLotacaoCancelado = new dsCTe(); int iCount = 0; for (int i = 0; i < objListDados.Count; i++) { if (objListDados[i].bArquivoEncontrado == true) { if (objDataSet.VerificaLotacao(objListDados[i].sCaminhoXml)) { if (!objListDados[i].Cancelado) { objDataSet.PopulaDataSet(dsLotacao, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); GeraPDF(dsLotacao, TipoPDF.LOTACAO, objListDados[i].sNumeroCte, folderBrowserDialog1.SelectedPath); iCount++; } else { objDataSet.PopulaDataSet(dsLotacaoCancelado, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); GeraPDF(dsLotacaoCancelado, TipoPDF.LOTACAO_CANCELADO, objListDados[i].sNumeroCte, folderBrowserDialog1.SelectedPath); iCount++; } } else { if (!objListDados[i].Cancelado) { objDataSet.PopulaDataSet(dsPadrao, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); GeraPDF(dsPadrao, TipoPDF.PADRAO, objListDados[i].sNumeroCte, folderBrowserDialog1.SelectedPath); iCount++; } else { objDataSet.PopulaDataSet(dsPadraoCancelado, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); GeraPDF(dsPadraoCancelado, TipoPDF.PADRAO_CANCELADO, objListDados[i].sNumeroCte, folderBrowserDialog1.SelectedPath); iCount++; } } } else { KryptonMessageBox.Show("Arquivo Xml do Conhecimento " + objListDados[i].sNumeroCte + " não foi Encontrado.", Mensagens.MSG_Alerta, MessageBoxButtons.OK, MessageBoxIcon.Information); } } if (iCount > 0) { KryptonMessageBox.Show("Arquivos PDF gerados com sucesso!", Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { KryptonMessageBox.Show("Nenhum CT-e válido foi Selecionado para gerar PDF.", Mensagens.MSG_Aviso, MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { new HLPexception(ex); } }
private void GeraPDF(dsCTe ds, TipoPDF tpPdf, string sNumCte, string sCaminhoSalvar) { try { ReportDocument rpt = new ReportDocument(); if (tpPdf == TipoPDF.PADRAO) { rpt.Load(Util.GetPathRelatorio("rptCtePadrao.rpt")); } else if (tpPdf == TipoPDF.PADRAO_CANCELADO) { rpt.Load(Util.GetPathRelatorio("rptCtePadraoCancelado.rpt")); } else if (tpPdf == TipoPDF.LOTACAO) { rpt.Load(Util.GetPathRelatorio("rptCteLotacao.rpt")); } else if (tpPdf == TipoPDF.LOTACAO_CANCELADO) { rpt.Load(Util.GetPathRelatorio("rptCteLotacaoCancelado.rpt")); } rpt.SetDataSource(ds); rpt.Refresh(); Util.ExportPDF(rpt, sCaminhoSalvar + "\\Cte_" + sNumCte + ".pdf"); } catch (Exception ex) { new HLPexception(ex); } }
private void btnImpressao_Click(object sender, EventArgs e) { try { List<DadosImpressao> objListDados = new List<DadosImpressao>(); DirectoryInfo dPasta = null; FileInfo[] fArquivoImprimir = null; if (Acesso.TP_EMIS == 1) { #region Verifica Selecionadas for (int i = 0; i < dgvArquivos.RowCount; i++) { if (dgvArquivos["cl_assina", i].Value != null) { if (dgvArquivos["cl_assina", i].Value.ToString().Equals("True")) { string sProtEnvio = objGerais.VerificaCampoProtocoloEnvio(dgvArquivos["cd_conheci", i].Value.ToString()); if (sProtEnvio == "") { sProtEnvio = objGerais.VerificaCampoProtocoloEnvioByChave(dgvArquivos["cd_conheci", i].Value.ToString() , (dgvArquivos["ds_cancelamento", i].Value.ToString() == "0" ? false : true)); } DadosImpressao objDados = new DadosImpressao(); objDados.sNumeroCte = dgvArquivos["cd_conheci", i].Value.ToString(); objDados.sProtocolo = sProtEnvio; if (Convert.ToBoolean(dgvArquivos["ds_cancelamento", i].Value).ToString().Equals("True")) { objDados.Cancelado = true; } objListDados.Add(objDados); } } } #endregion } else { #region Verifica Notas em Contingencia for (int i = 0; i < dgvArquivos.RowCount; i++) { if (dgvArquivos["cl_imprime", i].Value != null) { if (dgvArquivos["cl_imprime", i].Value.ToString().Equals("True") && Convert.ToBoolean(dgvArquivos["st_cte", i].Value) == false && Convert.ToBoolean(dgvArquivos["st_contingencia", i].Value) == true) { DadosImpressao objDados = new DadosImpressao(); objDados.sNumeroCte = dgvArquivos["cd_conheci", i].Value.ToString(); objListDados.Add(objDados); } } } #endregion } #region Popula Dataset com Cte Validos if (objListDados.Count > 0) { for (int i = 0; i < objListDados.Count; i++) { if (Acesso.TP_EMIS == 1) { string sChaveCteRet = objGerais.BuscaChaveRetornoCte(objListDados[i].sNumeroCte); string sPasta = sChaveCteRet.Substring(4, 2) + "-" + sChaveCteRet.Substring(2, 2); if (!objListDados[i].Cancelado) { dPasta = new DirectoryInfo(Pastas.ENVIADOS + @"\\" + sPasta); } else { dPasta = new DirectoryInfo(Pastas.CANCELADOS + @"\\" + sPasta); } if (dPasta.Exists) { fArquivoImprimir = dPasta.GetFiles("Cte_" + sChaveCteRet + ".xml"); if (fArquivoImprimir.Count() == 1) { objListDados[i].bArquivoEncontrado = true; objListDados[i].sCaminhoXml = dPasta.ToString() + "\\Cte_" + sChaveCteRet + ".xml"; } else { throw new Exception("Arquivo Xml do Conhecimento " + objListDados[i].sNumeroCte + " não Encontrado"); } } else { throw new Exception("A pasta do Mês " + sPasta + " não existe."); } } else { XmlDocument doc = new XmlDocument(); string sChaveCteRet = objGerais.BuscaChaveRetornoCte(objListDados[i].sNumeroCte); string sPasta = sChaveCteRet.Substring(4, 2) + "-" + sChaveCteRet.Substring(2, 2); dPasta = new DirectoryInfo(Pastas.CONTINGENCIA + @"\\" + sPasta); fArquivoImprimir = dPasta.GetFiles("*.xml", SearchOption.AllDirectories); foreach (FileInfo arq in fArquivoImprimir) { doc.Load(@arq.FullName); if (doc.GetElementsByTagName("infCte")[0].Attributes["Id"].Value.ToString().Replace("CTe", "").Equals(sChaveCteRet)) { objListDados[i].bArquivoEncontrado = true; objListDados[i].sCaminhoXml = arq.FullName; break; } } } } belPopulaDataSet objDataSet = new belPopulaDataSet(); dsCTe dsPadrao = new dsCTe(); dsCTe dsPadraoPDF = new dsCTe(); dsCTe dsLotacao = new dsCTe(); dsCTe dsPadraoCancelado = new dsCTe(); dsCTe dsLotacaoCancelado = new dsCTe(); for (int i = 0; i < objListDados.Count; i++) { if (objListDados[i].bArquivoEncontrado == true) { if (objDataSet.VerificaLotacao(objListDados[i].sCaminhoXml)) { if (!objListDados[i].Cancelado) { objDataSet.PopulaDataSet(dsLotacao, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); dsPadraoPDF = new dsCTe(); objDataSet.PopulaDataSet(dsPadraoPDF, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPadraoPDF, TipoPDF.LOTACAO, objListDados[i]); //GeraPDF(dsLotacao, TipoPDF.LOTACAO, objListDados[i]); } else { objDataSet.PopulaDataSet(dsLotacaoCancelado, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); dsPadraoPDF = new dsCTe(); objDataSet.PopulaDataSet(dsPadraoPDF, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPadraoPDF, TipoPDF.LOTACAO_CANCELADO, objListDados[i]); //GeraPDF(dsLotacaoCancelado, TipoPDF.LOTACAO_CANCELADO, objListDados[i]); } } else { if (!objListDados[i].Cancelado) { objDataSet.PopulaDataSet(dsPadrao, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); dsPadraoPDF = new dsCTe(); objDataSet.PopulaDataSet(dsPadraoPDF, objListDados[i].sCaminhoXml,1, objListDados[i].sProtocolo); GeraPDF(dsPadraoPDF, TipoPDF.PADRAO, objListDados[i]); } else { objDataSet.PopulaDataSet(dsPadraoCancelado, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); dsPadraoPDF = new dsCTe(); objDataSet.PopulaDataSet(dsPadraoPDF, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPadraoPDF, TipoPDF.PADRAO_CANCELADO, objListDados[i]); //GeraPDF(dsPadraoCancelado, TipoPDF.PADRAO_CANCELADO, objListDados[i]); } } } } if (Convert.ToBoolean(Acesso.EMAIL_AUTOMATICO)) { EnviaEmail(objListDados); } if (dsPadrao.infCte.Count() > 0) { ReportDocument rpt = new ReportDocument(); rpt.Load(Util.GetPathRelatorio("rptCtePadrao.rpt")); rpt.SetDataSource(dsPadrao); rpt.Refresh(); frmRelatorio frm = new frmRelatorio(rpt, "Impressão de DACTE - Carga Fracionada"); frm.Show(); } if (dsPadraoCancelado.infCte.Count() > 0) { ReportDocument rpt = new ReportDocument(); rpt.Load(Util.GetPathRelatorio("rptCtePadraoCancelado.rpt")); rpt.SetDataSource(dsPadraoCancelado); rpt.Refresh(); frmRelatorio frm = new frmRelatorio(rpt, "Impressão de DACTE - Carga Fracionada(Cancelados)"); frm.Show(); } if (dsLotacao.infCte.Count() > 0) { ReportDocument rpt = new ReportDocument(); rpt.Load(Util.GetPathRelatorio("rptCteLotacao.rpt")); rpt.SetDataSource(dsLotacao); rpt.Refresh(); frmRelatorio frm = new frmRelatorio(rpt, "Impressão de DACTE - Lotação"); frm.Show(); } if (dsLotacaoCancelado.infCte.Count() > 0) { ReportDocument rpt = new ReportDocument(); rpt.Load(Util.GetPathRelatorio("rptCteLotacaoCancelado.rpt")); rpt.SetDataSource(dsLotacaoCancelado); rpt.Refresh(); frmRelatorio frm = new frmRelatorio(rpt, "Impressão de DACTE - Lotação(Cancelados)"); frm.Show(); } } else { KryptonMessageBox.Show("Nenhum CT-e válido foi Selecionado para Impressão.", Mensagens.MSG_Aviso, MessageBoxButtons.OK, MessageBoxIcon.Information); } #endregion } catch (Exception ex) { new HLPexception(ex); } }
private void GeraPDF(dsCTe ds, TipoPDF tpPdf, DadosImpressao objDados) { try { ReportDocument rpt = new ReportDocument(); DirectoryInfo dinfo = null; if (tpPdf == TipoPDF.PADRAO) { rpt.Load(Util.GetPathRelatorio("rptCtePadrao.rpt")); dinfo = new DirectoryInfo(Pastas.ENVIADOS + "\\PDF"); } else if (tpPdf == TipoPDF.PADRAO_CANCELADO) { rpt.Load(Util.GetPathRelatorio("rptCtePadraoCancelado.rpt")); dinfo = new DirectoryInfo(Pastas.CANCELADOS + "\\PDF"); } else if (tpPdf == TipoPDF.LOTACAO) { rpt.Load(Util.GetPathRelatorio("Relatorios\\rptCteLotacao.rpt")); dinfo = new DirectoryInfo(Pastas.ENVIADOS + "\\PDF"); } else if (tpPdf == TipoPDF.LOTACAO_CANCELADO) { rpt.Load(Util.GetPathRelatorio("rptCteLotacaoCancelado.rpt")); dinfo = new DirectoryInfo(Pastas.CANCELADOS + "\\PDF"); } rpt.SetDataSource(ds); rpt.Refresh(); if (!dinfo.Exists) { dinfo.Create(); } string sCaminhoPDF = dinfo.FullName + "\\Cte_" + objDados.sNumeroCte + ".pdf"; objDados.sCaminhoPDF = sCaminhoPDF; Util.ExportPDF(rpt, sCaminhoPDF); } catch (Exception ex) { new HLPexception(ex); } }
public void PopulaDataSet(dsCTe dsCte, string sCaminho, int iChave, string sProtocolo) { try { XmlDocument doc = new XmlDocument(); doc.Load(sCaminho); Byte[] bLogo = Util.CarregaImagem(Acesso.LOGOTIPO); dsLogo = dsCte.Logotipo.NewLogotipoRow(); if (bLogo != null) { dsLogo.Logo = bLogo; } dsCte.Logotipo.AddLogotipoRow(dsLogo); dsLogo = dsCte.Logotipo.NewLogotipoRow(); #region infCte string sCodBarras = ""; dsCodBarras = dsCte.CodBarras.NewCodBarrasRow(); dsCodBarras.codId = iChave; dsCodBarras.pk_infCte = iChave; dsInfCte = dsCte.infCte.NewinfCteRow(); XmlNodeList infCte = doc.GetElementsByTagName("infCte"); for (int i = 0; i < infCte.Count; i++) { for (int j = 0; j < infCte[i].Attributes.Count; j++) { switch (infCte[i].Attributes[j].LocalName) { case "Id": sCodBarras = infCte[i].Attributes[j].Value.ToString(); dsInfCte.Id = sCodBarras.Substring(3, sCodBarras.Length - 3); break; case "versao": dsInfCte.versao = infCte[i].Attributes[j].Value; break; } } } XmlNodeList infProt = doc.GetElementsByTagName("infProt"); string nProt = ""; string dhRecbto = ""; for (int i = 0; i < infProt.Count; i++) { for (int j = 0; j < infProt[i].ChildNodes.Count; j++) { switch (infProt[i].ChildNodes[j].LocalName) { case "nProt": nProt = infProt[i].ChildNodes[j].InnerText; break; case "dhRecbto": dhRecbto = Convert.ToDateTime(infProt[i].ChildNodes[j].InnerText).ToString(); break; } } } dsInfCte.nProt = nProt + " " + dhRecbto; string sBar = sCodBarras.Substring(3, sCodBarras.Length - 3); Byte[] bimagem = SalvaCodBarras(sBar); dsCodBarras.cod_barras = bimagem; dsCte.CodBarras.AddCodBarrasRow(dsCodBarras); dsCodBarras = dsCte.CodBarras.NewCodBarrasRow(); dsInfCte.pk_infCte = iChave; dsCte.infCte.AddinfCteRow(dsInfCte); dsInfCte = dsCte.infCte.NewinfCteRow(); #endregion #region ide dsIde = dsCte.ide.NewideRow(); XmlNodeList ide = doc.GetElementsByTagName("ide"); for (int i = 0; i < ide.Count; i++) { for (int j = 0; j < ide[i].ChildNodes.Count; j++) { switch (ide[i].ChildNodes[j].LocalName) { case "cUF": dsIde.cUF = ide[i].ChildNodes[j].InnerText; break; case "cCT": dsIde.cCT = ide[i].ChildNodes[j].InnerText; break; case "CFOP": dsIde.CFOP = ide[i].ChildNodes[j].InnerText; break; case "natOp": dsIde.natOp = ide[i].ChildNodes[j].InnerText; break; case "forPag": dsIde.forPag = ide[i].ChildNodes[j].InnerText; break; case "mod": dsIde.mod = ide[i].ChildNodes[j].InnerText; break; case "serie": dsIde.serie = ide[i].ChildNodes[j].InnerText; break; case "nCT": dsIde.nCT = ide[i].ChildNodes[j].InnerText; break; case "dhEmi": dsIde.dhEmi = Convert.ToDateTime(ide[i].ChildNodes[j].InnerText).ToString(); break; case "tpImp": dsIde.tpImp = ide[i].ChildNodes[j].InnerText; break; case "tpEmis": dsIde.tpEmis = ide[i].ChildNodes[j].InnerText; break; case "cDV": dsIde.cDV = ide[i].ChildNodes[j].InnerText; break; case "tpAmb": dsIde.tpAmb = ide[i].ChildNodes[j].InnerText; break; case "tpCTe": dsIde.tpCTe = ide[i].ChildNodes[j].InnerText; break; case "procEmi": dsIde.procEmi = ide[i].ChildNodes[j].InnerText; break; case "verProc": dsIde.verProc = ide[i].ChildNodes[j].InnerText; break; case "cMunEmi": dsIde.cMunEmi = ide[i].ChildNodes[j].InnerText; break; case "xMunEmi": dsIde.xMunEmi = ide[i].ChildNodes[j].InnerText; break; case "UFEmi": dsIde.UFEmi = ide[i].ChildNodes[j].InnerText; break; case "modal": dsIde.modal = ide[i].ChildNodes[j].InnerText; break; case "tpServ": dsIde.tpServ = ide[i].ChildNodes[j].InnerText; break; case "cMunIni": dsIde.cMunIni = ide[i].ChildNodes[j].InnerText; break; case "xMunIni": dsIde.xMunIni = ide[i].ChildNodes[j].InnerText; break; case "UFIni": dsIde.UFIni = ide[i].ChildNodes[j].InnerText; break; case "cMunFim": dsIde.cMunFim = ide[i].ChildNodes[j].InnerText; break; case "xMunFim": dsIde.xMunFim = ide[i].ChildNodes[j].InnerText; break; case "UFFim": dsIde.UFFim = ide[i].ChildNodes[j].InnerText; break; case "retira": dsIde.retira = ide[i].ChildNodes[j].InnerText; break; } } } dsIde.nProt = nProt;// dsInfCte.nProt; // sProtocolo; dsIde.pk_ide = iChave; dsIde.pk_infCte = iChave; string scCT = dsIde.cCT; //sicupira dsCte.ide.AddideRow(dsIde); dsIde = dsCte.ide.NewideRow(); #endregion #region Compl XmlNodeList objcont = doc.GetElementsByTagName("ObsCont"); dsCompl = dsCte.compl.NewcomplRow(); dsCompl.pk_infCte = iChave; dsCompl.pk_compl = iChave; dsCte.compl.AddcomplRow(dsCompl); if (objcont.Count > 0) { dsObsCont = dsCte.ObsCont.NewObsContRow(); for (int i = 0; i < objcont.Count; i++) { for (int j = 0; j < objcont[i].ChildNodes.Count; j++) { switch (objcont[i].ChildNodes[j].LocalName) { case "xTexto": dsObsCont.xTexto = objcont[i].ChildNodes[j].InnerText; break; } } } dsObsCont.xTexto += Environment.NewLine + daoUtil.BuscaNumNotas(scCT); dsObsCont.pk_compl = iChave; dsObsCont.pk_xObs = iChave; dsCte.ObsCont.AddObsContRow(dsObsCont); } else { dsObsCont = dsCte.ObsCont.NewObsContRow(); dsObsCont.xTexto = daoUtil.BuscaNumNotas(scCT); dsObsCont.pk_compl = iChave; dsObsCont.pk_xObs = iChave; dsCte.ObsCont.AddObsContRow(dsObsCont); } #endregion #region Tomador XmlNodeList toma03 = doc.GetElementsByTagName("toma03"); XmlNodeList toma4 = doc.GetElementsByTagName("toma4"); XmlNodeList enderToma = doc.GetElementsByTagName("enderToma"); if (toma03.Count > 0) { dsToma03 = dsCte.toma03.Newtoma03Row(); for (int i = 0; i < toma03.Count; i++) { for (int j = 0; j < toma03[i].ChildNodes.Count; j++) { switch (toma03[i].ChildNodes[j].LocalName) { case "toma": dsToma03.toma = toma03[i].ChildNodes[j].InnerText; break; } } } dsToma03.pk_toma03 = iChave; dsToma03.pk_ide = iChave; dsCte.toma03.Addtoma03Row(dsToma03); // dsToma03 = dsCte.toma03.Newtoma03Row(); } #endregion #region emit #region Dados Emit dsEmit = dsCte.emit.NewemitRow(); XmlNodeList emit = doc.GetElementsByTagName("emit"); for (int i = 0; i < emit.Count; i++) { for (int j = 0; j < emit[i].ChildNodes.Count; j++) { switch (emit[i].ChildNodes[j].LocalName) { case "CNPJ": dsEmit.CNPJ = emit[i].ChildNodes[j].InnerText; break; case "IE": dsEmit.IE = emit[i].ChildNodes[j].InnerText; break; case "xNome": dsEmit.xNome = emit[i].ChildNodes[j].InnerText; break; case "xFant": dsEmit.xFant = emit[i].ChildNodes[j].InnerText; break; } } } dsEmit.pk_emit = iChave; dsEmit.pk_infCte = iChave; dsCte.emit.AddemitRow(dsEmit); dsEmit = dsCte.emit.NewemitRow(); #endregion #region EnderEmit dsEnderEmit = dsCte.enderEmit.NewenderEmitRow(); XmlNodeList enderEmit = doc.GetElementsByTagName("enderEmit"); for (int i = 0; i < enderEmit.Count; i++) { for (int j = 0; j < enderEmit[i].ChildNodes.Count; j++) { switch (enderEmit[i].ChildNodes[j].LocalName) { case "xLgr": dsEnderEmit.xLgr = enderEmit[i].ChildNodes[j].InnerText; break; case "nro": dsEnderEmit.nro = enderEmit[i].ChildNodes[j].InnerText; break; case "xCpl": dsEnderEmit.xCpl = enderEmit[i].ChildNodes[j].InnerText; break; case "xBairro": dsEnderEmit.xBairro = enderEmit[i].ChildNodes[j].InnerText; break; case "cMun": dsEnderEmit.cMun = enderEmit[i].ChildNodes[j].InnerText; break; case "xMun": dsEnderEmit.xMun = enderEmit[i].ChildNodes[j].InnerText; break; case "CEP": dsEnderEmit.CEP = enderEmit[i].ChildNodes[j].InnerText; break; case "UF": dsEnderEmit.UF = enderEmit[i].ChildNodes[j].InnerText; break; case "cPais": dsEnderEmit.cPais = enderEmit[i].ChildNodes[j].InnerText; break; case "xPais": dsEnderEmit.xPais = enderEmit[i].ChildNodes[j].InnerText; break; case "fone": dsEnderEmit.fone = enderEmit[i].ChildNodes[j].InnerText; break; } } } dsEnderEmit.pk_emit = iChave; dsEnderEmit.pk_enderEmit = iChave; dsCte.enderEmit.AddenderEmitRow(dsEnderEmit); dsEnderEmit = dsCte.enderEmit.NewenderEmitRow(); #endregion #endregion #region rem #region Dados Rem dsRem = dsCte.rem.NewremRow(); XmlNodeList rem = doc.GetElementsByTagName("rem"); for (int i = 0; i < rem.Count; i++) { for (int j = 0; j < rem[i].ChildNodes.Count; j++) { switch (rem[i].ChildNodes[j].LocalName) { case "CNPJ": dsRem.CNPJ = rem[i].ChildNodes[j].InnerText; break; case "CPF": dsRem.CPF = rem[i].ChildNodes[j].InnerText; break; case "IE": dsRem.IE = rem[i].ChildNodes[j].InnerText; break; case "xNome": dsRem.xNome = rem[i].ChildNodes[j].InnerText; break; case "xFant": dsRem.xFant = rem[i].ChildNodes[j].InnerText; break; case "fone": dsRem.fone = rem[i].ChildNodes[j].InnerText; break; } } } dsRem.pk_infCte = iChave; dsRem.pk_rem = iChave; dsCte.rem.AddremRow(dsRem); // dsRem = dsCte.rem.NewremRow(); #endregion #region EnderReme dsEnderReme = dsCte.enderReme.NewenderRemeRow(); XmlNodeList enderReme = doc.GetElementsByTagName("enderReme"); for (int i = 0; i < enderReme.Count; i++) { for (int j = 0; j < enderReme[i].ChildNodes.Count; j++) { switch (enderReme[i].ChildNodes[j].LocalName) { case "xLgr": dsEnderReme.xLgr = enderReme[i].ChildNodes[j].InnerText; break; case "nro": dsEnderReme.nro = enderReme[i].ChildNodes[j].InnerText; break; case "xCpl": dsEnderReme.xCpl = enderReme[i].ChildNodes[j].InnerText; break; case "xBairro": dsEnderReme.xBairro = enderReme[i].ChildNodes[j].InnerText; break; case "cMun": dsEnderReme.cMun = enderReme[i].ChildNodes[j].InnerText; break; case "xMun": dsEnderReme.xMun = enderReme[i].ChildNodes[j].InnerText; break; case "CEP": dsEnderReme.CEP = enderReme[i].ChildNodes[j].InnerText; break; case "UF": dsEnderReme.UF = enderReme[i].ChildNodes[j].InnerText; break; case "cPais": dsEnderReme.cPais = enderReme[i].ChildNodes[j].InnerText; break; case "xPais": dsEnderReme.xPais = enderReme[i].ChildNodes[j].InnerText; break; } } } dsEnderReme.pk_enderReme = iChave; dsEnderReme.pk_rem = iChave; dsCte.enderReme.AddenderRemeRow(dsEnderReme); // dsEnderReme = dsCte.enderReme.NewenderRemeRow(); #endregion #region infNF dsInfNF = dsCte.infNF.NewinfNFRow(); XmlNodeList infNF = doc.GetElementsByTagName("infNF"); for (int i = 0; i < infNF.Count; i++) { string sNumNF = ""; for (int j = 0; j < infNF[i].ChildNodes.Count; j++) { switch (infNF[i].ChildNodes[j].LocalName) { case "serie": dsInfNF.serie = infNF[i].ChildNodes[j].InnerText; break; case "nDoc": dsInfNF.nDoc = infNF[i].ChildNodes[j].InnerText; sNumNF = dsInfNF.nDoc; break; case "dEmi": dsInfNF.dEmi = infNF[i].ChildNodes[j].InnerText; break; case "vBC": dsInfNF.vBC = infNF[i].ChildNodes[j].InnerText; break; case "vICMS": dsInfNF.vICMS = infNF[i].ChildNodes[j].InnerText; break; case "vBCST": dsInfNF.vBCST = infNF[i].ChildNodes[j].InnerText; break; case "vST": dsInfNF.vST = infNF[i].ChildNodes[j].InnerText; break; case "vProd": dsInfNF.vProd = infNF[i].ChildNodes[j].InnerText; break; case "vNF": dsInfNF.vNF = infNF[i].ChildNodes[j].InnerText; break; case "nCFOP": dsInfNF.nCFOP = infNF[i].ChildNodes[j].InnerText; break; } } dsInfNF.TipoNf = "NF"; PopulaDadosNf(sNumNF); dsInfNF.pk_infNF = iChaveNota; iChaveNota++; dsInfNF.pk_rem = iChave; dsCte.infNF.AddinfNFRow(dsInfNF); dsInfNF = dsCte.infNF.NewinfNFRow(); } dsInfNF = dsCte.infNF.NewinfNFRow(); XmlNodeList infNFe = doc.GetElementsByTagName("infNFe"); for (int i = 0; i < infNFe.Count; i++) { for (int j = 0; j < infNFe[i].ChildNodes.Count; j++) { switch (infNFe[i].ChildNodes[j].LocalName) { case "chave": dsInfNF.ChaveNfe = infNFe[i].ChildNodes[j].InnerText; break; } } dsInfNF.TipoNf = "NF-e"; dsInfNF.pk_infNF = iChaveNota; iChaveNota++; dsInfNF.pk_rem = iChave; dsCte.infNF.AddinfNFRow(dsInfNF); dsInfNF = dsCte.infNF.NewinfNFRow(); } #endregion #region Outros Documentos XmlNodeList infOutros = doc.GetElementsByTagName("infOutros"); dsInfNF = dsCte.infNF.NewinfNFRow(); for (int i = 0; i < infOutros.Count; i++) { string sNumNF = ""; for (int j = 0; j < infOutros[i].ChildNodes.Count; j++) { switch (infOutros[i].ChildNodes[j].LocalName) { case "tpDoc": dsInfNF.TipoNf = infOutros[i].ChildNodes[j].InnerText == "00" ? "00-Declaração" : "99-Outros"; break; case "nDoc": dsInfNF.nDoc = infOutros[i].ChildNodes[j].InnerText; sNumNF = dsInfNF.nDoc; break; case "dEmi": dsInfNF.dEmi = infOutros[i].ChildNodes[j].InnerText; break; } } PopulaDadosNf(sNumNF); dsInfNF.pk_infNF = iChaveNota; iChaveNota++; dsInfNF.pk_rem = iChave; dsCte.infNF.AddinfNFRow(dsInfNF); dsInfNF = dsCte.infNF.NewinfNFRow(); } #endregion #endregion #region exped #region Dados Exped dsExped = dsCte.exped.NewexpedRow(); XmlNodeList exped = doc.GetElementsByTagName("exped"); for (int i = 0; i < exped.Count; i++) { for (int j = 0; j < exped[i].ChildNodes.Count; j++) { switch (rem[i].ChildNodes[j].LocalName) { case "CNPJ": dsExped.CNPJ = exped[i].ChildNodes[j].InnerText; break; case "CPF": dsExped.CPF = exped[i].ChildNodes[j].InnerText; break; case "IE": dsExped.IE = exped[i].ChildNodes[j].InnerText; break; case "xNome": dsExped.xNome = exped[i].ChildNodes[j].InnerText; break; case "fone": dsExped.fone = exped[i].ChildNodes[j].InnerText; break; } } } dsExped.pk_infCte = iChave; dsExped.pk_exped = iChave; dsCte.exped.AddexpedRow(dsExped); dsExped = dsCte.exped.NewexpedRow(); #endregion #region EnderExped dsEnderExped = dsCte.enderExped.NewenderExpedRow(); XmlNodeList enderExped = doc.GetElementsByTagName("enderExped"); for (int i = 0; i < enderExped.Count; i++) { for (int j = 0; j < enderExped[i].ChildNodes.Count; j++) { switch (enderReme[i].ChildNodes[j].LocalName) { case "xLgr": dsEnderExped.xLgr = enderExped[i].ChildNodes[j].InnerText; break; case "nro": dsEnderExped.nro = enderExped[i].ChildNodes[j].InnerText; break; case "xCpl": dsEnderExped.xCpl = enderExped[i].ChildNodes[j].InnerText; break; case "xBairro": dsEnderExped.xBairro = enderExped[i].ChildNodes[j].InnerText; break; case "cMun": dsEnderExped.cMun = enderExped[i].ChildNodes[j].InnerText; break; case "xMun": dsEnderExped.xMun = enderExped[i].ChildNodes[j].InnerText; break; case "CEP": { dsEnderExped.CEP = ""; dsEnderExped.CEP = enderExped[i].ChildNodes[j].InnerText; } break; case "UF": dsEnderExped.UF = enderExped[i].ChildNodes[j].InnerText; break; case "cPais": dsEnderExped.cPais = enderExped[i].ChildNodes[j].InnerText; break; case "xPais": dsEnderExped.xPais = enderExped[i].ChildNodes[j].InnerText; break; } } } dsEnderExped.pk_enderExped = iChave; dsEnderExped.pk_exped = iChave; dsCte.enderExped.AddenderExpedRow(dsEnderExped); dsEnderExped = dsCte.enderExped.NewenderExpedRow(); #endregion #endregion #region receb #region Dados Receb dsReceb = dsCte.receb.NewrecebRow(); XmlNodeList receb = doc.GetElementsByTagName("receb"); for (int i = 0; i < receb.Count; i++) { for (int j = 0; j < receb[i].ChildNodes.Count; j++) { switch (receb[i].ChildNodes[j].LocalName) { case "CNPJ": dsReceb.CNPJ = receb[i].ChildNodes[j].InnerText; break; case "CPF": dsReceb.CPF = receb[i].ChildNodes[j].InnerText; break; case "IE": dsReceb.IE = receb[i].ChildNodes[j].InnerText; break; case "xNome": dsReceb.xNome = receb[i].ChildNodes[j].InnerText; break; case "fone": dsReceb.fone = receb[i].ChildNodes[j].InnerText; break; } } } dsReceb.pk_infCte = iChave; dsReceb.pk_receb = iChave; dsCte.receb.AddrecebRow(dsReceb); dsReceb = dsCte.receb.NewrecebRow(); #endregion #region EnderReceb dsEnderReceb = dsCte.enderReceb.NewenderRecebRow(); XmlNodeList enderReceb = doc.GetElementsByTagName("enderReceb"); for (int i = 0; i < enderReceb.Count; i++) { for (int j = 0; j < enderReceb[i].ChildNodes.Count; j++) { switch (enderReceb[i].ChildNodes[j].LocalName) { case "xLgr": dsEnderReceb.xLgr = enderReceb[i].ChildNodes[j].InnerText; break; case "nro": dsEnderReceb.nro = enderReceb[i].ChildNodes[j].InnerText; break; case "xCpl": dsEnderReceb.xCpl = enderReceb[i].ChildNodes[j].InnerText; break; case "xBairro": dsEnderReceb.xBairro = enderReceb[i].ChildNodes[j].InnerText; break; case "cMun": dsEnderReceb.cMun = enderReceb[i].ChildNodes[j].InnerText; break; case "xMun": dsEnderReceb.xMun = enderReceb[i].ChildNodes[j].InnerText; break; case "CEP": dsEnderReceb.CEP = enderReceb[i].ChildNodes[j].InnerText; break; case "UF": dsEnderReceb.UF = enderReceb[i].ChildNodes[j].InnerText; break; case "cPais": dsEnderReceb.cPais = enderReceb[i].ChildNodes[j].InnerText; break; case "xPais": dsEnderReceb.xPais = enderReceb[i].ChildNodes[j].InnerText; break; } } } dsEnderReceb.pk_enderReceb = iChave; dsEnderReceb.pk_receb = iChave; dsCte.enderReceb.AddenderRecebRow(dsEnderReceb); dsEnderReceb = dsCte.enderReceb.NewenderRecebRow(); #endregion #endregion #region dest #region Dados Dest dsDest = dsCte.dest.NewdestRow(); XmlNodeList dest = doc.GetElementsByTagName("dest"); for (int i = 0; i < dest.Count; i++) { for (int j = 0; j < dest[i].ChildNodes.Count; j++) { switch (dest[i].ChildNodes[j].LocalName) { case "CNPJ": dsDest.CNPJ = dest[i].ChildNodes[j].InnerText; break; case "CPF": dsDest.CPF = dest[i].ChildNodes[j].InnerText; break; case "IE": dsDest.IE = dest[i].ChildNodes[j].InnerText; break; case "xNome": dsDest.xNome = dest[i].ChildNodes[j].InnerText; break; case "fone": dsDest.fone = dest[i].ChildNodes[j].InnerText; break; case "ISUF": dsDest.ISUF = dest[i].ChildNodes[j].InnerText; break; } } } dsDest.pk_dest = iChave; dsDest.pk_infCte = iChave; dsCte.dest.AdddestRow(dsDest); //dsDest = dsCte.dest.NewdestRow(); #endregion #region EnderDest dsEnderDest = dsCte.enderDest.NewenderDestRow(); XmlNodeList enderDest = doc.GetElementsByTagName("enderDest"); for (int i = 0; i < enderDest.Count; i++) { for (int j = 0; j < enderDest[i].ChildNodes.Count; j++) { switch (enderDest[i].ChildNodes[j].LocalName) { case "xLgr": dsEnderDest.xLgr = enderDest[i].ChildNodes[j].InnerText; break; case "nro": dsEnderDest.nro = enderDest[i].ChildNodes[j].InnerText; break; case "xCpl": dsEnderDest.xCpl = enderDest[i].ChildNodes[j].InnerText; break; case "xBairro": dsEnderDest.xBairro = enderDest[i].ChildNodes[j].InnerText; break; case "cMun": dsEnderDest.cMun = enderDest[i].ChildNodes[j].InnerText; break; case "xMun": dsEnderDest.xMun = enderDest[i].ChildNodes[j].InnerText; break; case "CEP": dsEnderDest.CEP = enderDest[i].ChildNodes[j].InnerText; break; case "UF": dsEnderDest.UF = enderDest[i].ChildNodes[j].InnerText; break; case "cPais": dsEnderDest.cPais = enderDest[i].ChildNodes[j].InnerText; break; case "xPais": dsEnderDest.xPais = enderDest[i].ChildNodes[j].InnerText; break; } } } dsEnderDest.pk_dest = iChave; dsEnderDest.pk_enderDest = iChave; dsCte.enderDest.AddenderDestRow(dsEnderDest); // dsEnderDest = dsCte.enderDest.NewenderDestRow(); #endregion #endregion #region vPrest dsVprest = dsCte.vPrest.NewvPrestRow(); XmlNodeList vPrest = doc.GetElementsByTagName("vPrest"); for (int i = 0; i < vPrest.Count; i++) { for (int j = 0; j < vPrest[i].ChildNodes.Count; j++) { switch (vPrest[i].ChildNodes[j].LocalName) { case "vTPrest": dsVprest.vTPrest = vPrest[i].ChildNodes[j].InnerText; break; case "vRec": dsVprest.vRec = vPrest[i].ChildNodes[j].InnerText; break; } } } dsVprest.pk_vPrest = iChave; dsVprest.pk_infCte = iChave; dsCte.vPrest.AddvPrestRow(dsVprest); dsVprest = dsCte.vPrest.NewvPrestRow(); dsComp = dsCte.Comp.NewCompRow(); XmlNodeList Comp = doc.GetElementsByTagName("Comp"); for (int i = 0; i < Comp.Count; i++) { for (int j = 0; j < Comp[i].ChildNodes.Count; j++) { switch (Comp[i].ChildNodes[j].LocalName) { case "xNome": dsComp.xNome = Comp[i].ChildNodes[j].InnerText; break; case "vComp": dsComp.vComp = Comp[i].ChildNodes[j].InnerText; break; } } dsComp.pk_vPrest = iChave; dsComp.pk_Comp = iChaveComp; iChaveComp++; dsCte.Comp.AddCompRow(dsComp); dsComp = dsCte.Comp.NewCompRow(); } #endregion #region imp dsImp = dsCte.imp.NewimpRow(); dsImp.pk_imp = iChave; dsImp.pk_infCte = iChave; dsCte.imp.AddimpRow(dsImp); dsICMS = dsCte.ICMS.NewICMSRow(); dsICMS.pk_ICMS = iChave; dsICMS.pk_imp = iChave; dsCte.ICMS.AddICMSRow(dsICMS); XmlNodeList ICMS00 = doc.GetElementsByTagName("ICMS00"); XmlNodeList ICMS20 = doc.GetElementsByTagName("ICMS20"); XmlNodeList ICMS45 = doc.GetElementsByTagName("ICMS45"); XmlNodeList ICMS60 = doc.GetElementsByTagName("ICMS60"); XmlNodeList ICMSOutraUF = doc.GetElementsByTagName("ICMSOutraUF"); XmlNodeList ICMS90 = doc.GetElementsByTagName("ICMS90"); if (ICMS00.Count > 0) { #region ICMS00 dsICMS00 = dsCte.ICMS00.NewICMS00Row(); for (int i = 0; i < ICMS00.Count; i++) { for (int j = 0; j < ICMS00[i].ChildNodes.Count; j++) { switch (ICMS00[i].ChildNodes[j].LocalName) { case "CST": dsICMS00.CST = ICMS00[i].ChildNodes[j].InnerText; break; case "vBC": dsICMS00.vBC = ICMS00[i].ChildNodes[j].InnerText; break; case "pICMS": dsICMS00.pICMS = ICMS00[i].ChildNodes[j].InnerText; break; case "vICMS": dsICMS00.vICMS = ICMS00[i].ChildNodes[j].InnerText; break; } } } dsICMS00.pk_ICMS00 = iChave; dsICMS00.pk_ICMS = iChave; dsCte.ICMS00.AddICMS00Row(dsICMS00); dsICMS00 = dsCte.ICMS00.NewICMS00Row(); #endregion } else if (ICMS20.Count > 0) { #region ICMS20 dsICMS20 = dsCte.ICMS20.NewICMS20Row(); for (int i = 0; i < ICMS20.Count; i++) { for (int j = 0; j < ICMS20[i].ChildNodes.Count; j++) { switch (ICMS20[i].ChildNodes[j].LocalName) { case "CST": dsICMS20.CST = ICMS20[i].ChildNodes[j].InnerText; break; case "pRedBC": dsICMS20.pRedBC = ICMS20[i].ChildNodes[j].InnerText; break; case "vBC": dsICMS20.vBC = ICMS20[i].ChildNodes[j].InnerText; break; case "pICMS": dsICMS20.pICMS = ICMS20[i].ChildNodes[j].InnerText; break; case "vICMS": dsICMS20.vICMS = ICMS20[i].ChildNodes[j].InnerText; break; } } } dsICMS20.pk_ICMS20 = iChave; dsICMS20.pk_ICMS = iChave; dsCte.ICMS20.AddICMS20Row(dsICMS20); dsICMS20 = dsCte.ICMS20.NewICMS20Row(); #endregion } else if (ICMS45.Count > 0) { #region ICMS45 dsICMS45 = dsCte.ICMS45.NewICMS45Row(); for (int i = 0; i < ICMS45.Count; i++) { for (int j = 0; j < ICMS45[i].ChildNodes.Count; j++) { switch (ICMS45[i].ChildNodes[j].LocalName) { case "CST": dsICMS45.CST = ICMS45[i].ChildNodes[j].InnerText; break; } } } dsICMS45.pk_ICMS45 = iChave; dsICMS45.pk_ICMS = iChave; dsCte.ICMS45.AddICMS45Row(dsICMS45); dsICMS45 = dsCte.ICMS45.NewICMS45Row(); #endregion } else if (ICMS60.Count > 0) { #region ICMS60 dsICMS60 = dsCte.ICMS60.NewICMS60Row(); for (int i = 0; i < ICMS60.Count; i++) { for (int j = 0; j < ICMS60[i].ChildNodes.Count; j++) { switch (ICMS60[i].ChildNodes[j].LocalName) { case "CST": dsICMS60.CST = ICMS60[i].ChildNodes[j].InnerText; break; case "vBCSTRet": dsICMS60.vBCSTRet = ICMS60[i].ChildNodes[j].InnerText; break; case "vICMSSTRet": dsICMS60.vICMSSTRet = ICMS60[i].ChildNodes[j].InnerText; break; case "pICMSSTRet": dsICMS60.pICMSSTRet = ICMS60[i].ChildNodes[j].InnerText; break; case "vCred": dsICMS60.vCred = ICMS60[i].ChildNodes[j].InnerText; break; } } } dsICMS60.pk_ICMS60 = iChave; dsICMS60.pk_ICMS = iChave; dsCte.ICMS60.AddICMS60Row(dsICMS60); dsICMS60 = dsCte.ICMS60.NewICMS60Row(); #endregion } else if (ICMSOutraUF.Count > 0) { #region ICMSOutraUF dsICMSOutraUF = dsCte.ICMSOutraUF.NewICMSOutraUFRow(); for (int i = 0; i < ICMSOutraUF.Count; i++) { for (int j = 0; j < ICMSOutraUF[i].ChildNodes.Count; j++) { switch (ICMSOutraUF[i].ChildNodes[j].LocalName) { case "CST": dsICMSOutraUF.CST = ICMSOutraUF[i].ChildNodes[j].InnerText; break; case "pRedBCOutraUF": dsICMSOutraUF.pRedBCOutraUF = ICMSOutraUF[i].ChildNodes[j].InnerText; break; case "vBCOutraUF": dsICMSOutraUF.vBCOutraUF = ICMSOutraUF[i].ChildNodes[j].InnerText; break; case "pICMSOutraUF": dsICMSOutraUF.pICMSOutraUF = ICMSOutraUF[i].ChildNodes[j].InnerText; break; case "vICMSOutraUF": dsICMSOutraUF.vICMSOutraUF = ICMS60[i].ChildNodes[j].InnerText; break; } } } dsICMSOutraUF.pk_ICMSOutraUF = iChave; dsICMSOutraUF.pk_ICMS = iChave; dsCte.ICMSOutraUF.AddICMSOutraUFRow(dsICMSOutraUF); dsICMSOutraUF = dsCte.ICMSOutraUF.NewICMSOutraUFRow(); #endregion } else if (ICMS90.Count > 0) { #region ICMS90 dsICMS90 = dsCte.ICMS90.NewICMS90Row(); for (int i = 0; i < ICMS90.Count; i++) { for (int j = 0; j < ICMS90[i].ChildNodes.Count; j++) { switch (ICMS90[i].ChildNodes[j].LocalName) { case "CST": dsICMS90.CST = ICMS90[i].ChildNodes[j].InnerText; break; case "pRedBC": dsICMS90.pRedBC = ICMS90[i].ChildNodes[j].InnerText; break; case "vBC": dsICMS90.vBC = ICMS90[i].ChildNodes[j].InnerText; break; case "vICMS": dsICMS90.vICMS = ICMS90[i].ChildNodes[j].InnerText; break; case "pICMS": dsICMS90.pICMS = ICMS90[i].ChildNodes[j].InnerText; break; case "vCred": dsICMS90.vCred = ICMS90[i].ChildNodes[j].InnerText; break; } } } dsICMS90.pk_ICMS90 = iChave; dsICMS90.pk_ICMS = iChave; dsCte.ICMS90.AddICMS90Row(dsICMS90); dsICMS90 = dsCte.ICMS90.NewICMS90Row(); #endregion } dsImp = dsCte.imp.NewimpRow(); dsICMS = dsCte.ICMS.NewICMSRow(); #endregion #region infCTeNorm dsInfCTeNorm = dsCte.infCTeNorm.NewinfCTeNormRow(); dsInfCTeNorm.pk_infCte = iChave; dsInfCTeNorm.pk_infCTeNorm = iChave; #region infCarga dsInfCarga = dsCte.infCarga.NewinfCargaRow(); XmlNodeList infCarga = doc.GetElementsByTagName("infCarga"); for (int i = 0; i < infCarga.Count; i++) { for (int j = 0; j < infCarga[i].ChildNodes.Count; j++) { switch (infCarga[i].ChildNodes[j].LocalName) { case "vCarga": dsInfCarga.vMerc = infCarga[i].ChildNodes[j].InnerText; break; case "proPred": dsInfCarga.proPred = infCarga[i].ChildNodes[j].InnerText; break; case "xOutCat": dsInfCarga.proPred = infCarga[i].ChildNodes[j].InnerText; break; } } } dsInfCarga.pk_infCarga = iChave; dsInfCarga.pk_infCTeNorm = iChave; dsCte.infCTeNorm.AddinfCTeNormRow(dsInfCTeNorm); dsCte.infCarga.AddinfCargaRow(dsInfCarga); dsInfCTeNorm = dsCte.infCTeNorm.NewinfCTeNormRow(); dsInfCarga = dsCte.infCarga.NewinfCargaRow(); #endregion #region infQ dsInfQ = dsCte.infQ.NewinfQRow(); XmlNodeList infQ = doc.GetElementsByTagName("infQ"); for (int i = 0; i < infQ.Count; i++) { for (int j = 0; j < infQ[i].ChildNodes.Count; j++) { switch (infQ[i].ChildNodes[j].LocalName) { case "cUnid": dsInfQ.cUnid = infQ[i].ChildNodes[j].InnerText; break; case "tpMed": dsInfQ.tpMed = infQ[i].ChildNodes[j].InnerText; break; case "qCarga": dsInfQ.qCarga = infQ[i].ChildNodes[j].InnerText; break; } } dsInfQ.pk_infCarga = iChave; dsInfQ.pk_infQ = iChaveCarga; iChaveCarga++; if (dsInfQ.qCarga != "") { if (dsInfQ.cUnid.Equals("00")) { dsCte.ide[iChave - 1].Volume = Convert.ToDecimal(dsInfQ.qCarga.Replace(".", ",")); } else { dsCte.ide[iChave - 1].Peso = Convert.ToDecimal(dsInfQ.qCarga.Replace(".", ",")); } } dsCte.infQ.AddinfQRow(dsInfQ); dsInfQ = dsCte.infQ.NewinfQRow(); } #endregion #region seg dsSeg = dsCte.seg.NewsegRow(); XmlNodeList seg = doc.GetElementsByTagName("seg"); for (int i = 0; i < seg.Count; i++) { for (int j = 0; j < seg[i].ChildNodes.Count; j++) { switch (seg[i].ChildNodes[j].LocalName) { case "respSeg": dsSeg.respSeg = seg[i].ChildNodes[j].InnerText; break; case "nApol": dsSeg.nApol = seg[i].ChildNodes[j].InnerText; break; } } } dsSeg.pk_infCTeNorm = iChave; dsSeg.pk_seg = iChave; dsCte.seg.AddsegRow(dsSeg); dsSeg = dsCte.seg.NewsegRow(); #endregion #region rodo dsRodo = dsCte.rodo.NewrodoRow(); XmlNodeList rodo = doc.GetElementsByTagName("rodo"); for (int i = 0; i < rodo.Count; i++) { for (int j = 0; j < rodo[i].ChildNodes.Count; j++) { switch (rodo[i].ChildNodes[j].LocalName) { case "RNTRC": dsRodo.RNTRC = rodo[i].ChildNodes[j].InnerText; break; case "dPrev": dsRodo.dPrev = Convert.ToDateTime(rodo[i].ChildNodes[j].InnerText); break; case "lota": dsRodo.lota = rodo[i].ChildNodes[j].InnerText; break; } } } dsRodo.pk_infCTeNorm = iChave; dsRodo.pk_rodo = iChave; dsCte.rodo.AddrodoRow(dsRodo); dsRodo = dsCte.rodo.NewrodoRow(); #endregion # region moto dsMoto = dsCte.moto.NewmotoRow(); XmlNodeList moto = doc.GetElementsByTagName("moto"); for (int i = 0; i < moto.Count; i++) { for (int j = 0; j < moto[i].ChildNodes.Count; j++) { switch (moto[i].ChildNodes[j].LocalName) { case "xNome": dsMoto.xNome = moto[i].ChildNodes[j].InnerText; break; case "CPF": dsMoto.CPF = moto[i].ChildNodes[j].InnerText; break; } } } dsMoto.pk_rodo = iChave; dsMoto.pk_moto = iChave; dsCte.moto.AddmotoRow(dsMoto); dsMoto = dsCte.moto.NewmotoRow(); #endregion #region veic dsVeic = dsCte.veic.NewveicRow(); XmlNodeList veic = doc.GetElementsByTagName("veic"); for (int i = 0; i < veic.Count; i++) { for (int j = 0; j < veic[i].ChildNodes.Count; j++) { switch (veic[i].ChildNodes[j].LocalName) { case "RENAVAM": dsVeic.RENAVAM = veic[i].ChildNodes[j].InnerText; break; case "placa": dsVeic.placa = veic[i].ChildNodes[j].InnerText; break; case "tara": dsVeic.tara = veic[i].ChildNodes[j].InnerText; break; case "capKG": dsVeic.capKG = veic[i].ChildNodes[j].InnerText; break; case "capM3": dsVeic.capM3 = veic[i].ChildNodes[j].InnerText; break; case "tpProp": dsVeic.tpProp = veic[i].ChildNodes[j].InnerText; break; case "tpVeic": dsVeic.tpVeic = veic[i].ChildNodes[j].InnerText; break; case "tpRod": dsVeic.tpRod = veic[i].ChildNodes[j].InnerText; break; case "tpCar": dsVeic.tpCar = veic[i].ChildNodes[j].InnerText; break; case "UF": dsVeic.UF = veic[i].ChildNodes[j].InnerText; break; case "prop": dsVeic.RNTRC = veic[i].ChildNodes[j].ChildNodes.Item(1).InnerText; break; } } dsVeic.pk_rodo = iChave; dsVeic.pk_veic = iChaveVeic; iChaveVeic++; dsCte.veic.AddveicRow(dsVeic); dsVeic = dsCte.veic.NewveicRow(); } #endregion dsInfCTeNorm = dsCte.infCTeNorm.NewinfCTeNormRow(); #endregion if (dsToma03.toma == "0") // remetente { dsToma4 = dsCte.toma4.Newtoma4Row(); dsEnderToma = dsCte.enderToma.NewenderTomaRow(); dsToma4.CNPJ = dsRem.CNPJ; //dsToma4.CPF = dsRem.CPF; dsToma4.xNome = dsRem.xNome; dsToma4.xFant = dsRem.xFant; try { dsToma4.fone = dsRem.fone; } catch (Exception) { } dsToma4.pk_toma4 = iChave; dsToma4.pk_ide = iChave; dsCte.toma4.Addtoma4Row(dsToma4); dsEnderToma.xLgr = dsEnderReme.xLgr; dsEnderToma.nro = dsEnderReme.nro; try { dsEnderToma.xCpl = dsEnderReme.xCpl; } catch (Exception) { } dsEnderToma.xBairro = dsEnderReme.xBairro; dsEnderToma.cMun = dsEnderReme.cMun; dsEnderToma.xMun = dsEnderReme.xMun; try { dsEnderToma.CEP = dsEnderReme.CEP; } catch (Exception) { } dsEnderToma.UF = dsEnderReme.UF; dsEnderToma.cPais = dsEnderReme.cPais; dsEnderToma.xPais = dsEnderReme.xPais; dsEnderToma.pk_toma4 = iChave; dsEnderToma.pk_enderToma = iChave; dsCte.enderToma.AddenderTomaRow(dsEnderToma); } else if (dsToma03.toma == "3") // destinatario { dsToma4 = dsCte.toma4.Newtoma4Row(); dsEnderToma = dsCte.enderToma.NewenderTomaRow(); dsToma4.CNPJ = dsDest.CNPJ; try { dsToma4.CPF = dsDest.CPF; } catch (Exception) { } dsToma4.xNome = dsDest.xNome; dsToma4.xFant = dsDest.xNome; try { dsToma4.fone = dsDest.fone; } catch (Exception) { } dsToma4.pk_toma4 = iChave; dsToma4.pk_ide = iChave; dsCte.toma4.Addtoma4Row(dsToma4); dsEnderToma.xLgr = dsEnderDest.xLgr; dsEnderToma.nro = dsEnderDest.nro; try { dsEnderToma.xCpl = dsEnderDest.xCpl; } catch (Exception) { } dsEnderToma.xBairro = dsEnderDest.xBairro; dsEnderToma.cMun = dsEnderDest.cMun; dsEnderToma.xMun = dsEnderDest.xMun; try { dsEnderToma.CEP = dsEnderDest.CEP; } catch (Exception) { } dsEnderToma.UF = dsEnderDest.UF; dsEnderToma.cPais = dsEnderDest.cPais; dsEnderToma.xPais = dsEnderDest.xPais; dsEnderToma.pk_toma4 = iChave; dsEnderToma.pk_enderToma = iChave; dsCte.enderToma.AddenderTomaRow(dsEnderToma); } //if (toma4.Count > 0) //{ // dsToma4 = dsCte.toma4.Newtoma4Row(); // dsEnderToma = dsCte.enderToma.NewenderTomaRow(); // #region Dados Tomador // for (int i = 0; i < toma4.Count; i++) // { // for (int j = 0; j < toma4[i].ChildNodes.Count; j++) // { // switch (toma4[i].ChildNodes[j].LocalName) // { // case "toma": dsToma4.toma = toma4[i].ChildNodes[j].InnerText; // break; // case "CNPJ": dsToma4.CNPJ = toma4[i].ChildNodes[j].InnerText; // break; // case "CPF": dsToma4.CPF = toma4[i].ChildNodes[j].InnerText; // break; // case "IE": dsToma4.IE = toma4[i].ChildNodes[j].InnerText; // break; // case "xNome": dsToma4.xNome = toma4[i].ChildNodes[j].InnerText; // break; // case "xFant": dsToma4.xFant = toma4[i].ChildNodes[j].InnerText; // break; // case "fone": dsToma4.fone = toma4[i].ChildNodes[j].InnerText; // break; // } // } // } // dsToma4.pk_toma4 = iChave; // dsToma4.pk_ide = iChave; // dsCte.toma4.Addtoma4Row(dsToma4); // dsToma4 = dsCte.toma4.Newtoma4Row(); // #endregion // #region EnderecoToma // for (int i = 0; i < enderToma.Count; i++) // { // for (int j = 0; j < enderToma[i].ChildNodes.Count; j++) // { // switch (enderToma[i].ChildNodes[j].LocalName) // { // case "xLgr": dsEnderToma.xLgr = enderToma[i].ChildNodes[j].InnerText; // break; // case "nro": dsEnderToma.nro = enderToma[i].ChildNodes[j].InnerText; // break; // case "xCpl": dsEnderToma.xCpl = enderToma[i].ChildNodes[j].InnerText; // break; // case "xBairro": dsEnderToma.xBairro = enderToma[i].ChildNodes[j].InnerText; // break; // case "cMun": dsEnderToma.cMun = enderToma[i].ChildNodes[j].InnerText; // break; // case "xMun": dsEnderToma.xMun = enderToma[i].ChildNodes[j].InnerText; // break; // case "CEP": dsEnderToma.CEP = enderToma[i].ChildNodes[j].InnerText; // break; // case "UF": dsEnderToma.UF = enderToma[i].ChildNodes[j].InnerText; // break; // case "cPais": dsEnderToma.cPais = enderToma[i].ChildNodes[j].InnerText; // break; // case "xPais": dsEnderToma.xPais = enderToma[i].ChildNodes[j].InnerText; // break; // } // } // } // dsEnderToma.pk_toma4 = iChave; // dsEnderToma.pk_enderToma = iChave; // dsCte.enderToma.AddenderTomaRow(dsEnderToma); // dsEnderToma = dsCte.enderToma.NewenderTomaRow(); // #endregion //} } catch (Exception ex) { throw ex; } }
private void GeraPDF(dsCTe ds, TipoPDF tpPdf, string sNumCte, string sCaminhoSalvar) { try { ReportDocument rpt = new ReportDocument(); if (tpPdf == TipoPDF.PADRAO) { rpt.Load(Application.StartupPath + "\\Relatorios\\rptCtePadrao.rpt"); } else if (tpPdf == TipoPDF.PADRAO_CANCELADO) { rpt.Load(Application.StartupPath + "\\Relatorios\\rptCtePadraoCancelado.rpt"); } else if (tpPdf == TipoPDF.LOTACAO) { rpt.Load(Application.StartupPath + "\\Relatorios\\rptCteLotacao.rpt"); } else if (tpPdf == TipoPDF.LOTACAO_CANCELADO) { rpt.Load(Application.StartupPath + "\\Relatorios\\rptCteLotacaoCancelado.rpt"); } rpt.SetDataSource(ds); rpt.Refresh(); ExportPDF(rpt, sCaminhoSalvar + "\\Cte_" + sNumCte + ".pdf"); } catch (Exception ex) { KryptonMessageBox.Show(null, _sMessageException + (ex.InnerException != null ? ex.InnerException.Message : ex.Message).ToString(), "CT-e - AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); ; } }
private void GeraPDF(dsCTe ds, TipoPDF tpPdf, string sNumCte) { try { ReportDocument rpt = new ReportDocument(); DirectoryInfo dinfo = null; if (tpPdf == TipoPDF.PADRAO) { rpt.Load(Application.StartupPath + "\\Relatorios\\rptCtePadrao.rpt"); dinfo = new DirectoryInfo(belStaticPastas.ENVIADOS + "\\PDF"); } else if (tpPdf == TipoPDF.PADRAO_CANCELADO) { rpt.Load(Application.StartupPath + "\\Relatorios\\rptCtePadraoCancelado.rpt"); dinfo = new DirectoryInfo(belStaticPastas.CANCELADOS + "\\PDF"); } else if (tpPdf == TipoPDF.LOTACAO) { rpt.Load(Application.StartupPath + "\\Relatorios\\rptCteLotacao.rpt"); dinfo = new DirectoryInfo(belStaticPastas.ENVIADOS + "\\PDF"); } else if (tpPdf == TipoPDF.LOTACAO_CANCELADO) { rpt.Load(Application.StartupPath + "\\Relatorios\\rptCteLotacaoCancelado.rpt"); dinfo = new DirectoryInfo(belStaticPastas.CANCELADOS + "\\PDF"); } rpt.SetDataSource(ds); rpt.Refresh(); if (!dinfo.Exists) { dinfo.Create(); } ExportPDF(rpt, dinfo.FullName + "\\Cte_" + sNumCte + ".pdf"); } catch (Exception ex) { KryptonMessageBox.Show(null, _sMessageException + (ex.InnerException != null ? ex.InnerException.Message : ex.Message).ToString(), "CT-e - AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); ; } }
private void btnImpressao_Click(object sender, EventArgs e) { try { List<DadosImpressao> objListDados = new List<DadosImpressao>(); belGlobais objGlobais = new belGlobais(); DirectoryInfo dPasta = null; FileInfo[] fArquivoImprimir = null; if (!belStatic.bModoContingencia) { #region Verifica Selecionadas for (int i = 0; i < dgvArquivos.RowCount; i++) { if (dgvArquivos["cl_imprime", i].Value != null) { if (dgvArquivos["cl_imprime", i].Value.ToString().Equals("True")) { //string sProtEnvio = objGerais.VerificaCampoProtocoloEnvio(dgvArquivos["cd_conheci", i].Value.ToString()); //if (sProtEnvio != "") //{ DadosImpressao objDados = new DadosImpressao(); objDados.sNumeroCte = dgvArquivos["cd_conheci", i].Value.ToString(); objDados.sProtocolo = "";// sProtEnvio; if (!dgvArquivos["ds_cancelamento", i].Value.ToString().Equals("")) { objDados.Cancelado = true; } objListDados.Add(objDados); //} } } } #endregion } else { #region Verifica Notas em Contingencia for (int i = 0; i < dgvArquivos.RowCount; i++) { if (dgvArquivos["cl_imprime", i].Value != null) { if (dgvArquivos["cl_imprime", i].Value.ToString().Equals("True") && Convert.ToBoolean(dgvArquivos["st_cte", i].Value) == false && Convert.ToBoolean(dgvArquivos["st_contingencia", i].Value) == true) { DadosImpressao objDados = new DadosImpressao(); objDados.sNumeroCte = dgvArquivos["cd_conheci", i].Value.ToString(); objListDados.Add(objDados); } } } #endregion } #region Popula Dataset com Cte Validos if (objListDados.Count > 0) { for (int i = 0; i < objListDados.Count; i++) { if (!belStatic.bModoContingencia) { string sChaveCteRet = objGerais.BuscaChaveRetornoCte(objListDados[i].sNumeroCte); string sPasta = sChaveCteRet.Substring(4, 2) + "-" + sChaveCteRet.Substring(2, 2); if (!objListDados[i].Cancelado) { dPasta = new DirectoryInfo(belStaticPastas.ENVIADOS + @"\\" + sPasta); } else { dPasta = new DirectoryInfo(belStaticPastas.CANCELADOS + @"\\" + sPasta); } if (dPasta.Exists) { fArquivoImprimir = dPasta.GetFiles("Cte_" + sChaveCteRet + ".xml"); if (fArquivoImprimir.Count() == 1) { objListDados[i].bArquivoEncontrado = true; objListDados[i].sCaminhoXml = dPasta.ToString() + "\\Cte_" + sChaveCteRet + ".xml"; } else { throw new Exception("Arquivo Xml não Encontrado"); } } } else { XmlDocument doc = new XmlDocument(); string sChaveCteRet = objGerais.BuscaChaveRetornoCte(objListDados[i].sNumeroCte); string sPasta = sChaveCteRet.Substring(4, 2) + "-" + sChaveCteRet.Substring(2, 2); dPasta = new DirectoryInfo(belStaticPastas.CONTINGENCIA + @"\\" + sPasta); fArquivoImprimir = dPasta.GetFiles("*.xml", SearchOption.AllDirectories); foreach (FileInfo arq in fArquivoImprimir) { doc.Load(@arq.FullName); if (doc.GetElementsByTagName("infCte")[0].Attributes["Id"].Value.ToString().Replace("CTe", "").Equals(sChaveCteRet)) { objListDados[i].bArquivoEncontrado = true; objListDados[i].sCaminhoXml = arq.FullName; break; } } } } belPopulaDataSet objDataSet = new belPopulaDataSet(); dsCTe dsPadrao = new dsCTe(); dsCTe dsLotacao = new dsCTe(); dsCTe dsPadraoCancelado = new dsCTe(); dsCTe dsLotacaoCancelado = new dsCTe(); for (int i = 0; i < objListDados.Count; i++) { dsCTe dsPDF = new dsCTe(); if (objListDados[i].bArquivoEncontrado == true) { if (objDataSet.VerificaLotacao(objListDados[i].sCaminhoXml)) { if (!objListDados[i].Cancelado) { objDataSet.PopulaDataSet(dsLotacao, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); objDataSet.PopulaDataSet(dsPDF, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPDF, TipoPDF.LOTACAO, objListDados[i].sNumeroCte); } else { objDataSet.PopulaDataSet(dsLotacaoCancelado, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); objDataSet.PopulaDataSet(dsPDF, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPDF, TipoPDF.LOTACAO_CANCELADO, objListDados[i].sNumeroCte); } } else { if (!objListDados[i].Cancelado) { objDataSet.PopulaDataSet(dsPadrao, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); objDataSet.PopulaDataSet(dsPDF, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPDF, TipoPDF.PADRAO, objListDados[i].sNumeroCte); } else { objDataSet.PopulaDataSet(dsPadraoCancelado, objListDados[i].sCaminhoXml, i + 1, objListDados[i].sProtocolo); objDataSet.PopulaDataSet(dsPDF, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPDF, TipoPDF.PADRAO_CANCELADO, objListDados[i].sNumeroCte); } } } } if (objbelGlobais.LeRegWin("EmailAutomatico").ToString() == "True") { EnviaEmail(objListDados); } if (dsPadrao.infCte.Count() > 0) { ReportDocument rpt = new ReportDocument(); rpt.Load(Application.StartupPath + "\\Relatorios\\rptCtePadrao.rpt"); rpt.SetDataSource(dsPadrao); rpt.Refresh(); frmRelatorioCte frm = new frmRelatorioCte(rpt, "Impressão de DACTE - Carga Fracionada"); frm.Show(); } if (dsPadraoCancelado.infCte.Count() > 0) { ReportDocument rpt = new ReportDocument(); rpt.Load(Application.StartupPath + "\\Relatorios\\rptCtePadraoCancelado.rpt"); rpt.SetDataSource(dsPadraoCancelado); rpt.Refresh(); frmRelatorioCte frm = new frmRelatorioCte(rpt, "Impressão de DACTE - Carga Fracionada(Cancelados)"); frm.Show(); } if (dsLotacao.infCte.Count() > 0) { ReportDocument rpt = new ReportDocument(); rpt.Load(Application.StartupPath + "\\Relatorios\\rptCteLotacao.rpt"); rpt.SetDataSource(dsLotacao); rpt.Refresh(); frmRelatorioCte frm = new frmRelatorioCte(rpt, "Impressão de DACTE - Lotação"); frm.Show(); } if (dsLotacaoCancelado.infCte.Count() > 0) { ReportDocument rpt = new ReportDocument(); rpt.Load(Application.StartupPath + "\\Relatorios\\rptCteLotacaoCancelado.rpt"); rpt.SetDataSource(dsLotacaoCancelado); rpt.Refresh(); frmRelatorioCte frm = new frmRelatorioCte(rpt, "Impressão de DACTE - Lotação(Cancelados)"); frm.Show(); } } else { KryptonMessageBox.Show("Nenhum Conhecimento Válido foi Selecionado para Impressão", "CT-e - AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); ; } } catch (Exception ex) { KryptonMessageBox.Show(null, _sMessageException + (ex.InnerException != null ? ex.InnerException.Message : ex.Message).ToString(), "CT-e - AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); ; } #endregion CarregaGrid(); }