public IActionResult Certidao_Inscricao(CertidaoViewModel model) { int _codigo; bool _valida = false; int _numero; _numero = tributarioRepository.Retorna_Codigo_Certidao(Functions.TipoCertidao.Debito); ViewBag.Result = ""; model.OptionList = new List <SelectListItem> { new SelectListItem { Text = " CPF", Value = "cpfCheck", Selected = model.SelectedValue == "cpfCheck" }, new SelectListItem { Text = " CNPJ", Value = "cnpjCheck", Selected = model.SelectedValue == "cnpjCheck" } }; if (model.CpfValue != null || model.CnpjValue != null) { List <int> _lista = new List <int>(); if (model.CpfValue != null) { _lista = empresaRepository.Retorna_Codigo_por_CPF(Functions.RetornaNumero(model.CpfValue)); } else { if (model.CnpjValue != null) { _lista = empresaRepository.Retorna_Codigo_por_CNPJ(Functions.RetornaNumero(model.CnpjValue)); } } if (_lista.Count > 0) { ViewBag.Lista_Codigo = _lista; } } if (!Captcha.ValidateCaptchaCode(model.CaptchaCode, HttpContext)) { ViewBag.Result = "Código de verificação inválido."; return(View(model)); } if (model.Inscricao != null) { _codigo = Convert.ToInt32(model.Inscricao); } else { ViewBag.Result = "Erro ao recuperar as informações."; return(View(model)); } EmpresaStruct _dados = empresaRepository.Dados_Empresa(_codigo); string _sufixo = model.Extrato ? _dados.Data_Encerramento == null ? "XA" : "XE" : "IE"; List <CnaeStruct> ListaCnae = empresaRepository.Lista_Cnae_Empresa(_codigo); string _cnae = "", _cnae2 = ""; foreach (CnaeStruct cnae in ListaCnae) { if (cnae.Principal) { _cnae = cnae.CNAE + "-" + cnae.Descricao; } else { _cnae2 += cnae.CNAE + "-" + cnae.Descricao + System.Environment.NewLine; } } Comprovante_Inscricao reg = new Comprovante_Inscricao() { Codigo = _codigo, Data_Emissao = DateTime.Now, Razao_Social = _dados.Razao_social, Nome_Fantasia = _dados.Nome_fantasia, Cep = _dados.Cep, Cidade = _dados.Cidade_nome + "/" + _dados.UF, Email = _dados.Email_contato, Inscricao_Estadual = _dados.Inscricao_estadual, Endereco = _dados.Endereco_nome + ", " + _dados.Numero, Complemento = _dados.Complemento, Bairro = _dados.Bairro_nome ?? "", Ano = DateTime.Now.Year, Numero = _numero, Controle = _numero.ToString("00000") + DateTime.Now.Year.ToString("0000") + "/" + _codigo.ToString() + "-" + _sufixo, Atividade = _cnae, Atividade2 = _cnae2, Atividade_Extenso = _dados.Atividade_extenso, Cpf_Cnpj = _dados.Cpf_cnpj, Rg = _dados.Rg, Data_Abertura = (DateTime)_dados.Data_abertura, Processo_Abertura = _dados.Numprocesso, Processo_Encerramento = _dados.Numprocessoencerramento, Situacao = _dados.Situacao, Telefone = _dados.Fone_contato, Uf = _dados.UF, Area = (decimal)_dados.Area, Mei = Convert.ToBoolean(_dados.Mei) ? "SIM" : "NÃO", Vigilancia_Sanitaria = empresaRepository.Empresa_tem_VS(_codigo)?"SIM":"NÃO", Taxa_Licenca = empresaRepository.Empresa_tem_TL(_codigo) ? "SIM" : "NÃO" }; if (_dados.Data_Encerramento != null) { reg.Data_Encerramento = (DateTime)_dados.Data_Encerramento; } Certidao_Inscricao reg2 = new Certidao_Inscricao() { Cadastro = reg.Codigo, Data_emissao = reg.Data_Emissao, Data_encerramento = reg.Data_Encerramento, Nome = reg.Razao_Social, Nome_fantasia = reg.Nome_Fantasia ?? "", Cep = reg.Cep ?? "", Cidade = reg.Cidade ?? "", Email = reg.Email ?? "", Inscricao_estadual = reg.Inscricao_Estadual ?? "", Endereco = reg.Endereco + ", " + reg.Numero, Complemento = reg.Complemento ?? "", Bairro = reg.Bairro ?? "", Ano = DateTime.Now.Year, Numero = _numero, Atividade = _cnae ?? "", Atividade_secundaria = _cnae2 ?? "", Atividade_Extenso = reg.Atividade_Extenso, Rg = reg.Rg ?? "", Documento = reg.Cpf_Cnpj, Data_abertura = (DateTime)reg.Data_Abertura, Processo_abertura = reg.Processo_Abertura ?? "", Processo_encerramento = reg.Processo_Encerramento ?? "", Situacao = reg.Situacao, Telefone = reg.Telefone ?? "", Area = (decimal)reg.Area, Mei = reg.Mei, Vigilancia_sanitaria = reg.Vigilancia_Sanitaria, Taxa_licenca = reg.Taxa_Licenca }; if (reg.Data_Encerramento != null) { reg2.Data_encerramento = (DateTime)reg.Data_Encerramento; } Exception ex = tributarioRepository.Insert_Certidao_Inscricao(reg2); if (ex != null) { throw ex; } List <Certidao> Lista_Certidao = new List <Certidao>(); if (model.Extrato) { List <SpExtrato> ListaTributo = tributarioRepository.Lista_Extrato_Tributo(_codigo, 1980, 2050, 0, 99, 0, 99, 0, 999, 0, 99, 0, 99, DateTime.Now, "Web"); List <SpExtrato> ListaParcela = tributarioRepository.Lista_Extrato_Parcela(ListaTributo); Certidao regCert = new Certidao(); foreach (SpExtrato item in ListaParcela.Where(x => (x.Codlancamento == 2 || x.Codlancamento == 6 || x.Codlancamento == 14) && x.Statuslanc < 3)) { Certidao_Inscricao_Extrato regExt = new Certidao_Inscricao_Extrato { Id = reg.Controle, Numero_certidao = reg.Numero, Ano_certidao = (short)reg.Ano, Ano = item.Anoexercicio, Codigo = item.Codreduzido, Complemento = item.Codcomplemento, }; if (item.Datapagamento != null) { regExt.Data_Pagamento = Convert.ToDateTime(item.Datapagamento); } regExt.Data_Vencimento = item.Datavencimento; regExt.Lancamento_Codigo = item.Codlancamento; regExt.Lancamento_Descricao = item.Desclancamento; regExt.Parcela = (byte)item.Numparcela; regExt.Sequencia = (byte)item.Seqlancamento; regExt.Valor_Pago = (decimal)item.Valorpagoreal; ex = tributarioRepository.Insert_Certidao_Inscricao_Extrato(regExt); if (ex != null) { throw ex; } regCert.Controle = _numero.ToString("00000") + DateTime.Now.Year.ToString("0000") + "/" + _codigo.ToString() + "-" + _sufixo; regCert.Codigo = _codigo; regCert.Razao_Social = reg2.Nome; regCert.Nome_Requerente = reg2.Nome; regCert.Data_Abertura = reg2.Data_abertura; regCert.Processo_Encerramento = reg2.Processo_encerramento; regCert.Endereco = reg2.Endereco; regCert.Endereco_Numero = reg2.Numero; regCert.Endereco_Complemento = reg2.Complemento; regCert.Bairro = reg2.Bairro; regCert.Cidade = reg2.Cidade; regCert.Atividade_Extenso = reg2.Atividade_Extenso; regCert.Rg = reg2.Rg; regCert.Cpf_Cnpj = reg2.Documento; regCert.Exercicio = regExt.Ano; regCert.Lancamento_codigo = (byte)regExt.Lancamento_Codigo; regCert.Lancamento_Nome = regExt.Lancamento_Descricao; regCert.Sequencia_Lancamento = regExt.Sequencia; regCert.Complemento = regExt.Complemento; regCert.Data_Vencimento = regExt.Data_Vencimento; regCert.Data_Pagamento = regExt.Data_Pagamento; regCert.Valor_Pago = regExt.Valor_Pago; regCert.Processo_Abertura = reg2.Processo_abertura; regCert.Numero_Ano = regExt.Numero_certidao.ToString("00000") + "/" + regExt.Ano_certidao; if (reg2.Data_encerramento != null) { regCert.Data_Encerramento = (DateTime)reg.Data_Encerramento; } Lista_Certidao.Add(regCert); } if (Lista_Certidao.Count == 0) { ViewBag.Result = "Esta empresa não possui débitos pagos de ISS/Taxa."; return(View(model)); } } List <Comprovante_Inscricao> certidao = new List <Comprovante_Inscricao> { reg }; ReportDocument rd = new ReportDocument(); if (model.Extrato) { if (_dados.Data_Encerramento != null) { rd.Load(hostingEnvironment.ContentRootPath + "\\Reports\\CertidaoInscricaoExtratoEncerrada.rpt"); } else { rd.Load(hostingEnvironment.ContentRootPath + "\\Reports\\CertidaoInscricaoExtratoAtiva.rpt"); } } else { if (_valida) { rd.Load(hostingEnvironment.ContentRootPath + "\\Reports\\Comprovante_InscricaoValida.rpt"); } else { rd.Load(hostingEnvironment.ContentRootPath + "\\Reports\\Comprovante_Inscricao.rpt"); } } try { if (model.Extrato) { rd.SetDataSource(Lista_Certidao); } else { rd.SetDataSource(certidao); } Stream stream = rd.ExportToStream(ExportFormatType.PortableDocFormat); return(File(stream, "application/pdf", "Certidao_Inscricao.pdf")); } catch { throw; } }
public IActionResult Validate_CI(CertidaoViewModel model) { int _codigo, _ano, _numero; string _chave = model.Chave; model.OptionList = new List <SelectListItem> { new SelectListItem { Text = " CPF", Value = "cpfCheck", Selected = model.SelectedValue == "cpfCheck" }, new SelectListItem { Text = " CNPJ", Value = "cnpjCheck", Selected = model.SelectedValue == "cnpjCheck" } }; if (model.Chave != null) { chaveStruct _chaveStruct = tributarioRepository.Valida_Certidao(_chave); if (!_chaveStruct.Valido) { ViewBag.Result = "Chave de autenticação da certidão inválida."; return(View("Certidao_Inscricao", model)); } else { _codigo = _chaveStruct.Codigo; _numero = _chaveStruct.Numero; _ano = _chaveStruct.Ano; List <Comprovante_Inscricao> certidao = new List <Comprovante_Inscricao>(); Certidao_Inscricao _dados = tributarioRepository.Retorna_Certidao_Inscricao(_ano, _numero); if (_dados != null) { Comprovante_Inscricao reg = new Comprovante_Inscricao() { Codigo = _codigo, Razao_Social = _dados.Nome, Nome_Fantasia = _dados.Nome_fantasia, Cep = _dados.Cep, Cidade = _dados.Cidade, Email = _dados.Email, Inscricao_Estadual = _dados.Inscricao_estadual, Endereco = _dados.Endereco + ", " + _dados.Numero, Complemento = _dados.Complemento, Bairro = _dados.Bairro ?? "", Ano = _ano, Numero = _numero, Controle = _chave, Atividade = _dados.Atividade, Atividade2 = _dados.Atividade_secundaria, Atividade_Extenso = _dados.Atividade_Extenso, Cpf_Cnpj = _dados.Documento, Data_Abertura = (DateTime)_dados.Data_abertura, Processo_Abertura = _dados.Processo_abertura, Processo_Encerramento = _dados.Processo_encerramento, Situacao = _dados.Situacao, Telefone = _dados.Telefone, Area = (decimal)_dados.Area, Mei = _dados.Mei, Vigilancia_Sanitaria = _dados.Vigilancia_sanitaria, Taxa_Licenca = _dados.Taxa_licenca }; if (_dados.Data_encerramento != null) { reg.Data_Encerramento = (DateTime)_dados.Data_encerramento; } certidao.Add(reg); } else { ViewBag.Result = "Ocorreu um erro ao processar as informações."; return(View("Certidao_Inscricao", model)); } ReportDocument rd = new ReportDocument(); rd.Load(hostingEnvironment.ContentRootPath + "\\Reports\\Comprovante_Inscricao_Valida.rpt"); try { rd.SetDataSource(certidao); Stream stream = rd.ExportToStream(ExportFormatType.PortableDocFormat); return(File(stream, "application/pdf", "Certidao_Endereco.pdf")); } catch { throw; } } } else { ViewBag.Result = "Chave de validação inválida."; return(View("Certidao_Inscricao", model)); } }