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"); decimal SomaArea = imovel_Class.Soma_Area(Codigo); ImovelStruct Reg = imovel_Class.Dados_Imovel(Codigo); 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; string sNumeroProcesso = "", sDataProcesso = ""; ReportDocument crystalReport = new ReportDocument(); bool bImune = imovel_Class.Verifica_Imunidade(Codigo); bool bIsentoProcesso = false; List <IsencaoStruct> ListaIsencao = null; if (!bImune) { ListaIsencao = imovel_Class.Lista_Imovel_Isencao(Codigo, DateTime.Now.Year); if (ListaIsencao.Count > 0) { bIsentoProcesso = true; } } decimal nPerc = 0; if (bImune) { crystalReport.Load(Server.MapPath("~/Report/CertidaoImunidade.rpt")); nPerc = 100; crystalReport.SetParameterValue("PERC", nPerc.ToString() + "%"); crystalReport.SetParameterValue("DATAPROCESSO", sDataProcesso); } else { if (bIsentoProcesso) { crystalReport.Load(Server.MapPath("~/Report/CertidaoIsencaoProcesso.rpt")); nPerc = (decimal)ListaIsencao[0].Percisencao; sNumeroProcesso = ListaIsencao[0].Numprocesso; crystalReport.SetParameterValue("PERC", nPerc); crystalReport.SetParameterValue("DATAPROCESSO", ListaIsencao[0].dataprocesso); } else { 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) { lblMsg.Text = "Este imóvel não esta isento da cobrança de IPTU no ano atual."; return; } crystalReport.Load(Server.MapPath("~/Report/CertidaoIsencao65.rpt")); crystalReport.SetParameterValue("PERC", nPerc.ToString() + "%"); crystalReport.SetParameterValue("DATAPROCESSO", sDataProcesso); } else { lblMsg.Text = "Este imóvel não esta isento da cobrança de IPTU no ano atual."; return; } } } Tributario_bll tributario_Class = new Tributario_bll("GTIconnection"); int _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Isencao); int _ano_certidao = DateTime.Now.Year; Certidao_isencao cert = new Certidao_isencao(); 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.Area = SomaArea; cert.Percisencao = nPerc; Exception ex = tributario_Class.Insert_Certidao_Isencao(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() + "-CI"); crystalReport.SetParameterValue("ENDERECO", sEndereco); crystalReport.SetParameterValue("CADASTRO", Codigo.ToString("000000")); crystalReport.SetParameterValue("NOME", sNome); crystalReport.SetParameterValue("INSCRICAO", sInscricao); crystalReport.SetParameterValue("BAIRRO", sBairro); crystalReport.SetParameterValue("ANO", DateTime.Now.Year.ToString()); crystalReport.SetParameterValue("AREA", string.Format(CultureInfo.GetCultureInfo("pt-BR"), "{0:#,###.##}m²", SomaArea)); crystalReport.SetParameterValue("NUMPROCESSO", sNumeroProcesso); 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(); } } }