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