示例#1
0
        public IActionResult Certidao_Valor_Venal(CertidaoViewModel model)
        {
            int  _codigo;
            int  _numero    = tributarioRepository.Retorna_Codigo_Certidao(Functions.TipoCertidao.ValorVenal);
            bool _existeCod = false;
            CertidaoViewModel certidaoViewModel = new CertidaoViewModel();

            ViewBag.Result = "";

            _codigo = Convert.ToInt32(model.Inscricao);
            if (_codigo < 100000)
            {
                _existeCod = _imovelRepository.Existe_Imovel(_codigo);
            }

            if (!Captcha.ValidateCaptchaCode(model.CaptchaCode, HttpContext))
            {
                ViewBag.Result = "Código de verificação inválido.";
                return(View(certidaoViewModel));
            }

            if (!_existeCod)
            {
                ViewBag.Result = "Imóvel não cadastrado.";
                return(View(certidaoViewModel));
            }

            List <ProprietarioStruct> listaProp = _imovelRepository.Lista_Proprietario(_codigo, true);
            ImovelStruct _dados = _imovelRepository.Dados_Imovel(_codigo);
            Certidao     reg    = new Certidao()
            {
                Codigo               = _dados.Codigo,
                Inscricao            = _dados.Inscricao,
                Endereco             = _dados.NomeLogradouro,
                Endereco_Numero      = (int)_dados.Numero,
                Endereco_Complemento = _dados.Complemento,
                Bairro               = _dados.NomeBairro ?? "",
                Nome_Requerente      = listaProp[0].Nome,
                Ano             = DateTime.Now.Year,
                Numero          = _numero,
                Quadra_Original = _dados.QuadraOriginal ?? "",
                Lote_Original   = _dados.LoteOriginal ?? "",
                Controle        = _numero.ToString("00000") + DateTime.Now.Year.ToString("0000") + "/" + _codigo.ToString() + "-VV"
            };

            SpCalculo RegCalculo = _imovelRepository.Calculo_IPTU(_dados.Codigo, DateTime.Now.Year);

            if (RegCalculo == null)
            {
                ViewBag.Result = "Erro ao processar a certidão.";
                return(View(certidaoViewModel));
            }
            else
            {
                reg.Area       = RegCalculo.Areaterreno;
                reg.VVT        = RegCalculo.Vvt;
                reg.VVP        = RegCalculo.Vvp;
                reg.VVI        = RegCalculo.Vvi;
                reg.Numero_Ano = reg.Numero.ToString("00000") + "/" + reg.Ano;
            }

            Models.Certidao_valor_venal regCert = new Certidao_valor_venal()
            {
                Ano         = reg.Ano,
                Codigo      = reg.Codigo,
                Data        = DateTime.Now,
                Descbairro  = reg.Bairro,
                Inscricao   = reg.Inscricao,
                Logradouro  = reg.Endereco,
                Nomecidadao = reg.Nome_Requerente,
                Li_lotes    = reg.Lote_Original,
                Li_compl    = reg.Endereco_Complemento,
                Li_num      = reg.Endereco_Numero,
                Li_quadras  = reg.Quadra_Original,
                Numero      = reg.Numero,
                Areaterreno = RegCalculo.Areaterreno,
                Vvt         = RegCalculo.Vvt,
                Vvp         = RegCalculo.Vvp,
                Vvi         = RegCalculo.Vvi
            };

            Exception ex = tributarioRepository.Insert_Certidao_Valor_Venal(regCert);

            if (ex != null)
            {
                ViewBag.Result = "Ocorreu um erro no processamento das informações.";
                return(View(certidaoViewModel));
            }
            List <Certidao> certidao = new List <Certidao> {
                reg
            };

            ReportDocument rd = new ReportDocument();

            rd.Load(hostingEnvironment.ContentRootPath + "\\Reports\\Certidao_Valor_Venal.rpt");

            try {
                rd.SetDataSource(certidao);
                Stream stream = rd.ExportToStream(ExportFormatType.PortableDocFormat);
                return(File(stream, "application/pdf", "Certidao_VVenal.pdf"));
            } catch {
                throw;
            }
        }