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, TipoCadastro _tipo_cadastro) { ReportDocument crystalReport = new ReportDocument(); string sComplemento = "", sQuadras = "", sLotes = "", sEndereco = "", sBairro = "", sInscricao = "", sNome = "", sCidade = "", sUF = "", sNumProcesso = "9222-3/2012"; string sData = "18/04/2012", sAtendente = "GTI.Web", sCPF = "", sCNPJ = "", sAtividade = "", sTipoCertidao = "", sTributo = "", sSufixo = "", sNao = "", sDoc = "", sCertifica = ""; short nNumeroImovel = 0, nRet = 0; DateTime dDataProc = Convert.ToDateTime(sData); if (_tipo_cadastro == TipoCadastro.Imovel) { Imovel_bll imovel_Class = new Imovel_bll("GTIconnection"); ImovelStruct Reg = imovel_Class.Dados_Imovel(Codigo); sComplemento = string.IsNullOrWhiteSpace(Reg.Complemento) ? "" : " " + Reg.Complemento.ToString().Trim(); sQuadras = string.IsNullOrWhiteSpace(Reg.QuadraOriginal) ? "" : " Quadra: " + Reg.QuadraOriginal.ToString().Trim(); sLotes = string.IsNullOrWhiteSpace(Reg.LoteOriginal) ? "" : " Lote: " + Reg.LoteOriginal.ToString().Trim(); sComplemento += sQuadras + sLotes; sEndereco = Reg.NomeLogradouro + ", " + Reg.Numero.ToString() + sComplemento; nNumeroImovel = (short)Reg.Numero; sBairro = Reg.NomeBairro; sCidade = "JABOTICABAL"; sUF = "SP"; 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); sNome = Lista[0].Nome; sCPF = Lista[0].CPF; sCNPJ = Lista[0].CPF; } else { Empresa_bll empresa_Class = new Empresa_bll("GTIconnection"); EmpresaStruct Reg = empresa_Class.Retorna_Empresa(Codigo); sComplemento = string.IsNullOrWhiteSpace(Reg.Complemento) ? "" : " " + Reg.Complemento.ToString().Trim(); sComplemento += sQuadras + sLotes; sEndereco = Reg.Endereco_nome + ", " + Reg.Numero.ToString() + sComplemento; nNumeroImovel = (short)Reg.Numero; sBairro = Reg.Bairro_nome; sCidade = Reg.Cidade_nome; sUF = Reg.UF; sNome = Reg.Razao_social; sCPF = Reg.Cpf; sCNPJ = Reg.Cnpj; sDoc = Reg.Cpf_cnpj; sAtividade = Reg.Atividade_extenso; } //***Verifica débito Tributario_bll tributario_Class = new Tributario_bll("GTIconnection"); 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) { crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoImovel.rpt")); } else { if (_tipo_cadastro == TipoCadastro.Empresa) { crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoEmpresa.rpt")); } } } else { if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Positiva) { sTipoCertidao = "POSITIVA"; nRet = 4; sSufixo = "CP"; if (_tipo_cadastro == TipoCadastro.Imovel) { bool bCertifica = tributario_Class.Parcela_Unica_IPTU_NaoPago(Codigo, DateTime.Now.Year); if (bCertifica) { sCertifica = " embora conste parcela(s) não paga(s) do IPTU de " + DateTime.Now.Year.ToString() + ", em razão da possibilidade do pagamento integral deste imposto em data futura"; nRet = 3; sTipoCertidao = "NEGATIVA"; sSufixo = "CN"; sNao = "não "; } else { sCertifica = " até a presente data"; } crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoImovel.rpt")); } else { if (_tipo_cadastro == TipoCadastro.Empresa) { crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoEmpresa.rpt")); } } } else { if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.NegativaPositiva) { sTipoCertidao = "POSITIVA COM EFEITO NEGATIVA"; nRet = 5; sSufixo = "PN"; if (_tipo_cadastro == TipoCadastro.Imovel) { crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoImovelPN.rpt")); } else { if (_tipo_cadastro == TipoCadastro.Empresa) { crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoEmpresaPN.rpt")); } } } } } sTributo = dadosCertidao.Descricao_Lancamentos; //****************** int _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Debito); int _ano_certidao = DateTime.Now.Year; Certidao_debito cert = new Certidao_debito { Codigo = Codigo, Ano = (short)_ano_certidao, Ret = nRet, Numero = _numero_certidao, Datagravada = DateTime.Now, Inscricao = sInscricao, Nome = sNome, Logradouro = sEndereco, Numimovel = nNumeroImovel, Bairro = sBairro, Cidade = sCidade, UF = sUF, Processo = sNumProcesso, Dataprocesso = dDataProc, Atendente = sAtendente, Cpf = sCPF, Cnpj = sCNPJ, Atividade = sAtividade, Lancamento = dadosCertidao.Descricao_Lancamentos }; Exception ex = tributario_Class.Insert_Certidao_Debito(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() + "-" + sSufixo); crystalReport.SetParameterValue("ENDERECO", sEndereco); crystalReport.SetParameterValue("CADASTRO", Codigo.ToString("000000")); crystalReport.SetParameterValue("NOME", sNome.Trim()); crystalReport.SetParameterValue("INSCRICAO", sInscricao); crystalReport.SetParameterValue("BAIRRO", sBairro); crystalReport.SetParameterValue("TIPOCERTIDAO", sTipoCertidao); crystalReport.SetParameterValue("TRIBUTO", sTributo); crystalReport.SetParameterValue("NAO", sNao); crystalReport.SetParameterValue("DOC", sDoc); crystalReport.SetParameterValue("CIDADE", sCidade + "/" + sUF); crystalReport.SetParameterValue("ATIVIDADE", sAtividade); if (sCertifica != "") { crystalReport.SetParameterValue("CERTIFICA", sCertifica); } 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(); } } }