private void btnGeraPdf_Click(object sender, EventArgs e) { try { List<DadosImpressao> objListDados = new List<DadosImpressao>(); FileInfo[] fArquivoImprimir = null; belGlobais objGlobais = new belGlobais(); DirectoryInfo dPasta = 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 } if (objListDados.Count() > 0) { if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { #region Busca Arquivos XML 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; } } } } #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) { dsLotacao = new dsCTe(); objDataSet.PopulaDataSet(dsLotacao, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsLotacao, TipoPDF.LOTACAO, objListDados[i].sNumeroCte, folderBrowserDialog1.SelectedPath); iCount++; } else { dsLotacaoCancelado = new dsCTe(); objDataSet.PopulaDataSet(dsLotacaoCancelado, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsLotacaoCancelado, TipoPDF.LOTACAO_CANCELADO, objListDados[i].sNumeroCte, folderBrowserDialog1.SelectedPath); iCount++; } } else { if (!objListDados[i].Cancelado) { dsPadrao = new dsCTe(); objDataSet.PopulaDataSet(dsPadrao, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPadrao, TipoPDF.PADRAO, objListDados[i].sNumeroCte, folderBrowserDialog1.SelectedPath); iCount++; } else { dsPadraoCancelado = new dsCTe(); objDataSet.PopulaDataSet(dsPadraoCancelado, objListDados[i].sCaminhoXml, 1, objListDados[i].sProtocolo); GeraPDF(dsPadraoCancelado, TipoPDF.PADRAO_CANCELADO, objListDados[i].sNumeroCte, folderBrowserDialog1.SelectedPath); iCount++; } } } } if (iCount > 0) { KryptonMessageBox.Show("Arquivos PDF gerados com sucesso!", "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); ; } }
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(); }