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(); } } }
public IActionResult Certidao_Debito_Codigo(CertidaoViewModel model) { int _codigo = 0; short _ret = 0; int _numero = tributarioRepository.Retorna_Codigo_Certidao(Functions.TipoCertidao.Debito); bool _existeCod = false; string _tipoCertidao = "", _nao = "", _sufixo = "XX", _reportName = "", _numProcesso = "9222-3/2012", _dataProcesso = "18/04/2012", _cpf = "", _cnpj = ""; Functions.TipoCadastro _tipoCadastro = new Functions.TipoCadastro(); CertidaoViewModel certidaoViewModel = new CertidaoViewModel(); ViewBag.Result = ""; if (model.Inscricao != null) { _codigo = Convert.ToInt32(model.Inscricao); if (_codigo < 100000) { _existeCod = imovelRepository.Existe_Imovel(_codigo); _tipoCadastro = Functions.TipoCadastro.Imovel; } else { if (_codigo >= 100000 && _codigo < 500000) { _existeCod = empresaRepository.Existe_Empresa_Codigo(_codigo); _tipoCadastro = Functions.TipoCadastro.Empresa; } else { _tipoCadastro = Functions.TipoCadastro.Cidadao; ViewBag.Result = "Inscrição inválida."; return(View(certidaoViewModel)); } } } if (!Captcha.ValidateCaptchaCode(model.CaptchaCode, HttpContext)) { ViewBag.Result = "Código de verificação inválido."; return(View(certidaoViewModel)); } if (!_existeCod) { ViewBag.Result = "Inscrição não cadastrada."; return(View(certidaoViewModel)); } //***Verifica débito Certidao_debito_detalhe dadosCertidao = tributarioRepository.Certidao_Debito(_codigo); string _tributo = dadosCertidao.Descricao_Lancamentos; if (dadosCertidao.Tipo_Retorno == Functions.RetornoCertidaoDebito.Negativa) { _tipoCertidao = "NEGATIVA"; _nao = "não "; _ret = 3; _sufixo = "CN"; if (_tipoCadastro == Functions.TipoCadastro.Imovel) { _reportName = "Certidao_Debito_Imovel.rpt"; } else { _reportName = "Certidao_Debito_Empresa.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")); // } // } // } //} int _numero_certidao = tributarioRepository.Retorna_Codigo_Certidao(Functions.TipoCertidao.Debito); int _ano_certidao = DateTime.Now.Year; List <Certidao> certidao = new List <Certidao>(); Certidao reg = new Certidao(); if (_tipoCadastro == Functions.TipoCadastro.Imovel) { List <ProprietarioStruct> listaProp = imovelRepository.Lista_Proprietario(_codigo, true); _cpf = listaProp[0].CPF; _cnpj = listaProp[0].CNPJ; ImovelStruct _dados = imovelRepository.Dados_Imovel(_codigo); reg.Codigo = _dados.Codigo; reg.Inscricao = _dados.Inscricao; reg.Endereco = _dados.NomeLogradouro; reg.Endereco_Numero = (int)_dados.Numero; reg.Endereco_Complemento = _dados.Complemento; reg.Bairro = _dados.NomeBairro ?? ""; reg.Cidade = "JABOTICABAL"; reg.Uf = "SP"; reg.Atividade_Extenso = ""; reg.Nome_Requerente = listaProp[0].Nome; reg.Ano = DateTime.Now.Year; reg.Numero = _numero; reg.Quadra_Original = _dados.QuadraOriginal ?? ""; reg.Lote_Original = _dados.LoteOriginal ?? ""; reg.Controle = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-" + _sufixo; reg.Tipo_Certidao = _tipoCertidao; reg.Nao = _nao; reg.Tributo = _tributo; } else { EmpresaStruct _dados = empresaRepository.Dados_Empresa(_codigo); _cpf = _dados.Cpf ?? ""; _cnpj = _dados.Cnpj ?? ""; reg.Codigo = _dados.Codigo; reg.Cpf_Cnpj = _dados.Cpf_cnpj; reg.Inscricao = _dados.Inscricao_estadual ?? ""; reg.Endereco = _dados.Endereco_nome; reg.Endereco_Numero = (int)_dados.Numero; reg.Endereco_Complemento = _dados.Complemento; reg.Bairro = _dados.Bairro_nome ?? ""; reg.Cidade = _dados.Cidade_nome; reg.Uf = _dados.UF; reg.Atividade_Extenso = _dados.Atividade_extenso; reg.Nome_Requerente = _dados.Razao_social; reg.Ano = DateTime.Now.Year; reg.Numero = _numero; reg.Controle = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-" + _sufixo; reg.Tipo_Certidao = _tipoCertidao; reg.Nao = _nao; reg.Tributo = _tributo; } reg.Numero_Ano = _numero_certidao.ToString("00000") + "/" + _ano_certidao.ToString("0000"); certidao.Add(reg); Certidao_debito cert = new Certidao_debito { Codigo = _codigo, Ano = (short)DateTime.Now.Year, Ret = _ret, Numero = _numero_certidao, Datagravada = DateTime.Now, Inscricao = reg.Inscricao, Nome = reg.Nome_Requerente, Logradouro = reg.Endereco, Numimovel = (short)reg.Endereco_Numero, Bairro = reg.Bairro, Cidade = reg.Cidade, UF = reg.Uf, Processo = _numProcesso, Dataprocesso = Convert.ToDateTime(_dataProcesso), Atendente = "GTI.Web", Cpf = _cpf, Cnpj = _cnpj, Atividade = reg.Atividade_Extenso, Suspenso = "", Lancamento = dadosCertidao.Descricao_Lancamentos }; Exception ex = tributarioRepository.Insert_Certidao_Debito(cert); if (ex != null) { ViewBag.Result = "Ocorreu um erro no processamento das informações."; return(View("Certidao_Debito_Codigo")); } ReportDocument rd = new ReportDocument(); rd.Load(hostingEnvironment.ContentRootPath + "\\Reports\\" + _reportName); try { rd.SetDataSource(certidao); Stream stream = rd.ExportToStream(ExportFormatType.PortableDocFormat); return(File(stream, "application/pdf", "Certidao_Debito.pdf")); } catch { throw; } }
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(); } } }
private void PrintReport(List <int> _codigos) { ReportDocument crystalReport = new ReportDocument(); string sData = "18/04/2012", sTributo = "", sNao = "", sCertifica = ""; short nRet = 0; List <Certidao_debito_documento> _lista_certidao = new List <Certidao_debito_documento>(); RetornoCertidaoDebito _tipo_Certidao; DateTime dDataProc = Convert.ToDateTime(sData); Tributario_bll tributario_Class = new Tributario_bll("GTIconnection"); if (_codigos.Count == 0) { nRet = 0; sTributo = ""; goto SEM_INSCRICAO; } bool bEmpresa = false, bCidadao = false, bImovel = false; Sistema_bll sistema_Class = new Sistema_bll("GTIconnection"); string sNome = ""; if (optCPF.Checked) { sNome = sistema_Class.Nome_por_Cpf(gtiCore.RetornaNumero(txtCPF.Text)); } else { sNome = sistema_Class.Nome_por_Cnpj(gtiCore.RetornaNumero(txtCNPJ.Text)); } foreach (int _codigo in _codigos) { TipoCadastro _tipo_cadastro = _codigo < 100000 ? TipoCadastro.Imovel : _codigo >= 100000 && _codigo < 500000 ? TipoCadastro.Empresa : TipoCadastro.Cidadao; // Contribuinte_Header_Struct _header = sistema_Class.Contribuinte_Header(_codigo); //string sNome = _header==null?"": _header.Nome; //***Verifica débito Certidao_debito_detalhe dadosCertidao = tributario_Class.Certidao_Debito(_codigo); if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Negativa) { nRet = 3; sTributo = ""; } else { if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Positiva) { if (_tipo_cadastro == TipoCadastro.Empresa) { bEmpresa = true; } if (_tipo_cadastro == TipoCadastro.Cidadao) { bCidadao = true; } if (_tipo_cadastro == TipoCadastro.Imovel) { bImovel = true; } nRet = 4; sTributo = dadosCertidao.Descricao_Lancamentos; } else { if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.NegativaPositiva) { nRet = 5; sTributo = dadosCertidao.Descricao_Lancamentos; } } } Certidao_debito_documento reg = new Certidao_debito_documento(); reg._Codigo = _codigo; reg._Ret = nRet; reg._Tributo = sTributo; reg._Nome = sNome == null?"": sNome.Trim(); _lista_certidao.Add(reg); } bool _find = false; foreach (Certidao_debito_documento reg in _lista_certidao) { if (reg._Ret != 3) { _find = true; break; } } if (!_find) { _tipo_Certidao = RetornoCertidaoDebito.Negativa; sNao = " não"; } else { _find = false; foreach (Certidao_debito_documento reg in _lista_certidao) { if (reg._Ret == 4) { _find = true; break; } } if (_find) { _tipo_Certidao = RetornoCertidaoDebito.Positiva; if (!bEmpresa && !bCidadao && !bImovel) { //Se a certidão positiva for apenas de imóvel, verifica se esta no prazo das parcelas únicas em aberto. bool bUnicaNaoPago = false; foreach (int _codigo in _codigos) { bUnicaNaoPago = tributario_Class.Parcela_Unica_IPTU_NaoPago(_codigo, DateTime.Now.Year); if (bUnicaNaoPago) { break; } } if (bUnicaNaoPago) { 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, "; sNao = " não"; nRet = 3; _tipo_Certidao = RetornoCertidaoDebito.Negativa; } } } else { _tipo_Certidao = RetornoCertidaoDebito.NegativaPositiva; } } string _tributo = ""; foreach (Certidao_debito_documento item in _lista_certidao) { if (item._Tributo != "") { _tributo += item._Tributo + " (IM:" + item._Codigo + ")" + ","; } } if (_tributo.Length > 0) { _tributo = _tributo.Substring(0, _tributo.Length - 1); } int _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Debito_Doc); int _ano_certidao = DateTime.Now.Year; certidao_debito_doc cert = new certidao_debito_doc(); cert.Ano = (short)_ano_certidao; cert.Numero = _numero_certidao; cert.Data_emissao = DateTime.Now; cert.Nome = _lista_certidao[0]._Nome; cert.Cpf_cnpj = optCPF.Checked ? txtCPF.Text : txtCNPJ.Text; if (_tipo_Certidao == RetornoCertidaoDebito.Negativa) { cert.Validacao = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _lista_certidao[0]._Codigo.ToString() + "-IN"; cert.Tributo = "Não consta débito apurado contra o(a) mesmo(a)."; cert.Ret = 1; } else { if (_tipo_Certidao == RetornoCertidaoDebito.Positiva) { cert.Validacao = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _lista_certidao[0]._Codigo.ToString() + "-IP"; cert.Tributo = "Consta débito apurado contra o(a) mesmo(a) com referência a: " + _tributo; cert.Ret = 2; } else { if (_tipo_Certidao == RetornoCertidaoDebito.NegativaPositiva) { cert.Validacao = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _lista_certidao[0]._Codigo.ToString() + "-IS"; cert.Tributo = "Consta débito apurado contra o(a) mesmo(a) com referência a: " + _tributo + " que se encontram em sua exigibilidade suspensa, em razão de parcelamento dos débitos"; cert.Ret = 3; } } } Exception ex = tributario_Class.Insert_Certidao_Debito_Doc(cert); if (ex != null) { throw ex; } else { if (_tipo_Certidao == RetornoCertidaoDebito.Negativa) { crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoDocumentoN.rpt")); 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", cert.Validacao); crystalReport.SetParameterValue("NOME", _lista_certidao[0]._Nome); crystalReport.SetParameterValue("DOC", optCPF.Checked ? txtCPF.Text : txtCNPJ.Text); crystalReport.SetParameterValue("NAO", sNao); 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(); } } else { if (_tipo_Certidao == RetornoCertidaoDebito.Positiva) { crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoDocumentoP.rpt")); 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", cert.Validacao); crystalReport.SetParameterValue("NOME", _lista_certidao[0]._Nome); crystalReport.SetParameterValue("TRIBUTO", _tributo); crystalReport.SetParameterValue("DOC", optCPF.Checked ? txtCPF.Text : txtCNPJ.Text); 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(); } } else { if (_tipo_Certidao == RetornoCertidaoDebito.NegativaPositiva) { crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoDocumentoPN.rpt")); 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", cert.Validacao); crystalReport.SetParameterValue("NOME", _lista_certidao[0]._Nome); crystalReport.SetParameterValue("TRIBUTO", _tributo); crystalReport.SetParameterValue("DOC", optCPF.Checked ? txtCPF.Text : txtCNPJ.Text); 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(); } } } } } SEM_INSCRICAO :; }