public frmVisualizaNfsSusesu(belNFesSusesu objNfes) { InitializeComponent(); btnPrimeiro.Visible = false; btnProximo.Visible = false; btnUltimo.Visible = false; btnAnterior.Visible = false; lblContagemNotas.Visible = false; toolStripSeparator1.Visible = false; cbxLocExec.cbx.DataSource = dao.daoUtil.GetCidades(); cbxLocExec.cbx.DisplayMember = "xMunicipio"; cbxLocExec.cbx.ValueMember = "idMunicipio"; cbxLocExec.cbx.SelectedIndexChanged += new EventHandler(cbx_SelectedIndexChanged); listErros.ListBox.MouseDoubleClick += new MouseEventHandler(listErros_MouseDoubleClick); this.objNfes = objNfes; objNfesAlter = objNfes; ValidaNota(); PopulaForm(); VerificaCampos(); }
private void btnVisualizar_Click(object sender, EventArgs e) { try { if (belPesq.lResultPesquisa != null) { List<belimpressao> sListImpressao = new List<belimpressao>(); belimpressao obj; List<belPesquisaNotas> objSelecionadas = belPesq.lResultPesquisa.Where(c => c.bSeleciona).ToList<belPesquisaNotas>(); List<belPesquisaNotas> objSelect = objSelecionadas.Where(c => c.bEnviado == true || c.bCancelado == true).ToList<belPesquisaNotas>(); foreach (belPesquisaNotas item in objSelect) { obj = new belimpressao(); obj.sNfSeq = item.sCD_NFSEQ; obj.sNota = item.scd_numero_nfse; obj.bCanc = item.bCancelado; obj.dtEnvio = item.dDT_EMI; sListImpressao.Add(obj); } if (sListImpressao.Count > 0) { if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.DSF) { if (sListImpressao.Count > 1) { throw new Exception("Imprima uma nota de cada vez !"); } else { daoUtil dadosEmpresa = new daoUtil(); dadosEmpresa.SetDadosEmpresa(); string sEnderPrestador = string.Format("{0}, - BAIRRO: {1} ", dadosEmpresa.RuaEmpresa, dadosEmpresa.BairroEmpresa); string sRPS = daoUtil.GetNumRPSbyCD_NFSEQ(sListImpressao.FirstOrDefault().sNfSeq); string sPathXml = ""; if (sListImpressao.FirstOrDefault().bCanc) { sPathXml = belCancelamentoDSF.GetFilePathMonthServico(false, sListImpressao.FirstOrDefault().sNota, sListImpressao.FirstOrDefault().dtEnvio); } else { sPathXml = belCancelamentoDSF.GetFilePathMonthServico(true, sListImpressao.FirstOrDefault().sNota, sListImpressao.FirstOrDefault().dtEnvio); } if (!Directory.Exists(Pastas.ENVIADOS + "PDF\\")) { Directory.CreateDirectory(Pastas.ENVIADOS + "PDF\\"); } string sPathPDFdsf = ""; if (sListImpressao.FirstOrDefault().bCanc) { sPathPDFdsf = Pastas.ENVIADOS + "PDF\\" + sListImpressao.FirstOrDefault().sNota + "_canc.pdf"; //belCancelamentoDSF } else { sPathPDFdsf = Pastas.ENVIADOS + "PDF\\" + sListImpressao.FirstOrDefault().sNota + ".pdf"; } LoteRPS nota = SerializeClassToXml.DeserializeClasse<LoteRPS>(sPathXml); nota.CD_NFSEQ = sListImpressao.FirstOrDefault().sNfSeq; nota.NumeroRPS = sListImpressao.FirstOrDefault().sNota; foreach (LoteRPSItensItem item in nota.Itens.Item) { item.NumeroRPS = nota.NumeroRPS; } List<LoteRPS> lNotas = new List<LoteRPS>(); lNotas.Add(nota); ReportDocument rpt = new ReportDocument(); rpt.Load(Util.GetPathRelatorio("rptNFSeCamp.rpt")); dsNFSeCampinas ds = CarregaDataSet(sListImpressao.FirstOrDefault().sNfSeq, dadosEmpresa, sEnderPrestador, nota); rpt.SetDataSource(ds); rpt.DataDefinition.FormulaFields["F_BAIRRO_TOMADOR"].Text = "\"" + nota.BairroTomador + "\""; decimal vl_iss = Math.Round(nota.Itens.Item.Sum(c => c.ValorTotal) * (Convert.ToDecimal(nota.AliquotaAtividade.Replace('.', ',')) / 100), 2); rpt.DataDefinition.FormulaFields["F_VALOR_ISS"].Text = "\"" + "R$ " + vl_iss.ToString().Replace('.', ',') + "\""; //try { rpt.SetParameterValue("PathImage", Acesso.LOGOTIPO); } //catch (System.Exception ex) { }; if (objSelect.FirstOrDefault().bCancelado) { string sMotivoCanc = daoUtil.GetMOTIVO_CANC(sListImpressao.FirstOrDefault().sNfSeq); rpt.DataDefinition.FormulaFields["F_MOTIVO_CANC"].Text = "\"" + sMotivoCanc + "\""; } rpt.Refresh(); if (Convert.ToBoolean(Acesso.EMAIL_AUTOMATICO)) { if (KryptonMessageBox.Show("Deseja enviar email da Nota para o Tomador ?", Mensagens.MSG_Confirmacao, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { if (Acesso.VerificaDadosEmail()) { List<belEmail> objlbelEmail = new List<belEmail>(); if (File.Exists(sPathPDFdsf)) { try { File.Delete(sPathPDFdsf); } catch (Exception) { } } if (!File.Exists(sPathPDFdsf)) { Util.ExportPDF(rpt, sPathPDFdsf); } for (int i = 0; i < sListImpressao.Count; i++) { belEmail objemail = new belEmail(sPathXml, sPathPDFdsf, sListImpressao.FirstOrDefault().sNfSeq, "", "", sListImpressao[i].sVerificacao); objlbelEmail.Add(objemail); } if (objlbelEmail.Count > 0) { frmEmail objfrmEmail = new frmEmail(objlbelEmail, belEmail.TipoEmail.NF_ServicoDSF); objfrmEmail.ShowDialog(); } } else { KryptonMessageBox.Show("Campos para o envio de e-mail automático não estão preenchidos corretamente!", Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information); } } } frmRelatorio frm = new frmRelatorio(rpt, "Impressão de Relatório de Nota Fiscal Eletrônica de Serviço"); frm.Show(); } } else if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.SUSESU) { bel.NFes.Susesu.belNFesSusesu objNfe; List<belNFesSusesu> lNfe = new List<belNFesSusesu>(); foreach (belPesquisaNotas nota in objSelect) { objNfe = new belNFesSusesu(); string sCHAVE = nota.sCHAVENFE; objNfe.DATA_EMISSAO = objSelect.FirstOrDefault().dDT_EMI.ToString(); objNfe.NUMERO_NOTA = Convert.ToInt32(nota.sCD_NOTAFIS); objNfe = belSerializeToXml.DeserializeClasse<belNFesSusesu>(objNfe.GetsFilePathServico(true)); objNfe.sCHAVE = sCHAVE; lNfe.Add(objNfe); } ReportDocument rpt = new ReportDocument(); rpt.Load(Util.GetPathRelatorio("rptNfesSusesu.rpt")); rpt.SetDataSource(lNfe); daoUtil dadosEmpresa = new daoUtil(); dadosEmpresa.SetDadosEmpresa(); string sNomeCidade = lNfe.FirstOrDefault().BuscaNomeCidade(Util.TiraSimbolo(lNfe.FirstOrDefault().TOMADOR_MUNICIPIO.ToString())); rpt.DataDefinition.FormulaFields["NM_MUNICIPIO_TOMADOR"].Text = "\"" + sNomeCidade + "\""; rpt.DataDefinition.FormulaFields["NomeEmpresa"].Text = "\"" + Acesso.NM_RAZAOSOCIAL + "\""; rpt.DataDefinition.FormulaFields["DocEmpresa"].Text = "\"" + Acesso.CNPJ_EMPRESA + "\""; rpt.DataDefinition.FormulaFields["IMEmpresa"].Text = "\"" + dadosEmpresa.ImEmpresa + "\""; rpt.DataDefinition.FormulaFields["IEEmpresa"].Text = "\"" + dadosEmpresa.IeEmpresa + "\""; rpt.DataDefinition.FormulaFields["FoneEmpresa"].Text = "\"" + dadosEmpresa.FoneEmpresa + "\""; rpt.DataDefinition.FormulaFields["EnderecoEmpresa"].Text = "\"" + dadosEmpresa.RuaEmpresa + "\""; rpt.DataDefinition.FormulaFields["BairroEmpresa"].Text = "\"" + dadosEmpresa.BairroEmpresa + "\""; rpt.DataDefinition.FormulaFields["CidadeEmpresa"].Text = "\"" + Acesso.CIDADE_EMPRESA + " - " + Acesso.xUF + "\""; rpt.DataDefinition.FormulaFields["EmailEmpresa"].Text = "\"" + dadosEmpresa.EmailEmpresa + "\""; rpt.Refresh(); try { rpt.SetParameterValue("PathImage", Acesso.LOGOTIPO); } catch (System.Exception) { }; frmRelatorio frm = new frmRelatorio(rpt, "Impressão de Relatório de Nota Fiscal Eletrônica de Serviço"); frm.Show(); } else { belimpressao objbelimpressao = new belimpressao(); sListImpressao = objbelimpressao.BuscaDadosParaImpressao(sListImpressao); if (KryptonMessageBox.Show("Deseja enviar email da Nota para o Tomador ?", Mensagens.MSG_Confirmacao, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { if (Convert.ToBoolean(Acesso.EMAIL_AUTOMATICO)) { if (Acesso.VerificaDadosEmail()) { List<belEmail> objlbelEmail = new List<belEmail>(); for (int i = 0; i < sListImpressao.Count; i++) { belEmail objemail = new belEmail("", "", sListImpressao[i].sNfSeq, sListImpressao[i].sNota, "", sListImpressao[i].sVerificacao); objlbelEmail.Add(objemail); } if (objlbelEmail.Count > 0) { frmEmail objfrmEmail = new frmEmail(objlbelEmail, belEmail.TipoEmail.NF_Servico); objfrmEmail.ShowDialog(); } } else { KryptonMessageBox.Show("Campos para o envio de e-mail automático não estão preenchidos corretamente!", Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information); } } } if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.GINFES) { for (int i = 0; i < sListImpressao.Count; i++) { System.Diagnostics.Process.Start("iexplore", "visualizar.ginfes" + (Acesso.TP_AMB_SERV == 2 ? "h" : "") + ".com.br/report/consultarNota?__report=nfs_ver4&cdVerificacao=" + sListImpressao[i].sVerificacao + "&numNota=" + sListImpressao[i].sNota); } } else { //https://spe.riodasostras.rj.gov.br/nfse/nfse.aspx?ccm=99999999&nf=999999999&cod=XXXXXXXX for (int i = 0; i < sListImpressao.Count; i++) { System.Diagnostics.Process.Start("iexplore", string.Format("https://spe.riodasostras.rj.gov.br/nfse/nfse.aspx?ccm=2747&nf={0}&cod={1}", sListImpressao[i].sNota, sListImpressao[i].sVerificacao.Replace("-", ""))); } } } } else { KryptonMessageBox.Show("Nenhuma nota Válida foi Selecionada", Mensagens.MSG_Aviso, MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { new HLPexception(ex); } }
public override void Cancelar() { try { if (KryptonMessageBox.Show("Deseja Cancelar as Alterações Realizadas?", Mensagens.MSG_Confirmacao, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { objNfesAlter = objNfes; PopulaForm(); VerificaCampos(); base.Cancelar(); } } catch (Exception ex) { new HLPexception(ex); } }