public TituloModelo Obter(int id)
        {
            try
            {
                TituloModelo tituloModelo = _da.Obter(id);

                if (tituloModelo.Regra(eRegra.FaseAnterior))
                {
                    foreach (var item in tituloModelo.Respostas(eRegra.FaseAnterior, eResposta.Modelo))
                    {
                        if (tituloModelo.Id != Convert.ToInt32(item.Valor))
                        {
                            TituloModelo titulo = _da.ObterSimplificado(Convert.ToInt32(item.Valor));

                            titulo.IdRelacionamento = item.Id;

                            tituloModelo.Modelos.Add(titulo);
                        }
                    }
                }
                return(tituloModelo);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(null);
        }
        public void AlterarSituacaoModeloTitulo(TituloModelo modelo)
        {
            try
            {
                if (modelo.SituacaoId == 2 && (!_validar.PossuiConfiguracaoAtividade(modelo)))
                {
                    return;
                }

                GerenciadorTransacao.ObterIDAtual();
                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                {
                    bancoDeDados.IniciarTransacao();
                    _da.AlterarSituacao(modelo);
                }

                if (modelo.SituacaoId == 1)
                {
                    Validacao.Add(Mensagem.TituloModelo.AtivarModelo);
                }
                else
                {
                    Validacao.Add(Mensagem.TituloModelo.DesativarTituloModelo);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
 private bool ProtocoloPossuiModelo(TituloModelo modelo, int protocolo, int?atividade = null)
 {
     if (modelo.Regra(eRegra.PublicoExterno))
     {
         return(_da.VerificarProcDocPossuiModelo(modelo.Id, protocolo, atividade));
     }
     return(true);
 }
 internal bool PossuiConfiguracaoAtividade(TituloModelo modelo)
 {
     if (_da.PossuiConfiguracaoAtividade(modelo))
     {
         Validacao.Add(Mensagem.TituloModelo.TituloConfiguradoAtividade);
     }
     return(Validacao.EhValido);
 }
        public static bool Regra(this TituloModelo modelo, eRegra regra)
        {
            if (modelo == null || modelo.Regras == null || !modelo.Regras.Exists(x => x.TipoEnum == regra))
            {
                return(false);
            }

            return(modelo.Regras.Single(x => x.TipoEnum == regra).Valor);
        }
        public static List <TituloModeloResposta> Respostas(this TituloModelo modelo, eRegra regra, eResposta resposta)
        {
            if (modelo.Regras == null || !modelo.Regras.Exists(x => x.TipoEnum == regra))
            {
                return(null);
            }

            return(modelo.Regras.Single(x => x.TipoEnum == regra).Respostas.Where(x => x.TipoEnum == resposta).ToList());
        }
示例#7
0
        public void CarregarTituloAnteriorSigla(Finalidade item)
        {
            if (Validacao.EhValido && String.IsNullOrWhiteSpace(item.TituloModeloAnteriorSigla))
            {
                TituloModelo tituloModeloAnterior = _tituloModeloBus.ObterSimplificado(item.TituloModeloAnteriorId.Value);

                item.TituloModeloAnteriorSigla = tituloModeloAnterior.Sigla;
            }
        }
        public static TituloModeloResposta Resposta(this TituloModelo modelo, eRegra regra, eResposta resposta)
        {
            if (modelo.Regras == null || !modelo.Regras.Exists(x => x.TipoEnum == regra))
            {
                return(null);
            }

            return(modelo.Regras.Single(x => x.TipoEnum == regra).Respostas.SingleOrDefault(y => y.TipoEnum == resposta));
        }
        public void Salvar(TituloModelo tituloModelo)
        {
            try
            {
                if (_validar.Salvar(tituloModelo))
                {
                    if (!tituloModelo.Regra(eRegra.PdfGeradoSistema))
                    {
                        tituloModelo.Arquivo.Id = null;
                    }

                    GerenciadorTransacao.ObterIDAtual();
                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        #region Arquivo

                        if (tituloModelo.Arquivo.Id != null && tituloModelo.Arquivo.Id == 0)
                        {
                            ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno);
                            tituloModelo.Arquivo = _busArquivo.Copiar(tituloModelo.Arquivo);
                        }

                        if (tituloModelo.Arquivo.Id == 0)
                        {
                            ArquivoDa _arquivoDa = new ArquivoDa();
                            _arquivoDa.Salvar(tituloModelo.Arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados);
                        }

                        #endregion

                        tituloModelo.Regras = tituloModelo.Regras.FindAll(x => x.Valor == true);

                        if (tituloModelo.Regra(eRegra.Renovacao))
                        {
                            TituloModeloRegra regra = tituloModelo.Regras.SingleOrDefault(x => x.TipoEnum == eRegra.Renovacao);
                            regra.Respostas.Add(new TituloModeloResposta()
                            {
                                Valor = tituloModelo.Id, TipoEnum = eResposta.Modelo
                            });
                        }

                        _da.Salvar(tituloModelo, bancoDeDados);

                        bancoDeDados.Commit();
                        Validacao.Add(Mensagem.TituloModelo.TituloModeloEditado);
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
        internal TituloModelo ObterSimplificado(int id, BancoDeDados banco = null)
        {
            TituloModelo modelo = new TituloModelo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título Modelo

                Comando comando = bancoDeDados.CriarComando(@"select m.id, m.tid, m.codigo, m.tipo, m.subtipo, 
				m.data_criacao, m.nome, m.sigla, m.tipo_protocolo, m.arquivo from {0}tab_titulo_modelo m where m.id = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        modelo.Id               = id;
                        modelo.Tid              = reader["tid"].ToString();
                        modelo.SubTipo          = reader["subtipo"].ToString();
                        modelo.DataCriacao.Data = Convert.ToDateTime(reader["data_criacao"]);
                        modelo.Nome             = reader["nome"].ToString();
                        modelo.Sigla            = reader["sigla"].ToString();

                        if (reader["codigo"] != null && !Convert.IsDBNull(reader["codigo"]))
                        {
                            modelo.Codigo = Convert.ToInt32(reader["codigo"]);
                        }

                        if (reader["tipo"] != null && !Convert.IsDBNull(reader["tipo"]))
                        {
                            modelo.Tipo = Convert.ToInt32(reader["tipo"]);
                        }

                        if (reader["tipo_protocolo"] != null && !Convert.IsDBNull(reader["tipo_protocolo"]))
                        {
                            modelo.TipoProtocolo = Convert.ToInt32(reader["tipo_protocolo"]);
                        }

                        if (reader["arquivo"] != null && !Convert.IsDBNull(reader["arquivo"]))
                        {
                            modelo.Arquivo.Id = Convert.ToInt32(reader["arquivo"]);
                        }
                    }
                    reader.Close();
                }

                #endregion
            }

            return(modelo);
        }
示例#11
0
        public ActionResult Salvar(int modeloId)
        {
            TituloModelo modelo = _busModelo.ObterSimplificado(modeloId);

            if (modelo == null || !modelo.Codigo.HasValue || !EspecificiadadeBusFactory.Possui(modelo.Codigo.Value))
            {
                return(Json(new { Possui = false }, JsonRequestBehavior.AllowGet));
            }

            _bus = EspecificiadadeBusFactory.Criar(modelo.Codigo.Value);

            eEspecificidade eTelaEsp = (eEspecificidade)modelo.Codigo.Value;
            string          url      = Url.Action(eTelaEsp.ToString(), _bus.Tipo.ToString(), new { Area = "Especificidades" });

            return(Json(new { Possui = true, Url = url, Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult ObterTituloModeloAnterior(int titulo)
        {
            List <TituloModeloLst> tituloModelosFaseAnterior = _bus.ObterModelosAnteriores(titulo);

            List <TituloModeloLst> tituloModelosRenovacao = _bus.ObterModelosRenovacao(titulo);

            tituloModelosRenovacao.AddRange(tituloModelosFaseAnterior);

            TituloModelo modelo = _bus.VerficarTituloPassivelRenovação(titulo);

            TituloModelo modeloAtual = new TituloModeloBus().Obter(titulo);

            Boolean faseAnteriorObrigatoria = Convert.ToBoolean((modeloAtual.Resposta(eRegra.FaseAnterior, eResposta.TituloAnteriorObrigatorio) ?? new TituloModeloResposta()).Valor);

            return(Json(new { @Lista = tituloModelosFaseAnterior, @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @EhFaseAnterior = modelo.Regra(eRegra.FaseAnterior), @FaseAnteriorEhObrigatoria = faseAnteriorObrigatoria.ToString().ToLower(), @ListaRenovacao = tituloModelosRenovacao }, JsonRequestBehavior.AllowGet));
        }
        public List <TituloAssinante> ObterAssinantes(TituloModelo modelo)
        {
            try
            {
                List <TituloAssinante> lstAssinantes = new List <TituloAssinante>();

                foreach (Assinante assinante in modelo.Assinantes)
                {
                    // Somente responsável pelo setor
                    if (assinante.TipoId == 1)
                    {
                        FuncionarioLst func = _busFuncionario.ObterResponsavelSetor(assinante.SetorId);
                        if (func != null && func.Id > 0 && !lstAssinantes.Exists(x => x.FuncionarioId == func.Id))
                        {
                            lstAssinantes.Add(new TituloAssinante()
                            {
                                FuncionarioId = func.Id, FuncionarioNome = func.Texto
                            });
                        }
                    }
                    // Qualquer funcionário do setor
                    else if (assinante.TipoId == 2)
                    {
                        List <FuncionarioLst> funcLst = _busFuncionario.ObterFuncionariosSetor(assinante.SetorId);
                        foreach (FuncionarioLst func in funcLst)
                        {
                            if (!lstAssinantes.Exists(x => x.FuncionarioId == func.Id))
                            {
                                lstAssinantes.Add(new TituloAssinante()
                                {
                                    FuncionarioId = func.Id, FuncionarioNome = func.Texto
                                });
                            }
                        }
                    }
                }
                return(lstAssinantes);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(null);
        }
示例#14
0
        public bool ModeloTituloTipoValidos(Titulo titulo)
        {
            foreach (var codigo in ModeloCodigosPendencia)
            {
                titulo.Protocolo.Tipo.Id = titulo.Protocolo.IsProcesso ? (int)eTipoProtocolo.Processo : (int)eTipoProtocolo.Documento;

                TituloModelo modelo = _modeloBus.ObterSimplificadoCodigo(codigo);

                if (modelo.TipoProtocolo != (int)eTipoProtocolo.Protocolo)
                {
                    if (modelo.TipoProtocolo != titulo.Protocolo.Tipo.Id)
                    {
                        Validacao.Add(Mensagem.Titulo.TitulosProtocolosDiferentes);
                    }
                }
            }

            return(Validacao.EhValido);
        }
示例#15
0
        public ActionResult LaudoVistoriaFlorestal(EspecificidadeVME especificidade)
        {
            LaudoVistoriaFlorestalBus  _busLaudo = new LaudoVistoriaFlorestalBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();

            List <PessoaLst>       destinatarios = new List <PessoaLst>();
            Titulo                 titulo        = new Titulo();
            TituloModelo           modelo        = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            LaudoVistoriaFlorestal laudo         = new LaudoVistoriaFlorestal();

            LaudoVistoriaFlorestalVM vm = null;
            string htmlEspecificidade   = string.Empty;

            if (especificidade.TituloId > 0)
            {
                titulo                = _busTitulo.ObterSimplificado(especificidade.TituloId);
                titulo.Anexos         = _busTitulo.ObterAnexos(especificidade.TituloId);
                titulo.Atividades     = _busTitulo.ObterAtividades(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);
                titulo.Exploracoes    = _busTitulo.ObterExploracoes(especificidade.TituloId);

                laudo = _busLaudo.Obter(especificidade.TituloId) as LaudoVistoriaFlorestal;

                if (laudo != null)
                {
                    especificidade.AtividadeProcDocReq = laudo.ProtocoloReq;
                    laudo.Anexos = titulo.Anexos;
                }
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = laudo.Destinatario, Texto = laudo.DestinatarioNomeRazao, IsAtivo = true
                    });
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            var busExploracao     = new ExploracaoFlorestalBus();
            var exploracoesLst    = busExploracao.ObterPorEmpreendimentoList(especificidade.EmpreendimentoId);
            var caracterizacaoLst = new List <CaracterizacaoLst>();

            if (exploracoesLst.Count() > 0)
            {
                caracterizacaoLst = exploracoesLst.Select(x => new CaracterizacaoLst
                {
                    Id                  = x.Id,
                    Texto               = x.CodigoExploracaoTexto ?? "",
                    ParecerFavoravel    = String.Join(", ", x.Exploracoes.Where(w => w.ParecerFavoravel == true).Select(y => y.Identificacao)?.ToList()),
                    ParecerDesfavoravel = String.Join(", ", x.Exploracoes.Where(w => w.ParecerFavoravel == false).Select(y => y.Identificacao)?.ToList()),
                    IsAtivo             = true
                })?.ToList();
            }

            vm = new LaudoVistoriaFlorestalVM(
                modelo.Codigo,
                laudo,
                lstProcessosDocumentos,
                lstAtividades,
                caracterizacaoLst,
                destinatarios,
                _protocoloBus.ObterResponsaveisTecnicosPorRequerimento(especificidade.AtividadeProcDocReq.RequerimentoId),
                _busLista.ObterEspecificidadeConclusoes,
                titulo.Condicionantes,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
                vm.Exploracoes           = titulo.Exploracoes;

                var parecerFavoravel    = new ArrayList();
                var parecerDesfavoravel = new ArrayList();
                foreach (var exploracao in exploracoesLst)
                {
                    if (exploracao.Exploracoes.Where(x => x.ParecerFavoravel == true)?.ToList().Count > 0)
                    {
                        parecerFavoravel.Add(String.Concat(exploracao.CodigoExploracaoTexto, " (", String.Join(", ", exploracao.Exploracoes.Where(x => x.ParecerFavoravel == true).Select(x => x.Identificacao)?.ToList()), ")"));
                    }
                    if (exploracao.Exploracoes.Where(x => x.ParecerFavoravel == false)?.ToList().Count > 0)
                    {
                        parecerDesfavoravel.Add(String.Concat(exploracao.CodigoExploracaoTexto, " (", String.Join(", ", exploracao.Exploracoes.Where(x => x.ParecerFavoravel == false).Select(x => x.Identificacao)?.ToList()), ")"));
                    }
                }
                vm.ParecerFavoravelLabel    = parecerFavoravel.Count > 0 ? String.Join(", ", parecerFavoravel?.ToArray()) : "";
                vm.ParecerDesfavoravelLabel = parecerDesfavoravel.Count > 0 ? String.Join(", ", parecerDesfavoravel?.ToArray()) : "";
            }

            vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0);

            htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Laudo/LaudoVistoriaFlorestal.ascx", vm);
            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        public bool Salvar(TituloModelo tituloModelo)
        {
            TituloModeloResposta resposta = null;

            if (tituloModelo.Tipo < 1)
            {
                Validacao.Add(Mensagem.TituloModelo.TipoObrigatorio);
            }

            if (string.IsNullOrWhiteSpace(tituloModelo.Nome))
            {
                Validacao.Add(Mensagem.TituloModelo.NomeObrigatorio);
            }

            if (string.IsNullOrWhiteSpace(tituloModelo.Sigla))
            {
                Validacao.Add(Mensagem.TituloModelo.SiglaObrigatorio);
            }

            if (tituloModelo.TipoProtocolo < 1)
            {
                Validacao.Add(Mensagem.TituloModelo.TipoProtocoloObrigatorio);
            }
            else
            {
                if (tituloModelo.TipoDocumentoEnum == eTituloModeloTipoDocumento.TituloDeclaratorio && tituloModelo.TipoProtocolo != 4)                //Nao possui
                {
                    Validacao.Add(Mensagem.TituloModelo.DeclaratorioTipoProtocolo);
                }
            }

            if (tituloModelo.Setores.Count < 1)
            {
                Validacao.Add(Mensagem.TituloModelo.SetoresObrigatorio);
            }

            if (tituloModelo.Regra(eRegra.PdfGeradoSistema))
            {
                if (tituloModelo.Arquivo == null || tituloModelo.Arquivo.Id == null)
                {
                    Validacao.Add(Mensagem.TituloModelo.ArquivoObrigatorio);
                }
            }

            if (tituloModelo.Regra(eRegra.Prazo))
            {
                resposta = tituloModelo.Resposta(eRegra.Prazo, eResposta.InicioPrazo);
                if (resposta == null || resposta.Valor == null || Convert.ToInt32(resposta.Valor) < 1)
                {
                    Validacao.Add(Mensagem.TituloModelo.InicioPrazoObrigatorio);
                }

                resposta = tituloModelo.Resposta(eRegra.Prazo, eResposta.TipoPrazo);
                if (resposta == null || resposta.Valor == null || Convert.ToInt32(resposta.Valor) < 1)
                {
                    Validacao.Add(Mensagem.TituloModelo.TipoPrazoObrigatorio);
                }
            }

            if (tituloModelo.Regra(eRegra.EnviarEmail))
            {
                resposta = tituloModelo.Resposta(eRegra.EnviarEmail, eResposta.TextoEmail);

                if (resposta == null || resposta.Valor == null || string.IsNullOrWhiteSpace(resposta.Valor.ToString()))
                {
                    Validacao.Add(Mensagem.TituloModelo.TextoEmailObrigatorio);
                }
                else
                {
                    if (resposta.Valor.ToString().Length > 500)
                    {
                        Validacao.Add(Mensagem.TituloModelo.TextoEmailTamanhoMaximo);
                    }
                }
            }

            if (tituloModelo.Regra(eRegra.FaseAnterior))
            {
                List <TituloModeloResposta> respostas = tituloModelo.Respostas(eRegra.FaseAnterior, eResposta.Modelo);

                if (respostas.Count < 1)
                {
                    Validacao.Add(Mensagem.TituloModelo.ModeloAnteriorObrigatorio);
                }
                else
                {
                    respostas.ForEach(x =>
                    {
                        int count = 0;

                        respostas.ForEach(y => { if (x.Valor.ToString() == y.Valor.ToString())
                                                 {
                                                     count++;
                                                 }
                                          });

                        if (count > 1)
                        {
                            Validacao.Add(Mensagem.TituloModelo.ModeloAnteriorDuplicado);
                        }
                    });
                }
            }

            return(Validacao.EhValido);
        }
示例#17
0
        public bool ValidarAtividade(List <Atividade> atividades, string local = null)
        {
            if (atividades.Count <= 0)
            {
                Validacao.Add(Msg.AtividadeObrigatorio);
                return(Validacao.EhValido);
            }

            foreach (Atividade atividade in atividades)
            {
                if (!_atividadeBus.ExisteAtividadeNoSetor(atividade.Id, atividade.SetorId))
                {
                    Validacao.Add(Msg.AtividadeNaoEstaNoSetorInformado(atividade.NomeAtividade));
                }
            }

            int    SetorId                  = atividades[0].SetorId;
            int    titulos                  = 0;
            int    titulosDeclaratorio      = 0;
            string tituloDeclaratorioModelo = string.Empty;

            foreach (Atividade atividade in atividades)
            {
                #region Atividades

                if (SetorId != atividade.SetorId)
                {
                    Validacao.Add(Msg.AtividadesSetoresDiferentes);
                    return(Validacao.EhValido);
                }

                if (atividade.Finalidades.Count < 1)
                {
                    Validacao.Add(Msg.TituloObrigatorio(atividade.NomeAtividade));
                    return(Validacao.EhValido);
                }

                if (!_atividadeBus.AtividadeAtiva(atividade.Id))
                {
                    Validacao.Add(Msg.AtividadeDesativada(atividade.NomeAtividade, local));
                }

                foreach (var item in atividade.Finalidades)
                {
                    #region Finalidades

                    if (item.TituloModelo == 0)
                    {
                        Validacao.Add(Msg.TituloObrigatorio(atividade.NomeAtividade));
                    }

                    //Verifica se a situação da atividade é encerrada ou já tem título emitido
                    if (atividade.Protocolo.Id > 0 && _atividadeBus.ValidarAtividadeComTituloOuEncerrada(atividade.Protocolo.Id.Value, atividade.Protocolo.IsProcesso, atividade.Id, item.TituloModelo))
                    {
                        continue;
                    }

                    if (!_atividadeConfigurada.AtividadeConfigurada(atividade.Id, item.TituloModelo))
                    {
                        Validacao.Add(Msg.TituloNaoConfiguradoAtividade(item.TituloModeloTexto, atividade.NomeAtividade, local));
                        continue;
                    }

                    TituloModelo modelo = _tituloModeloBus.Obter(item.TituloModelo);

                    if (modelo.TipoDocumentoEnum == eTituloModeloTipoDocumento.Titulo)
                    {
                        ++titulos;
                    }
                    else
                    {
                        ++titulosDeclaratorio;
                        tituloDeclaratorioModelo = modelo.Nome;
                    }

                    if (titulos > 0 && titulosDeclaratorio > 0)
                    {
                        Validacao.Add(Msg.TituloDeclaratorioOutroRequerimento(tituloDeclaratorioModelo));
                    }

                    if (item.Id == 3)                    //Renovação
                    {
                        #region Renovacao

                        if (!modelo.Regra(eRegra.Renovacao))
                        {
                            Validacao.Add(Msg.TituloNaoEhRenovacao(item.TituloModeloTexto, atividade.NomeAtividade, local));
                        }

                        if (modelo.Regra(eRegra.Renovacao))
                        {
                            if (item.EmitidoPorInterno)
                            {
                                if (item.TituloModeloAnteriorId == 0 || item.TituloModeloAnteriorId == null)
                                {
                                    Validacao.Add(Msg.TituloAnteriorObrigatorio(item.TituloModeloTexto, atividade.NomeAtividade));
                                }

                                if (string.IsNullOrWhiteSpace(item.TituloAnteriorNumero))
                                {
                                    Validacao.Add(Msg.NumeroAnteriorObrigatorio(item.TituloModeloTexto, atividade.NomeAtividade));
                                }
                                else
                                {
                                    if (!(ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(item.TituloAnteriorNumero) ||
                                          ValidacoesGenericasBus.ValidarNumero(item.TituloAnteriorNumero, 12)))
                                    {
                                        Validacao.Add(Msg.TituloAnteriorNumeroInvalido);
                                    }
                                    else
                                    {
                                        if (ValidacoesGenericasBus.ValidarNumero(item.TituloAnteriorNumero, 12) &&
                                            _requerimentoDa.ValidarNumeroSemAnoExistente(item.TituloAnteriorNumero, item.TituloModeloAnteriorId.GetValueOrDefault()))
                                        {
                                            Validacao.Add(Msg.TituloNumeroSemAnoEncontrado);
                                        }
                                    }
                                }

                                CarregarTituloAnteriorSigla(item);
                            }
                            else
                            {
                                ValidarTituloNumeroOrgaoTexto(item, atividade);
                            }
                        }

                        #endregion
                    }
                    else
                    {
                        #region Fase Anterior

                        if (!modelo.Regra(eRegra.FaseAnterior) && (item.TituloModeloAnteriorId != null && item.TituloModeloAnteriorId != 0))
                        {
                            Validacao.Add(Msg.TituloNaoTemTituloAnterior(item.TituloModeloAnteriorTexto, item.TituloModeloTexto, local));
                            continue;
                        }

                        Boolean adicionouTituloAnterior = false;
                        Boolean validarTituloAnterior   = Convert.ToBoolean((modelo.Resposta(eRegra.FaseAnterior, eResposta.TituloAnteriorObrigatorio) ?? new TituloModeloResposta()).Valor);

                        if (item.EmitidoPorInterno)
                        {
                            adicionouTituloAnterior = (item.TituloAnteriorId.GetValueOrDefault(0) > 0) || (!String.IsNullOrWhiteSpace(item.TituloAnteriorNumero));
                        }
                        else
                        {
                            adicionouTituloAnterior = (!String.IsNullOrWhiteSpace(item.TituloModeloAnteriorTexto)) || (!String.IsNullOrWhiteSpace(item.TituloAnteriorNumero)) || (!String.IsNullOrWhiteSpace(item.OrgaoExpedidor));
                        }

                        validarTituloAnterior = validarTituloAnterior || adicionouTituloAnterior;

                        if (modelo.Regra(eRegra.FaseAnterior) && validarTituloAnterior)
                        {
                            List <TituloModeloResposta> respostas = modelo.Respostas(eRegra.FaseAnterior, eResposta.Modelo);

                            if (respostas == null || respostas.Count < 1)
                            {
                                Validacao.Add(Msg.TituloNaoEhFaseAnterior(item.TituloModeloTexto, local));
                            }

                            if (item.EmitidoPorInterno)
                            {
                                if (item.TituloModeloAnteriorId != null && item.TituloModeloAnteriorId != 0)
                                {
                                    if (respostas.SingleOrDefault(x => x.Valor.ToString() == item.TituloModeloAnteriorId.ToString()) == null)
                                    {
                                        Validacao.Add(Msg.TituloNaoTemTituloAnterior(item.TituloModeloTexto, item.TituloModeloAnteriorTexto, local));
                                    }
                                }

                                if (string.IsNullOrWhiteSpace(item.TituloAnteriorNumero))
                                {
                                    Validacao.Add(Msg.NumeroAnteriorObrigatorio(item.TituloModeloTexto, atividade.NomeAtividade));
                                }
                                else
                                {
                                    if (!(ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(item.TituloAnteriorNumero) ||
                                          ValidacoesGenericasBus.ValidarNumero(item.TituloAnteriorNumero, 12)))
                                    {
                                        Validacao.Add(Msg.TituloAnteriorNumeroInvalido);
                                    }
                                    else
                                    {
                                        if (ValidacoesGenericasBus.ValidarNumero(item.TituloAnteriorNumero, 12) &&
                                            _requerimentoDa.ValidarNumeroSemAnoExistente(item.TituloAnteriorNumero, item.TituloModeloAnteriorId.GetValueOrDefault()))
                                        {
                                            Validacao.Add(Msg.TituloNumeroSemAnoEncontrado);
                                        }
                                    }
                                }

                                CarregarTituloAnteriorSigla(item);
                            }
                            else
                            {
                                ValidarTituloNumeroOrgaoTexto(item, atividade);
                            }
                        }

                        #endregion
                    }
                    #endregion
                }

                #endregion
            }

            return(Validacao.EhValido);
        }
示例#18
0
        public ActionResult OutrosConclusaoTransferenciaDominio(EspecificidadeVME especificidade)
        {
            OutrosConclusaoTransferenciaDominioBus bus        = new OutrosConclusaoTransferenciaDominioBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();

            Titulo       titulo = new Titulo();
            TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            OutrosConclusaoTransferenciaDominio outros = new OutrosConclusaoTransferenciaDominio();

            int atividadeSelecionada = 0;

            if (especificidade.TituloId > 0)
            {
                titulo            = _busTitulo.Obter(especificidade.TituloId);
                titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId);

                if (titulo.Atividades.Count > 0)
                {
                    atividadeSelecionada = titulo.Atividades[0].Id;
                }

                outros = especificidade.IsVisualizar ? bus.ObterHistorico(especificidade.TituloId, titulo.Tid) as OutrosConclusaoTransferenciaDominio : bus.Obter(especificidade.TituloId) as OutrosConclusaoTransferenciaDominio;

                if (outros != null)
                {
                    especificidade.AtividadeProcDocReq = outros.ProtocoloReq;
                }
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            OutrosConclusaoTransferenciaDominioVM vm = new OutrosConclusaoTransferenciaDominioVM(
                lstProcessosDocumentos,
                lstAtividades,
                outros,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar,
                atividadeSelecionada);

            List <PessoaLst> lstDestinatarios = new List <PessoaLst>();
            List <PessoaLst> lstResponsaveis  = new List <PessoaLst>();

            if (especificidade.ProtocoloId > 0)
            {
                IProtocolo iProtocolo = new ProtocoloBus().ObterSimplificado(especificidade.ProtocoloId);

                lstDestinatarios.Add(new PessoaLst()
                {
                    Texto = iProtocolo.Interessado.NomeRazaoSocial, Id = iProtocolo.Interessado.Id
                });

                List <Pessoa> responsaveis = new EmpreendimentoBus().ObterEmpreendimentoResponsaveis(iProtocolo.Empreendimento.Id);

                foreach (Pessoa pessoa in responsaveis)
                {
                    lstResponsaveis.Add(new PessoaLst()
                    {
                        Texto = pessoa.NomeRazaoSocial, Id = pessoa.Id
                    });
                    if (pessoa.Id == iProtocolo.Interessado.Id)
                    {
                        continue;
                    }
                    lstDestinatarios.Add(new PessoaLst()
                    {
                        Texto = pessoa.NomeRazaoSocial, Id = pessoa.Id
                    });
                }
            }

            vm.DestinatariosLst = ViewModelHelper.CriarSelectList(lstDestinatarios);
            vm.ResponsaveisLst  = ViewModelHelper.CriarSelectList(lstResponsaveis);
            vm.InteressadosLst  = ViewModelHelper.CriarSelectList(lstDestinatarios);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
            }

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Outros/OutrosConclusaoTransferenciaDominio.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
示例#19
0
        public ActionResult OutrosLegitimacaoTerraDevoluta(EspecificidadeVME especificidade)
        {
            OutrosLegitimacaoTerraDevolutaBus bus             = new OutrosLegitimacaoTerraDevolutaBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios          = new List <PessoaLst>();

            Titulo       titulo = new Titulo();
            TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            OutrosLegitimacaoTerraDevoluta outros = new OutrosLegitimacaoTerraDevoluta();

            int atividadeSelecionada = 0;

            if (especificidade.TituloId > 0)
            {
                titulo            = _busTitulo.Obter(especificidade.TituloId);
                titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId);

                if (titulo.Atividades.Count > 0)
                {
                    atividadeSelecionada = titulo.Atividades[0].Id;
                }

                especificidade.AtividadeProcDocReq = _busTitulo.ObterProcDocReqEspecificidade(especificidade.TituloId);

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    outros        = bus.Obter(especificidade.TituloId) as OutrosLegitimacaoTerraDevoluta;
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    outros = bus.ObterHistorico(especificidade.TituloId, 0) as OutrosLegitimacaoTerraDevoluta;
                }
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            ListaBus listaBus = new ListaBus();
            OutrosLegitimacaoTerraDevolutaVM vm = new OutrosLegitimacaoTerraDevolutaVM(
                lstProcessosDocumentos,
                lstAtividades,
                destinatarios,
                bus.ObterDominios(especificidade.ProtocoloId),
                outros,
                listaBus.Municipios(ViewModelHelper.EstadoDefaultId()),
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar,
                atividadeSelecionada);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
            }

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Outros/OutrosLegitimacaoTerraDevoluta.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult TermoCPFARLCR(EspecificidadeVME especificidade)
        {
            TermoCPFARLCRBus           bus = new TermoCPFARLCRBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();

            Titulo        titulo = new Titulo();
            TituloModelo  modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            TermoCPFARLCR termo  = new TermoCPFARLCR();

            int atividadeSelecionada = 0;

            if (especificidade.TituloId > 0)
            {
                titulo                = _busTitulo.ObterSimplificado(especificidade.TituloId);
                titulo.Atividades     = _busTitulo.ObterAtividades(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);

                if (titulo.Atividades.Count > 0)
                {
                    atividadeSelecionada = titulo.Atividades.First().Id;
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    termo = bus.Obter(especificidade.TituloId) as TermoCPFARLCR;
                }
                else
                {
                    //termo = bus.ObterHistorico(especificidade.TituloId, 0) as TermoCPFARLCR;
                    termo = bus.Obter(especificidade.TituloId) as TermoCPFARLCR;
                }

                especificidade.AtividadeProcDocReq = _busTitulo.ObterProcDocReqEspecificidade(especificidade.TituloId);
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            TermoCPFARLCRVM vm = new TermoCPFARLCRVM(
                lstProcessosDocumentos,
                lstAtividades,
                titulo.Condicionantes,
                termo,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar,
                atividadeSelecionada);

            if (especificidade.TituloId > 0)
            {
                EmpreendimentoBus empreendimentoBus = new EmpreendimentoBus();
                DominialidadeBus  dominialidadeBus  = new DominialidadeBus();
                vm.Atividades.Atividades = titulo.Atividades;

                vm.CedenteDominios = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterDominiosLista(especificidade.EmpreendimentoId), selecionado: termo.CedenteDominioID.ToString());
                vm.CedenteReservas = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterARLCompensacaoDominio(termo.CedenteDominioID));
                vm.CedenteResponsaveisEmpreendimento = ViewModelHelper.CriarSelectList(empreendimentoBus.ObterResponsaveisComTipo(especificidade.EmpreendimentoId));

                vm.ReceptorEmpreendimentos = ViewModelHelper.CriarSelectList(
                    new List <Lista>()
                {
                    new Lista()
                    {
                        Id = termo.ReceptorEmpreendimentoID.ToString(), Texto = termo.ReceptorEmpreendimentoDenominador
                    }
                },
                    selecionado: termo.ReceptorEmpreendimentoID.ToString());
                vm.ReceptorDominios = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterDominiosLista(termo.ReceptorEmpreendimentoID), selecionado: termo.ReceptorDominioID.ToString());
                vm.ReceptorResponsaveisEmpreendimento = ViewModelHelper.CriarSelectList(empreendimentoBus.ObterResponsaveisComTipo(termo.ReceptorEmpreendimentoID));
            }

            vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0);

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Termo/TermoCPFARLCR.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult TermoCPFARLR(EspecificidadeVME especificidade)
        {
            TermoCPFARLRBus            bus = new TermoCPFARLRBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios          = new List <PessoaLst>();

            Titulo       titulo = new Titulo();
            TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            TermoCPFARLR termo  = new TermoCPFARLR();

            int atividadeSelecionada = 0;

            if (especificidade.TituloId > 0)
            {
                titulo                = _busTitulo.Obter(especificidade.TituloId);
                titulo.Atividades     = _busTitulo.ObterAtividades(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);
                titulo.Anexos         = _busTitulo.ObterAnexos(especificidade.TituloId);

                if (titulo.Atividades.Count > 0)
                {
                    atividadeSelecionada = titulo.Atividades[0].Id;
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    termo = bus.Obter(especificidade.TituloId) as TermoCPFARLR;
                }
                else
                {
                    termo = bus.ObterHistorico(especificidade.TituloId, 0) as TermoCPFARLR;
                }

                if (termo != null)
                {
                    termo.Anexos = titulo.Anexos;
                }

                especificidade.AtividadeProcDocReq = _busTitulo.ObterProcDocReqEspecificidade(especificidade.TituloId);
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                termo.Destinatarios.ForEach(x =>
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = x.Id, Texto = x.Nome, IsAtivo = true
                    });
                });

                if (!especificidade.IsVisualizar)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            TermoCPFARLRVM vm = new TermoCPFARLRVM(
                lstProcessosDocumentos,
                lstAtividades,
                destinatarios,
                titulo.Condicionantes,
                termo,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar,
                atividadeSelecionada);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
                vm.TituloAnterior        = bus.ObterTituloAnterior(atividadeSelecionada, especificidade.ProtocoloId) ?? new TermoCPFARLRTituloAnterior();
            }

            vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0);

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Termo/TermoCPFARLR.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult LicencaSimplificada(EspecificidadeVME especificidade)
        {
            LicencaSimplificadaBus     bus = new LicencaSimplificadaBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios          = new List <PessoaLst>();

            Titulo              titulo  = new Titulo();
            TituloModelo        modelo  = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            LicencaSimplificada licenca = new LicencaSimplificada();

            int atividadeSelecionada = 0;

            if (especificidade.TituloId > 0)
            {
                titulo                = _busTitulo.Obter(especificidade.TituloId);
                titulo.Atividades     = _busTitulo.ObterAtividades(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);

                if (titulo.Atividades.Count > 0)
                {
                    atividadeSelecionada = titulo.Atividades[0].Id;
                }

                licenca = bus.Obter(especificidade.TituloId) as LicencaSimplificada;

                if (licenca != null)
                {
                    especificidade.AtividadeProcDocReq = licenca.ProtocoloReq;
                    licenca.TitulosAssociado           = (titulo.ToEspecificidade() ?? new Especificidade()).TitulosAssociado;
                }
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = licenca.Destinatario, Texto = licenca.DestinatarioNomeRazao, IsAtivo = true
                    });
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            LicencaSimplificadaVM vm = new LicencaSimplificadaVM(
                lstProcessosDocumentos,
                lstAtividades,
                destinatarios,
                licenca,
                titulo.Condicionantes,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar,
                atividadeSelecionada);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
            }

            vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0);

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Licenca/LicencaSimplificada.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
示例#23
0
        public ActionResult LaudoVistoriaFomentoFlorestal(EspecificidadeVME especificidade)
        {
            LaudoVistoriaFomentoFlorestalBus _busLaudo        = new LaudoVistoriaFomentoFlorestalBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios          = new List <PessoaLst>();

            Titulo       titulo = new Titulo();
            TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            LaudoVistoriaFomentoFlorestal laudo = new LaudoVistoriaFomentoFlorestal();

            LaudoVistoriaFomentoFlorestalVM vm = null;
            string htmlEspecificidade          = string.Empty;

            if (especificidade.TituloId > 0)
            {
                titulo                = _busTitulo.ObterSimplificado(especificidade.TituloId);
                titulo.Anexos         = _busTitulo.ObterAnexos(especificidade.TituloId);
                titulo.Atividades     = _busTitulo.ObterAtividades(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);

                laudo = _busLaudo.Obter(especificidade.TituloId) as LaudoVistoriaFomentoFlorestal;

                if (laudo != null)
                {
                    especificidade.AtividadeProcDocReq = laudo.ProtocoloReq;
                    laudo.Anexos = titulo.Anexos;
                }
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = laudo.Destinatario, Texto = laudo.DestinatarioNomeRazao, IsAtivo = true
                    });
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            vm = new LaudoVistoriaFomentoFlorestalVM(
                laudo,
                lstProcessosDocumentos,
                lstAtividades,
                destinatarios,
                _protocoloBus.ObterResponsaveisTecnicos(especificidade.ProtocoloId),
                _busLista.ObterEspecificidadeConclusoes,
                titulo.Condicionantes,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
            }

            vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0);

            htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Laudo/LaudoVistoriaFomentoFlorestal.ascx", vm);
            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        public static bool PossuiEspecificidade(this TituloModelo modelo)
        {
            int codigoDoModelo = (modelo.Codigo != null && modelo.Codigo.HasValue ? modelo.Codigo.Value : 0);

            return(EspecificiadadeBusFactory.Possui(codigoDoModelo));
        }
示例#25
0
        public ActionResult NotificacaoEmbargo(EspecificidadeVME especificidade)
        {
            NotificacaoEmbargoBus      bus = new NotificacaoEmbargoBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();
            List <AtividadeSolicitada> lstAtividadesEmbargo   = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios          = new List <PessoaLst>();

            Titulo             titulo      = new Titulo();
            TituloModelo       modelo      = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            NotificacaoEmbargo notificacao = new NotificacaoEmbargo();

            int atividadeSelecionada = 0;

            if (especificidade.TituloId > 0)
            {
                titulo            = _busTitulo.Obter(especificidade.TituloId);
                titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId);

                if (titulo.Atividades.Count > 0)
                {
                    atividadeSelecionada = titulo.Atividades[0].Id;
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    notificacao = bus.Obter(especificidade.TituloId) as NotificacaoEmbargo;
                }
                else
                {
                    notificacao = bus.ObterHistorico(especificidade.TituloId, 0) as NotificacaoEmbargo;
                }

                if (notificacao != null)
                {
                    especificidade.AtividadeProcDocReq = notificacao.ProtocoloReq;
                }
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    notificacao.Destinatarios.ForEach(x =>
                    {
                        destinatarios.Add(new PessoaLst()
                        {
                            Id = x.IdRelacionamento, Texto = x.Nome, IsAtivo = true
                        });
                    });
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            NotificacaoEmbargoVM vm = new NotificacaoEmbargoVM(
                lstProcessosDocumentos,
                lstAtividades,
                destinatarios,
                notificacao,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar,
                atividadeSelecionada);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
                vm.AtividadesEmbargo     = ViewModelHelper.CriarSelectList(_busAtividade.ObterAtividadesLista(new Protocolo {
                    Id = titulo.Protocolo.Id
                }, true), true);
            }

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Notificacao/NotificacaoEmbargo.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        internal TituloModelo Obter(int id, BancoDeDados banco = null)
        {
            TituloModelo modelo = new TituloModelo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título Modelo

                Comando comando = bancoDeDados.CriarComando(@"select m.id,
					m.tid, m.codigo, m.tipo, m.subtipo, m.data_criacao, m.nome,
					m.sigla, m.tipo_protocolo, m.arquivo, ta.nome nome_arquivo, m.situacao,  m.documento,
                    l.texto documento_texto from {0}tab_titulo_modelo m, {0}tab_arquivo ta, {0}lov_titulo_modelo_tipo_doc l
					where m.arquivo = ta.id(+) and m.documento = l.id(+) and m.id = :id"                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        modelo.Id               = id;
                        modelo.Tid              = reader["tid"].ToString();
                        modelo.SubTipo          = reader["subtipo"].ToString();
                        modelo.DataCriacao.Data = Convert.ToDateTime(reader["data_criacao"]);
                        modelo.Nome             = reader["nome"].ToString();
                        modelo.Sigla            = reader["sigla"].ToString();

                        if (reader["situacao"] != null && !Convert.IsDBNull(reader["situacao"]))
                        {
                            modelo.SituacaoId = Convert.ToInt32(reader["situacao"]);
                        }

                        if (reader["codigo"] != null && !Convert.IsDBNull(reader["codigo"]))
                        {
                            modelo.Codigo = Convert.ToInt32(reader["codigo"]);
                        }

                        if (reader["tipo"] != null && !Convert.IsDBNull(reader["tipo"]))
                        {
                            modelo.Tipo = Convert.ToInt32(reader["tipo"]);
                        }

                        if (reader["tipo_protocolo"] != null && !Convert.IsDBNull(reader["tipo_protocolo"]))
                        {
                            modelo.TipoProtocolo = Convert.ToInt32(reader["tipo_protocolo"]);
                        }

                        if (reader["arquivo"] != null && !Convert.IsDBNull(reader["arquivo"]))
                        {
                            modelo.Arquivo.Id   = Convert.ToInt32(reader["arquivo"]);
                            modelo.Arquivo.Nome = reader["nome_arquivo"].ToString();
                        }

                        modelo.TipoDocumento      = reader.GetValue <int>("documento");
                        modelo.TipoDocumentoTexto = reader.GetValue <string>("documento_texto");
                    }
                    reader.Close();
                }

                #endregion

                #region Regras

                comando = bancoDeDados.CriarComando(@"select r.id, r.modelo, r.regra, r.tid from {0}tab_titulo_modelo_regras r where r.modelo = :modelo", EsquemaBanco);
                comando.AdicionarParametroEntrada("modelo", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    TituloModeloRegra item;
                    while (reader.Read())
                    {
                        item       = new TituloModeloRegra();
                        item.Id    = Convert.ToInt32(reader["id"]);
                        item.Tid   = reader["tid"].ToString();
                        item.Valor = true;
                        if (reader["regra"] != null && !Convert.IsDBNull(reader["regra"]))
                        {
                            item.Tipo = Convert.ToInt32(reader["regra"]);
                        }

                        #region Respostas

                        comando = bancoDeDados.CriarComando(@"select mr.id, mr.modelo, mr.regra, mr.resposta, mr.valor, mr.tid 
						from {0}tab_titulo_modelo_respostas mr where mr.modelo = :modelo and mr.regra = :regra"                        , EsquemaBanco);
                        comando.AdicionarParametroEntrada("modelo", id, DbType.Int32);
                        comando.AdicionarParametroEntrada("regra", item.Id, DbType.Int32);

                        using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                        {
                            TituloModeloResposta itemAux;
                            while (readerAux.Read())
                            {
                                itemAux     = new TituloModeloResposta();
                                itemAux.Id  = Convert.ToInt32(readerAux["id"]);
                                itemAux.Tid = readerAux["tid"].ToString();
                                if (readerAux["resposta"] != null && !Convert.IsDBNull(readerAux["resposta"]))
                                {
                                    itemAux.Tipo = Convert.ToInt32(readerAux["resposta"]);
                                }
                                itemAux.Valor = readerAux["valor"];

                                item.Respostas.Add(itemAux);
                            }

                            readerAux.Close();
                        }

                        #endregion

                        modelo.Regras.Add(item);
                    }
                    reader.Close();
                }

                #endregion

                #region Setores

                comando = bancoDeDados.CriarComando(@"select mr.id, mr.modelo, mr.setor, mr.hierarquia, ts.nome, mr.tid from tab_titulo_modelo_setores mr, tab_setor ts where mr.setor = ts.id and mr.modelo = :modelo", EsquemaBanco);
                comando.AdicionarParametroEntrada("modelo", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Setor item;
                    while (reader.Read())
                    {
                        item                     = new Setor();
                        item.IdRelacao           = Convert.ToInt32(reader["id"]);
                        item.Id                  = Convert.ToInt32(reader["setor"]);
                        item.Nome                = reader["nome"].ToString();
                        item.HierarquiaCabecalho = reader["hierarquia"].ToString();
                        modelo.Setores.Add(item);
                    }
                    reader.Close();
                }

                #endregion

                #region Assinantes

                comando = bancoDeDados.CriarComando(@"select mr.id, mr.modelo, mr.setor, s.nome setor_nome, mr.tipo_assinante, la.texto tipo_assinante_texto, mr.tid 
				from {0}tab_titulo_modelo_assinantes mr, {0}tab_setor s, {0}lov_titulo_modelo_assinante la
				where mr.tipo_assinante = la.id and mr.setor = s.id and mr.modelo = :modelo"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("modelo", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Assinante item;
                    while (reader.Read())
                    {
                        item    = new Assinante();
                        item.Id = Convert.ToInt32(reader["id"]);

                        if (reader["setor"] != null && !Convert.IsDBNull(reader["setor"]))
                        {
                            item.SetorId    = Convert.ToInt32(reader["setor"]);
                            item.SetorTexto = reader["setor_nome"].ToString();
                        }

                        if (reader["tipo_assinante"] != null && !Convert.IsDBNull(reader["tipo_assinante"]))
                        {
                            item.TipoId    = Convert.ToInt32(reader["tipo_assinante"]);
                            item.TipoTexto = reader["tipo_assinante_texto"].ToString();
                        }

                        modelo.Assinantes.Add(item);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(modelo);
        }
        public ActionResult AutorizacaoExploracaoFlorestal(EspecificidadeVME especificidade)
        {
            AutorizacaoExploracaoFlorestalBus bus             = new AutorizacaoExploracaoFlorestalBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios          = new List <PessoaLst>();

            Titulo       titulo = new Titulo();
            TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            AutorizacaoExploracaoFlorestal autorizacao = new AutorizacaoExploracaoFlorestal();

            if (especificidade.TituloId > 0)
            {
                titulo = _busTitulo.Obter(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);

                autorizacao = bus.Obter(especificidade.TituloId) as AutorizacaoExploracaoFlorestal;

                if (autorizacao != null)
                {
                    especificidade.AtividadeProcDocReq = autorizacao.ProtocoloReq;
                    autorizacao.TitulosAssociado       = (titulo.ToEspecificidade() ?? new Especificidade()).TitulosAssociado;
                }
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = autorizacao.Destinatario, Texto = autorizacao.DestinatarioNomeRazao, IsAtivo = true
                    });
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            AutorizacaoExploracaoFlorestalVM vm = new AutorizacaoExploracaoFlorestalVM(
                lstProcessosDocumentos,
                lstAtividades,
                destinatarios,
                titulo.Condicionantes,
                especificidade.AtividadeProcDocReqKey, especificidade.IsVisualizar);

            vm.Autorizacao      = autorizacao;
            vm.TituloAssociado  = autorizacao.TitulosAssociado.FirstOrDefault() ?? new TituloAssociadoEsp();
            vm.ArquivoVM.Anexos = titulo.Anexos;

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
            }

            vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0);

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Autorizacao/AutorizacaoExploracaoFlorestal.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult CadastroAmbientalRuralTitulo(EspecificidadeVME especificidade)
        {
            CadastroAmbientalRuralTituloBus _cadastroBus      = new CadastroAmbientalRuralTituloBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios          = new List <PessoaLst>();

            TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            Titulo       titulo = new Titulo();
            CadastroAmbientalRuralTitulo cadastro = new CadastroAmbientalRuralTitulo();
            string htmlEspecificidade             = string.Empty;

            if (especificidade.TituloId > 0)
            {
                titulo                = _busTitulo.ObterSimplificado(especificidade.TituloId);
                titulo.Atividades     = _busTitulo.ObterAtividades(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);

                cadastro = _cadastroBus.Obter(especificidade.TituloId) as CadastroAmbientalRuralTitulo;

                if (cadastro != null)
                {
                    especificidade.AtividadeProcDocReq = cadastro.ProtocoloReq;
                }
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    EmpreendimentoBus empreendimentoBus = new EmpreendimentoBus();
                    destinatarios = empreendimentoBus.ObterResponsaveis(especificidade.EmpreendimentoId);
                }
                else
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = cadastro.Destinatario, Texto = cadastro.DestinatarioNomeRazao, IsAtivo = true
                    });
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            CadastroAmbientalRuralTituloVM vm = new CadastroAmbientalRuralTituloVM(
                cadastro,
                lstProcessosDocumentos,
                lstAtividades,
                destinatarios,
                titulo.Condicionantes,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
            }

            vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0);

            htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Cadastro/CadastroAmbientalRuralTitulo.ascx", vm);
            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }