private void ImprimirButton_Click(object sender, EventArgs e) { if (Nome.Text == "") { MessageBox.Show("Carregue os dados de um contribuinte para poder imprimir a certidão.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Tributario_bll tributario_Class = new Tributario_bll(_connection); int _userId = gtiCore.UserId; int _ano_certidao = DateTime.Now.Year, _numero_certidao = 0, _codigo = Convert.ToInt32(Codigo.Text), _ano_isencao = DateTime.Now.Year; decimal _percisencao = 0, SomaArea = 0; DateTime? _data_processo_isencao = null; Report_Data _dados = null; string _nomeReport = "", _controle = "", _numero_processo = ""; if (_tipo_certidao == TipoCertidao.Endereco) { _nomeReport = "CertidaoEndereco"; _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Endereco); _controle = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-EA"; Certidao_endereco cert = new Certidao_endereco { Codigo = Convert.ToInt32(_codigo), Ano = _ano_certidao, Numero = _numero_certidao, Data = DateTime.Now, Inscricao = Inscricao.Text, Nomecidadao = Nome.Text, Logradouro = Endereco.Text, descbairro = Bairro.Text, Li_quadras = Quadra.Text, Li_lotes = Lote.Text }; Exception ex = tributario_Class.Insert_Certidao_Endereco(cert); if (ex != null) { throw ex; } } else { if (_tipo_certidao == TipoCertidao.Isencao) { Imovel_bll imovel_Class = new Imovel_bll(_connection); bool bImune = imovel_Class.Verifica_Imunidade(_codigo); _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Isencao); _controle = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-CI"; if (bImune) { _percisencao = 100; _nomeReport = "CertidaoImunidade"; } else { bool bIsentoProcesso = false; List <IsencaoStruct> ListaIsencao = null; ListaIsencao = imovel_Class.Lista_Imovel_Isencao(_codigo, DateTime.Now.Year); if (ListaIsencao.Count > 0) { bIsentoProcesso = true; } if (bIsentoProcesso) { _nomeReport = "CertidaoIsencaoProcesso"; _percisencao = (decimal)ListaIsencao[0].Percisencao; _numero_processo = ListaIsencao[0].Numprocesso; _data_processo_isencao = Convert.ToDateTime(ListaIsencao[0].dataprocesso); } else { SomaArea = imovel_Class.Soma_Area(_codigo); if (SomaArea < 65) { //Se tiver área < 65m² mas tiver mais de 1 imóvel, perde a isenção. int nQtdeImovel = imovel_Class.Qtde_Imovel_Cidadao(_codigo); if (nQtdeImovel > 1) { MessageBox.Show("Este imóvel não esta isento da cobrança de IPTU no ano atual.", "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } _nomeReport = "CertidaoIsencao65"; } } } Certidao_isencao cert = new Certidao_isencao { Codigo = _codigo, Ano = _ano_certidao, Numero = _numero_certidao, Data = DateTime.Now, Inscricao = Inscricao.Text, Nomecidadao = Nome.Text, Logradouro = Endereco.Text, Descbairro = Bairro.Text, Li_quadras = Quadra.Text, Li_lotes = Lote.Text, Area = SomaArea, Percisencao = _percisencao, Numprocesso = _numero_processo, Dataprocesso = _data_processo_isencao }; Exception ex = tributario_Class.Insert_Certidao_Isencao(cert); if (ex != null) { throw ex; } } else { if (_tipo_certidao == TipoCertidao.ValorVenal) { _nomeReport = "CertidaoValorVenal"; _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.ValorVenal); _controle = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-VV"; Certidao_valor_venal cert = new Certidao_valor_venal { Codigo = Convert.ToInt32(_codigo), Ano = _ano_certidao, Numero = _numero_certidao, Data = DateTime.Now, Inscricao = Inscricao.Text, Nomecidadao = Nome.Text, Logradouro = Endereco.Text, Descbairro = Bairro.Text, Li_quadras = Quadra.Text, Li_lotes = Lote.Text }; Exception ex = tributario_Class.Insert_Certidao_ValorVenal(cert); if (ex != null) { throw ex; } } else { if (_tipo_certidao == TipoCertidao.Debito) { //***Verifica débito Certidao_debito_detalhe dadosCertidao = tributario_Class.Certidao_Debito(_codigo); if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Negativa) { sTipoCertidao = "NEGATIVA"; sNao = "não "; nRet = 3; sSufixo = "CN"; if (_tipo_cadastro == TipoCadastro.Imovel) { _nomeReport = "CertidaoDebitoImovel"; } else { if (_tipo_cadastro == TipoCadastro.Empresa) { _nomeReport = "CertidaoDebitoEmpresa"; } } } else { if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Positiva) { sTipoCertidao = "POSITIVA"; nRet = 4; sSufixo = "CP"; if (_tipo_cadastro == TipoCadastro.Imovel) { _nomeReport = "CertidaoDebitoImovel"; } else { if (_tipo_cadastro == TipoCadastro.Empresa) { _nomeReport = "CertidaoDebitoEmpresa"; } } } else { if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.NegativaPositiva) { sTipoCertidao = "POSITIVA COM EFEITO NEGATIVA"; nRet = 5; sSufixo = "PN"; if (_tipo_cadastro == TipoCadastro.Imovel) { _nomeReport = "CertidaoDebitoImovelPN"; } else { if (_tipo_cadastro == TipoCadastro.Empresa) { _nomeReport = "CertidaoDebitoEmpresaPN"; } } } } } sTributo = dadosCertidao.Descricao_Lancamentos; _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Debito); _controle = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-" + sSufixo; Certidao_debito cert = new Certidao_debito { Codigo = Convert.ToInt32(_codigo), Ano = (short)_ano_certidao, Ret = nRet, Numero = _numero_certidao, Datagravada = DateTime.Now, Inscricao = Inscricao.Text, Nome = Nome.Text, Logradouro = Endereco.Text, Bairro = Bairro.Text, Cidade = Cidade.Text, Processo = Processo.Text, Dataprocesso = _data_processo, Atendente = gtiCore.LastUser, Cpf = sCPF, Cnpj = sCNPJ, Atividade = Atividade.Text, Lancamento = dadosCertidao.Descricao_Lancamentos }; Exception ex = tributario_Class.Insert_Certidao_Debito(cert); if (ex != null) { throw ex; } } } } if (_numero_certidao > 0) { _dados = new Report_Data() { Codigo = Convert.ToInt32(Codigo.Text), Inscricao = Inscricao.Text, Nome = Nome.Text, Cpf_cnpj = Doc.Text, Endereco = Endereco.Text, Nome_bairro = Bairro.Text, Quadra_original = Quadra.Text, Lote_original = Lote.Text, Nome_cidade = Cidade.Text, Cep = Cep.Text, Numero_Certidao = _numero_certidao.ToString("000000") + "/" + _ano_certidao.ToString(), Controle = _controle, Assinatura_Hide = Assinatura.Checked, Processo = Processo.Text, Data_Processo = _data_processo, UserId = _userId, Perc_Isencao = _percisencao, Data_Processo_Isencao = _data_processo_isencao, Processo_Isencao = _numero_processo, AnoIsencao = _ano_isencao, Area = SomaArea, Nao = sNao, TipoCertidao = sTipoCertidao, Tributos = sTributo, Atividade = sAtividade }; //ReportCR fRpt = new ReportCR(_nomeReport, _dados,null); //fRpt.ShowDialog(); ClearFields(); } } }
private void PrintReport(int Codigo) { Imovel_bll imovel_Class = new Imovel_bll("GTIconnection"); ImovelStruct Reg = imovel_Class.Dados_Imovel(Codigo); Laseriptu RegIPTU = imovel_Class.Dados_IPTU(Codigo, DateTime.Now.Year); Tributario_bll tributario_Class = new Tributario_bll("GTIconnection"); SpCalculo RegCalculo = tributario_Class.Calculo_IPTU(Codigo, DateTime.Now.Year); if (Reg == null) { lblMsg.Text = "Não foi possível emitir certidão para este código"; return; } string sComplemento = string.IsNullOrWhiteSpace(Reg.Complemento) ? "" : " " + Reg.Complemento.ToString().Trim(); string sQuadras = string.IsNullOrWhiteSpace(Reg.QuadraOriginal) ? "" : " Quadra: " + Reg.QuadraOriginal.ToString().Trim(); string sLotes = string.IsNullOrWhiteSpace(Reg.LoteOriginal) ? "" : " Lote: " + Reg.LoteOriginal.ToString().Trim(); sComplemento += sQuadras + sLotes; string sEndereco = Reg.NomeLogradouro + ", " + Reg.Numero.ToString() + sComplemento; string sBairro = Reg.NomeBairro; string sInscricao = Reg.Distrito.ToString() + "." + Reg.Setor.ToString("00") + "." + Reg.Quadra.ToString("0000") + "." + Reg.Lote.ToString("00000") + "." + Reg.Seq.ToString("00") + "." + Reg.Unidade.ToString("00") + "." + Reg.SubUnidade.ToString("000"); List <ProprietarioStruct> Lista = imovel_Class.Lista_Proprietario(Codigo, true); string sNome = Lista[0].Nome; ReportDocument crystalReport = new ReportDocument(); crystalReport.Load(Server.MapPath("~/Report/CertidaoValorVenal.rpt")); int _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.ValorVenal); int _ano_certidao = DateTime.Now.Year; Certidao_valor_venal cert = new Certidao_valor_venal(); cert.Codigo = Codigo; cert.Ano = _ano_certidao; cert.Numero = _numero_certidao; cert.Data = DateTime.Now; cert.Inscricao = sInscricao; cert.Nomecidadao = sNome; cert.Logradouro = Reg.NomeLogradouro; cert.Li_num = Convert.ToInt32(Reg.Numero); cert.Li_compl = Reg.Complemento; cert.Descbairro = sBairro; cert.Li_quadras = Reg.QuadraOriginal; cert.Li_lotes = Reg.LoteOriginal; cert.Vvt = (decimal)RegCalculo.Vvt; cert.Vvp = (decimal)RegCalculo.Vvp; cert.Vvi = (decimal)RegCalculo.Vvi; cert.Areaterreno = (decimal)RegCalculo.Areaterreno; string _valor_metro = string.Format(CultureInfo.GetCultureInfo("pt-BR"), "R${0:#,###.##}", (cert.Vvt / cert.Areaterreno)) + " R$/m²"; Exception ex = tributario_Class.Insert_Certidao_ValorVenal(cert); if (ex != null) { throw ex; } else { crystalReport.SetParameterValue("NUMCERTIDAO", _numero_certidao.ToString("00000") + "/" + _ano_certidao.ToString("0000")); crystalReport.SetParameterValue("DATAEMISSAO", DateTime.Now.ToString("dd/MM/yyyy") + " às " + DateTime.Now.ToString("HH:mm:ss")); crystalReport.SetParameterValue("CONTROLE", _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + Codigo.ToString() + "-VV"); crystalReport.SetParameterValue("ENDERECO", sEndereco); crystalReport.SetParameterValue("CADASTRO", Codigo.ToString("000000")); crystalReport.SetParameterValue("NOME", sNome); crystalReport.SetParameterValue("INSCRICAO", sInscricao); crystalReport.SetParameterValue("BAIRRO", sBairro); crystalReport.SetParameterValue("VVT", string.Format(CultureInfo.GetCultureInfo("pt-BR"), "R${0:0,000.00}", cert.Vvt) + " (" + _valor_metro + ")"); crystalReport.SetParameterValue("VVP", string.Format(CultureInfo.GetCultureInfo("pt-BR"), "R${0:0,000.00}", cert.Vvp)); crystalReport.SetParameterValue("VVI", string.Format(CultureInfo.GetCultureInfo("pt-BR"), "R${0:0,000.00}", cert.Vvi)); HttpContext.Current.Response.Buffer = false; HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.ClearHeaders(); try { crystalReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "certidao" + _numero_certidao.ToString() + _ano_certidao.ToString()); } catch { } finally { crystalReport.Close(); crystalReport.Dispose(); } } }