public ActionResult Criar(int empreendimento, int tipo, bool isCadastrarCaracterizacao) { if (!_caracterizacaoValidar.Dependencias(empreendimento, tipo)) { return(RedirectToAction("", "Caracterizacao", new { id = empreendimento, Msg = Validacao.QueryParam() })); } DescricaoLicenciamentoAtividadeVM vm = new DescricaoLicenciamentoAtividadeVM(); DescricaoLicenciamentoAtividade dscLicAtividade = _bus.ObterPorEmpreendimento(empreendimento, (eCaracterizacao)tipo); dscLicAtividade = _bus.ObterDadosGeo(empreendimento, (eCaracterizacao)tipo, dscLicAtividade); if (dscLicAtividade.Id == 0) { dscLicAtividade.Tipo = tipo; } vm.CaracterizacaoTipoTexto = _caracterizacaoBus.ObterCaracterizacoesEmpreendimento(empreendimento).SingleOrDefault(x => (int)x.Tipo == tipo).Nome; dscLicAtividade.EmpreendimentoId = empreendimento; vm.DscLicAtividade = dscLicAtividade; vm.IsCadastrarCaracterizacao = isCadastrarCaracterizacao; vm.ResponsaveisEmpreendimento = ViewModelHelper.CriarSelectList(_bus.ObterResponsaveis(empreendimento)); vm.FontesAbastecimentoAguaTipo = ViewModelHelper.CriarSelectList(_listaBus.DscLicAtvFontesAbastecimentoAguaTipo); vm.PontosLancamentoEfluenteTipo = ViewModelHelper.CriarSelectList(_listaBus.DscLicAtvPontosLancamentoEfluenteTipo); vm.OutorgaAguaTipo = ViewModelHelper.CriarSelectList(_listaBus.DscLicAtvOutorgaAguaTipo); vm.FontesGeracaoTipo = ViewModelHelper.CriarSelectList(_listaBus.DscLicAtvFontesGeracaoTipo); vm.UnidadeTipo = ViewModelHelper.CriarSelectList(_listaBus.DscLicAtvUnidadeTipo); vm.CombustivelTipo = ViewModelHelper.CriarSelectList(_listaBus.DscLicAtvCombustivelTipo); vm.VegetacaoAreaUtil = _listaBus.DscLicAtvVegetacaoAreaUtil; vm.Acondicionamento = _listaBus.DscLicAtvAcondicionamento; vm.Estocagem = _listaBus.DscLicAtvEstocagem; vm.Tratamento = _listaBus.DscLicAtvTratamento; vm.DestinoFinal = _listaBus.DscLicAtvDestinoFinal; if (vm.DscLicAtividade.Id > 0) { vm.DscLicAtividade.Dependencias = _caracterizacaoBus.ObterDependencias(vm.DscLicAtividade.Id, vm.DscLicAtividade.GetTipo, eCaracterizacaoDependenciaTipo.DescricaoLicenciamentoAtividade); vm.TextoMerge = _caracterizacaoValidar.DependenciasAlteradas( vm.DscLicAtividade.EmpreendimentoId, vm.DscLicAtividade.Tipo, eCaracterizacaoDependenciaTipo.DescricaoLicenciamentoAtividade, vm.DscLicAtividade.Dependencias); vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto; } if (vm.ResponsaveisEmpreendimento != null && vm.ResponsaveisEmpreendimento.Count == 2) { vm.DscLicAtividade.RespAtividade = Int32.Parse(vm.ResponsaveisEmpreendimento.First(x => int.Parse(x.Value) > 0).Value); } vm.UrlAvancar = CaracterizacaoVM.GerarUrl(empreendimento, isCadastrarCaracterizacao, (eCaracterizacao)tipo); return(View("Criar", vm)); }
public bool Salvar(IEspecificidade especificidade) { AutorizacaoQueimaControlada esp = especificidade as AutorizacaoQueimaControlada; EspecificidadeDa _da = new EspecificidadeDa(); CaracterizacaoValidar caracterizacaoValidar = new CaracterizacaoValidar(); CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); List <Dependencia> dependencias = new List <Dependencia>(); String caracterizacoesAlteradas = String.Empty; int idCaracterizacao; RequerimentoAtividade(esp, false, true); Destinatario(especificidade.ProtocoloReq.Id, esp.Destinatario, "Autorizacao_Destinatario"); if ((esp.TitulosAssociado.FirstOrDefault() ?? new TituloAssociadoEsp()).Id <= 0) { Validacao.Add(Mensagem.AutorizacaoQueimaControlada.LaudoVistoriaObrigatorio); } else if (_daEspecificidade.ObterTituloAssociado(esp.TitulosAssociado.FirstOrDefault().Id).Situacao != (int)eTituloSituacao.Concluido) { Validacao.Add(Mensagem.AutorizacaoQueimaControlada.LaudoVIstoriaDeveEstarConcluiddo); } idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.Dominialidade); if (idCaracterizacao > 0) { dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.AutorizacaoQueimaControlada.CaracterizacaoDeveEstarValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.Dominialidade).Nome)); } } else { Validacao.Add(Mensagem.AutorizacaoQueimaControlada.DominialidadeInexistente); } idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.QueimaControlada); if (idCaracterizacao > 0) { dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.QueimaControlada, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.QueimaControlada, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.AutorizacaoQueimaControlada.CaracterizacaoDeveEstarValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.QueimaControlada).Nome)); } } else { Validacao.Add(Mensagem.AutorizacaoQueimaControlada.QueimaInexistente); } if (caracterizacoesAlteradas != String.Empty) { Validacao.Add(Mensagem.Caracterizacao.CaracterizacaoAlterada); } return(Validacao.EhValido); }
public bool Salvar(IEspecificidade especificidade) { CertificadoRegistroAtividadeFlorestal esp = especificidade as CertificadoRegistroAtividadeFlorestal; CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); RequerimentoAtividade(esp, jaAssociado: false); //Validação de Atividade já associada feita a seguir ValidarTituloUnicoPorEmpreendimentoAtividade(esp); Destinatario(especificidade.ProtocoloReq.Id, esp.Destinatario, "Certificado_Destinatario"); int idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.RegistroAtividadeFlorestal); if (idCaracterizacao > 0) { ICaracterizacaoBus busCaract = CaracterizacaoBusFactory.Criar(eCaracterizacao.RegistroAtividadeFlorestal); bool isPossui = false; busCaract.ObterAtividadesCaracterizacao(especificidade.Titulo.EmpreendimentoId.Value).ForEach(x => { if (esp.Atividades[0].Id == x) { isPossui = true; return; } }); if (!isPossui) { Validacao.Add(Mensagem.CertificadoRegistroAtividadeFlorestalMsg.CaracterizacaoAtividadeInexistente); } } else { Validacao.Add(Mensagem.CertificadoRegistroAtividadeFlorestalMsg.RegistroAtividadeFlorestalInexistente); } #region Campos da especifícidade if (string.IsNullOrWhiteSpace(esp.Vias)) { Validacao.Add(Mensagem.CertificadoRegistroAtividadeFlorestalMsg.ViaObrigatorio); } else if (esp.Vias == "0") { Validacao.Add(Mensagem.CertificadoRegistroAtividadeFlorestalMsg.ViaObrigatorio); } if (string.IsNullOrWhiteSpace(esp.AnoExercicio)) { Validacao.Add(Mensagem.CertificadoRegistroAtividadeFlorestalMsg.AnoExercicioObrigatorio); } #endregion return(Validacao.EhValido); }
public bool Salvar(IEspecificidade especificidade) { #region Variáveis OutrosInformacaoCorteDa _da = new OutrosInformacaoCorteDa(); CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); CaracterizacaoValidar caracterizacaoValidar = new CaracterizacaoValidar(); List <Dependencia> dependencias = new List <Dependencia>(); OutrosInformacaoCorte esp = especificidade as OutrosInformacaoCorte; List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); int idCaracterizacao; #endregion RequerimentoAtividade(esp); Destinatario(esp.ProtocoloReq.Id, esp.Destinatario, "Outros_Destinatarios"); // Atividade Informação de corte if (esp.Atividades[0].Id != ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.InformacaoDeCorte)) { Validacao.Add(Mensagem.OutrosInformacaoCorte.AtividadeInvalida(esp.Atividades[0].NomeAtividade)); } idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.InformacaoCorte); if (idCaracterizacao > 0) { dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.InformacaoCorte, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.InformacaoCorte, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.OutrosInformacaoCorte.CaracterizacaoValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.InformacaoCorte).Nome)); } } else { Validacao.Add(Mensagem.OutrosInformacaoCorte.CaracterizacaoCadastrada); } if (esp.InformacaoCorte == 0) { Validacao.Add(Mensagem.OutrosInformacaoCorte.InformacaoCorteObrigatorio); } else if (!_da.IsInformacaoCorteCadastrado(esp.InformacaoCorte)) { Validacao.Add(Mensagem.OutrosInformacaoCorte.InformacaoCorteInexistente); } else if (_da.IsInformacaoCorteAssociado(esp.InformacaoCorte, esp.Id)) { Validacao.Add(Mensagem.OutrosInformacaoCorte.InformacaoCorteAssociado); } return(Validacao.EhValido); }
public bool Salvar(IEspecificidade especificidade) { AutorizacaoExploracaoFlorestal esp = especificidade as AutorizacaoExploracaoFlorestal; CaracterizacaoValidar caracterizacaoValidar = new CaracterizacaoValidar(); CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); List <Dependencia> dependencias = new List <Dependencia>(); String caracterizacoesAlteradas = String.Empty; int idCaracterizacao; RequerimentoAtividade(esp, solicitado: false, jaAssociado: false, atividadeAndamento: false); if (!String.IsNullOrWhiteSpace(esp.Observacao) && esp.Observacao.Length > 500) { Validacao.Add(Mensagem.AutorizacaoExploracaoFlorestal.ObservacaoMuitoGrande); } Destinatario(especificidade.ProtocoloReq.Id, esp.Destinatario, "Autorizacao_Destinatario"); if ((esp.TitulosAssociado.FirstOrDefault() ?? new TituloAssociadoEsp()).Id <= 0) { Validacao.Add(Mensagem.AutorizacaoExploracaoFlorestal.LaudoVistoriaObrigatorio); } else { var situacaoLaudo = _daEspecificidade.ObterTituloAssociado(esp.TitulosAssociado.FirstOrDefault().Id).Situacao; if (situacaoLaudo != (int)eTituloSituacao.Concluido && situacaoLaudo != (int)eTituloSituacao.Prorrogado) { Validacao.Add(Mensagem.AutorizacaoExploracaoFlorestal.LaudoVistoriaDeveEstarConcluidoOuProrrogado); } } idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.ExploracaoFlorestal); if (idCaracterizacao == 0) { Validacao.Add(Mensagem.AutorizacaoExploracaoFlorestal.ExploracaoInexistente); } if (caracterizacoesAlteradas != String.Empty) { Validacao.Add(Mensagem.Caracterizacao.CaracterizacaoAlterada); } return(Validacao.EhValido); }
public bool EnviarBasicas(ProjetoDigital projeto, bool validardesatualizadas = false) { if (projeto.Situacao == (int)eProjetoDigitalSituacao.AguardandoCorrecao) { Validacao.Add(Mensagem.ProjetoDigital.PossuiPendenciasCorrecao); return(false); } if (projeto.Situacao != (int)eProjetoDigitalSituacao.EmElaboracao) { Validacao.Add(Mensagem.ProjetoDigital.EnviarSituacaoInvalida); return(false); } if (validardesatualizadas) { EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(projeto.EmpreendimentoId.GetValueOrDefault(0)); List <CaracterizacaoLst> caracterizacoes = _busCaracterizacao.ObterCaracterizacoesPorProjetoDigital(projeto.Id); List <Caracterizacao> cadastradas = _busCaracterizacao.ObterCaracterizacoesEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(0), projeto.Id) ?? new List <Caracterizacao>(); List <Caracterizacao> cadastradasInterno = _internoBus.ObterCaracterizacoesAtuais(empreendimento.InternoID, caracterizacoes); if (cadastradas != null && cadastradas.Count > 0) { List <int> desatualizadas = new List <int>(); if (!string.IsNullOrEmpty(_validarCaracterizacao.CaracterizacoesCadastradasDesatualizadas(projeto.EmpreendimentoId.GetValueOrDefault(), cadastradas, cadastradasInterno, out desatualizadas))) { GerenciadorConfiguracao <ConfiguracaoCaracterizacao> configCaracterizacao = new GerenciadorConfiguracao <ConfiguracaoCaracterizacao>(new ConfiguracaoCaracterizacao()); Validacao.Add(Mensagem.Caracterizacao.CaracterizacaoDesatualizadaEnviar( configCaracterizacao.Obter <List <CaracterizacaoLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoes) .Where(x => desatualizadas.Exists(y => y == x.Id)) .Select(x => x.Texto).ToList() )); } } } return(Validacao.EhValido); }
public bool Salvar(IEspecificidade especificidade) { LicencaOperacaoFomento esp = especificidade as LicencaOperacaoFomento; CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); RequerimentoAtividade(esp, faseAnterior: false); int idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.SilviculturaPPFF); if (idCaracterizacao > 0) { ICaracterizacaoBus busCaract = CaracterizacaoBusFactory.Criar(eCaracterizacao.SilviculturaPPFF); bool isPossui = false; busCaract.ObterAtividadesCaracterizacao(especificidade.Titulo.EmpreendimentoId.Value).ForEach(x => { if (esp.Atividades[0].Id == x) { isPossui = true; return; } }); if (!isPossui) { Validacao.Add(Mensagem.LicencaOperacaoFomentoMsg.CaracterizacaoAtividadeInexistente); } } else { Validacao.Add(Mensagem.LicencaOperacaoFomentoMsg.SilviculturaPPFFInexistente); } return(Validacao.EhValido); }
public ActionResult Index(int id) { EmpreendimentoCaracterizacao empreendimento = _bus.ObterEmpreendimentoSimplificado(id); if (empreendimento.Id == 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoNaoEncontrado); return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } CaracterizacaoVM vm = new CaracterizacaoVM(empreendimento); List <CaracterizacaoLst> caracterizacoes = _bus.CaracterizacaoConfig.Obter <List <CaracterizacaoLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoes); List <ProjetoGeografico> projetos = _bus.ObterProjetosEmpreendimento(id); if (!_bus.ValidarAcessarTela(caracterizacoes)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } List <Caracterizacao> cadastradas = _bus.ObterCaracterizacoesEmpreendimento(id) ?? new List <Caracterizacao>(); vm.CaracterizacoesNaoCadastradas = caracterizacoes .Where(x => !cadastradas.Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); vm.CaracterizacoesCadastradas = caracterizacoes .Where(x => cadastradas.Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); List <DependenciaLst> dependencias = _bus.CaracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias); vm.CaracterizacoesNaoCadastradas.ForEach(x => { x.PodeCadastrar = User.IsInRole(String.Format("{0}Criar", x.Tipo.ToString())); x.ProjetoGeografico = User.IsInRole("ProjetoGeograficoCriar"); x.DscLicAtividade = User.IsInRole("DescricaoLicenciamentoAtividadeCriar"); x.ProjetoGeoObrigatorio = dependencias.Exists(y => y.DependenteTipo == (int)x.Tipo && y.DependenciaTipo == (int)x.Tipo && y.TipoId == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico); x.DscLicAtividadeObrigatorio = dependencias.Exists(y => y.DependenteTipo == (int)x.Tipo && y.DependenciaTipo == (int)x.Tipo && y.TipoId == (int)eCaracterizacaoDependenciaTipo.DescricaoLicenciamentoAtividade); Caracterizacao cadastrada = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao(); x.ProjetoGeograficoId = cadastrada.ProjetoRascunhoId; x.DscLicAtividadeId = cadastrada.DscLicAtividadeId; if (x.ProjetoGeograficoId <= 0) { x.ProjetoGeograficoId = cadastrada.ProjetoId; } x.UrlCriar = Url.Action("Criar", x.Tipo.ToString()); }); vm.CaracterizacoesCadastradas.ForEach(x => { if (User.IsInRole("ProjetoGeograficoEditar") || User.IsInRole("ProjetoGeograficoVisualizar")) { x.ProjetoGeografico = true; } x.ProjetoGeograficoVisualizar = User.IsInRole(ePermissao.ProjetoGeograficoVisualizar.ToString()) && !User.IsInRole(ePermissao.ProjetoGeograficoCriar.ToString()) && !User.IsInRole(ePermissao.ProjetoGeograficoEditar.ToString()); if (User.IsInRole("DescricaoLicenciamentoAtividadeEditar") || User.IsInRole("DescricaoLicenciamentoAtividadeVisualizar")) { x.DscLicAtividade = true; } x.DscLicAtividadeVisualizar = User.IsInRole(ePermissao.DescricaoLicenciamentoAtividadeVisualizar.ToString()) && !User.IsInRole(ePermissao.DescricaoLicenciamentoAtividadeCriar.ToString()) && !User.IsInRole(ePermissao.DescricaoLicenciamentoAtividadeEditar.ToString()); x.PodeEditar = User.IsInRole(String.Format("{0}Editar", x.Tipo.ToString())); x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString())); x.PodeExcluir = User.IsInRole(String.Format("{0}Excluir", x.Tipo.ToString())); Caracterizacao cadastrada = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao(); x.ProjetoGeograficoId = cadastrada.ProjetoId; x.DscLicAtividadeId = cadastrada.DscLicAtividadeId; x.UrlEditar = Url.Action("Editar", x.Tipo.ToString()); x.UrlVisualizar = Url.Action("Visualizar", x.Tipo.ToString()); x.UrlExcluirConfirm = Url.Action("ExcluirConfirm", x.Tipo.ToString()); x.UrlExcluir = Url.Action("Excluir", x.Tipo.ToString()); }); #region CAR vm.CaracterizacoesCadastradas.Where(x => x.Tipo == eCaracterizacao.CadastroAmbientalRural).ToList().ForEach(x => { x.ProjetoGeografico = false; x.ProjetoGeograficoVisualizar = false; x.ProjetoGeograficoId = 0; x.DscLicAtividade = false; x.DscLicAtividadeVisualizar = false; x.DscLicAtividadeId = 0; }); #endregion return(View("Caracterizacao", vm)); }
public bool Excluir(int empreendimento) { if (!EmPosse(empreendimento)) { Validacao.Add(Mensagem.Empreendimento.Posse); return(Validacao.EhValido); } List <String> requerimentosAssociados = _da.VerificarEmpreendimentoRequerimento(empreendimento); if (requerimentosAssociados.Count > 0) { foreach (String numero in requerimentosAssociados) { Validacao.Add(Mensagem.Empreendimento.EmpreedimentoAssociado("requerimento", numero)); } } CaracterizacaoBus caractBus = new CaracterizacaoBus(); IEnumerable <Dependencia> lstDepDominialidade = caractBus.ObterDependenciasAtual(empreendimento, eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao) .Where(x => x.DependenciaId > 0); if (lstDepDominialidade != null && lstDepDominialidade.Count() > 0) { List <DependenciaLst> dependentes = caractBus.CaracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias); Validacao.Add(Mensagem.Empreendimento.AssociadoDependencias(lstDepDominialidade.Select(x => dependentes.First(lstDep => lstDep.TipoId == x.DependenciaTipo).TipoTexto).ToList())); } List <Caracterizacao> lstCaractCadastradas = caractBus.ObterCaracterizacoesEmpreendimento(empreendimento) ?? new List <Caracterizacao>(); lstCaractCadastradas = lstCaractCadastradas.Where(x => x.Id > 0).ToList(); List <CaracterizacaoLst> caracterizacoes = caractBus.CaracterizacaoConfig.Obter <List <CaracterizacaoLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoes); if (lstCaractCadastradas.Count > 0) { Validacao.Add(Mensagem.Empreendimento.AssociadoCaracterizacoes(lstCaractCadastradas.Select(x => caracterizacoes.Single(c => c.Id == (int)x.Tipo).Texto).ToList())); } List <String> listString = null; //Associado ao Documento listString = _da.VerificarEmpreendimentoDocumento(empreendimento); if (listString != null && listString.Count > 0) { listString.ForEach(x => Validacao.Add(Msg.AssociadoDocumento(x))); } //Associado ao Processo listString = _da.VerificarEmpreendimentoProcesso(empreendimento); if (listString != null && listString.Count > 0) { listString.ForEach(x => Validacao.Add(Msg.AssociadoProcesso(x))); } //Associado ao Título listString = _da.VerificarEmpreendimentoTitulo(empreendimento); if (listString != null && listString.Count > 0) { listString.ForEach(x => Validacao.Add(Msg.AssociadoTitulo(x))); } //Associado a Fiscalização listString = _da.VerificarEmpreendimentoFiscalizacoes(empreendimento); if (listString != null && listString.Count > 0) { listString.ForEach(x => Validacao.Add(Msg.AssociadoFiscalizacao(x))); } return(Validacao.EhValido); }
public ActionResult Index(int id, int projetoDigitalId, bool visualizar = false) { ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); if (id == 0) { if (!visualizar) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); } return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } EmpreendimentoCaracterizacao empreendimento = _bus.ObterEmpreendimentoSimplificado(id); CaracterizacaoVM vm = new CaracterizacaoVM(empreendimento); if (empreendimento.InternoID > 0) { Empreendimento empreendimentoInterno = new EmpreendimentoInternoBus().ObterSimplificado(empreendimento.InternoID); if (empreendimento.InternoTID != empreendimentoInterno.Tid) { vm.MensagensNotificacoes.Add(Mensagem.Caracterizacao.EmpreendimentoDesatualizado(empreendimentoInterno.Denominador).Texto); } } if (empreendimento.Id == 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoNaoEncontrado); return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } vm.ProjetoDigitalId = projetoDigitalId; vm.IsVisualizar = visualizar; List <CaracterizacaoLst> caracterizacoes = _bus.ObterCaracterizacoesPorProjetoDigital(projetoDigitalId); if (caracterizacoes.All(carac => carac.Permissao == ePermissaoTipo.NaoPermitido)) { Validacao.Add(Mensagem.Caracterizacao.UsuarioNaoPermitidoParaCaracterizacao); } caracterizacoes.RemoveAll(caract => caract.Permissao == ePermissaoTipo.NaoPermitido); #region Projeto Digital if (caracterizacoes == null || caracterizacoes.Count <= 0) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } ProjetoDigitalCredenciadoValidar projetoDigitalCredenciadoValidar = new ProjetoDigitalCredenciadoValidar(); if (!projetoDigitalCredenciadoValidar.PossuiCaracterizacaoAtividade(caracterizacoes, projetoDigitalId)) { if (!visualizar) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); } return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } else { vm.MostrarFinalizar = (projetoDigitalCredenciadoBus.Obter(projetoDigitalId).Etapa == (int)eProjetoDigitalEtapa.Caracterizacao) && !visualizar; } #endregion List <Caracterizacao> caracterizacoesAssociadas = _bus.ObterCaracterizacoesAssociadasProjetoDigital(projetoDigitalId); List <Caracterizacao> cadastradas = _bus.ObterCaracterizacoesEmpreendimento(id, projetoDigitalId) ?? new List <Caracterizacao>(); List <Caracterizacao> cadastradasInterno = _internoBus.ObterCaracterizacoesAtuais(empreendimento.InternoID, caracterizacoes); if (cadastradas != null && cadastradas.Count > 0) { List <int> desatualizadas = new List <int>(); string msgDesatualizadas = _validar.CaracterizacoesCadastradasDesatualizadas(empreendimento.Id, cadastradas, cadastradasInterno, out desatualizadas); if (!string.IsNullOrEmpty(msgDesatualizadas)) { vm.MensagensNotificacoes.Add(msgDesatualizadas); } vm.CaracterizacoesPossivelCopiar = _bus.ObterPossivelCopiar(cadastradas); vm.CaracterizacoesPossivelCopiar.AddRange(desatualizadas.Where(x => !vm.CaracterizacoesPossivelCopiar.Exists(y => y == x))); } vm.CaracterizacoesNaoCadastradas = caracterizacoes .Where(x => !cadastradas.Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); vm.CaracterizacoesCadastradas = caracterizacoes .Where(x => cadastradas.Where(y => !caracterizacoesAssociadas.Exists(z => z.Tipo == y.Tipo)).Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); vm.CaracterizacoesAssociadas = caracterizacoesAssociadas .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Tipo, Nome = z.Nome }).ToList(); List <DependenciaLst> dependencias = _bus.CaracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias); #region Não Cadastradas vm.CaracterizacoesNaoCadastradas.ForEach(x => { ICaracterizacaoBus caracterizacaoBus = CaracterizacaoBusFactory.Criar(x.Tipo); if (caracterizacaoBus != null) { x.PodeCopiar = cadastradasInterno.Exists(y => y.Tipo == x.Tipo) && caracterizacaoBus.PodeCopiar(empreendimento.InternoID); } x.PodeCadastrar = User.IsInRole(String.Format("{0}Criar", x.Tipo.ToString())); x.ProjetoGeografico = User.IsInRole("ProjetoGeograficoCriar"); x.ProjetoGeoObrigatorio = dependencias.Exists(y => y.DependenteTipo == (int)x.Tipo && y.DependenciaTipo == (int)x.Tipo && y.TipoId == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico); x.ProjetoGeograficoId = (cadastradas.FirstOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao()).ProjetoRascunhoId; if (x.ProjetoGeograficoId <= 0) { x.ProjetoGeograficoId = (cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao()).ProjetoId; } x.UrlCriar = Url.Action("Criar", x.Tipo.ToString()); }); #endregion #region Cadastradas vm.CaracterizacoesCadastradas.ForEach(x => { if (User.IsInRole("ProjetoGeograficoEditar") || User.IsInRole("ProjetoGeograficoVisualizar")) { x.ProjetoGeografico = true; } x.ProjetoGeograficoVisualizar = visualizar; x.PodeEditar = User.IsInRole(String.Format("{0}Editar", x.Tipo.ToString())); x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString())); x.PodeExcluir = (User.IsInRole(String.Format("{0}Excluir", x.Tipo.ToString())) && (x.Tipo == eCaracterizacao.UnidadeConsolidacao || x.Tipo == eCaracterizacao.UnidadeProducao)); x.PodeCopiar = cadastradasInterno.Exists(y => y.Tipo == x.Tipo); x.PodeAssociar = !caracterizacoesAssociadas.Exists(y => y.Tipo == x.Tipo); x.ProjetoGeograficoId = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo).ProjetoId; x.UrlEditar = Url.Action("Editar", x.Tipo.ToString()); x.UrlVisualizar = Url.Action("Visualizar", x.Tipo.ToString()); x.UrlExcluirConfirm = Url.Action("ExcluirConfirm", x.Tipo.ToString()); x.UrlExcluir = Url.Action("Excluir", x.Tipo.ToString()); }); #endregion #region Associadas vm.CaracterizacoesAssociadas.ForEach(x => { if (User.IsInRole("ProjetoGeograficoVisualizar")) { x.ProjetoGeografico = true; x.ProjetoGeograficoVisualizar = true; x.ProjetoGeograficoId = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo).ProjetoId; } x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString())); x.UrlVisualizar = Url.Action("Visualizar", x.Tipo.ToString()); }); #endregion return(View("Caracterizacao", vm)); }
public bool Salvar(IEspecificidade especificidade) { TermoCPFARLDa _da = new TermoCPFARLDa(); EspecificidadeDa _daEspecificidade = new EspecificidadeDa(); DominialidadeDa _daDominialidade = new DominialidadeDa(); CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); CaracterizacaoValidar caracterizacaoValidar = new CaracterizacaoValidar(); List <Dependencia> dependencias = new List <Dependencia>(); TermoCPFARL esp = especificidade as TermoCPFARL; List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); List <PessoaLst> destinatarios = _daEspecificidade.ObterInteressados(esp.ProtocoloReq.Id); List <ReservaLegal> reservas; int idCaracterizacao; int tipo; RequerimentoAtividade(esp); if (esp.Atividades[0].Id != ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.ReservaLegal)) { Validacao.Add(Mensagem.TermoCPFARLMsg.AtividadeInvalida(esp.Atividades[0].NomeAtividade)); } if (esp.Destinatarios.Count == 0) { Validacao.Add(Mensagem.Especificidade.DestinatarioObrigatorio("Termo_Destinatario")); } else { esp.Destinatarios.ForEach(x => { if (destinatarios.SingleOrDefault(y => y.Id == x.Id) == null) { Validacao.Add(Mensagem.Especificidade.DestinatarioDesassociado("Termo_Destinatario", x.Nome)); } else { tipo = _daEspecificidade.ObterDadosPessoa(x.Id).Tipo; if (tipo == 3 || tipo == 4) { Validacao.Add(Mensagem.TermoCPFARLMsg.DestinatarioNaoPermitido); } } }); } idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.Dominialidade); if (idCaracterizacao > 0) { dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.TermoCPFARLMsg.CaracterizacaoDeveEstarValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.Dominialidade).Nome)); } else { reservas = new List <ReservaLegal>(); Dominialidade dominialidade = _daDominialidade.ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(0)); dominialidade.Dominios.ForEach(x => { x.ReservasLegais.ForEach(reserva => { reservas.Add(reserva); }); }); if (reservas == null || reservas.Count == 0) { Validacao.Add(Mensagem.TermoCPFARLMsg.ArlInexistente); } else { if (reservas.Exists(x => x.SituacaoVegetalId == (int)eReservaLegalSituacaoVegetal.NaoCaracterizada || x.SituacaoVegetalId == (int)eReservaLegalSituacaoVegetal.EmUso)) { Validacao.Add(Mensagem.TermoCPFARLMsg.ARLSituacaoVegetalInvalida); } if (reservas.Exists(x => x.SituacaoId != (int)eReservaLegalSituacao.Proposta)) { Validacao.Add(Mensagem.TermoCPFARLMsg.DominioSituacaoInvalida); } if (reservas.Exists(x => x.LocalizacaoId == (int)eReservaLegalLocalizacao.CompensacaoMatriculaCedente || x.LocalizacaoId == (int)eReservaLegalLocalizacao.CompensacaoMatriculaReceptora || x.LocalizacaoId == (int)eReservaLegalLocalizacao.CompensacaoEmpreendimentoCedente || x.LocalizacaoId == (int)eReservaLegalLocalizacao.CompensacaoEmpreendimentoReceptora)) { Validacao.Add(Mensagem.TermoCPFARLMsg.LocalizacaoInvalida); } } } } else { Validacao.Add(Mensagem.TermoCPFARLMsg.DominialidadeInexistente); } return(Validacao.EhValido); }
public bool Salvar(IEspecificidade especificidade) { CadastroAmbientalRuralTitulo esp = especificidade as CadastroAmbientalRuralTitulo; List <Dependencia> dependencias = new List <Dependencia>(); List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); int idCaracterizacao; RequerimentoAtividade(esp); if (Destinatario(especificidade.ProtocoloReq.Id, esp.Destinatario, "CadastroAmbientalRuralTitulo_Destinatario")) { if (!ValidarDestinatarioIsRepresentanteEmpreendimento(esp.ProtocoloReq.Id, esp.Destinatario)) { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.DestinatarioNaoEstaAssociadoEmpreendimento); } } if (esp.Atividades[0].Id != ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.CadastroAmbientalRural)) { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.AtividadeInvalida); } else { String tituloNumero = _da.ObterNumeroTituloCARExistente(esp.Titulo.EmpreendimentoId.GetValueOrDefault(0)); if (!String.IsNullOrWhiteSpace(tituloNumero)) { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.AtividadeJaAssociadaOutroTitulo(tituloNumero)); } } #region Caracterizacao idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.CadastroAmbientalRural); if (idCaracterizacao > 0) { if (especificidade.Titulo.EmpreendimentoId.GetValueOrDefault() > 0) { if (_da.EmpreendimentoCaracterizacaoCARNaoFinalizada(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())) { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.EmpreendimentoCaracterizacaoCARNaoFinalizada); return(Validacao.EhValido); } } dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.CadastroAmbientalRural, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.CadastroAmbientalRural, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.CaracterizacaoValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.CadastroAmbientalRural).Nome)); } } else { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.CaracterizacaoNaoCadastrada); } idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.Dominialidade); if (idCaracterizacao > 0) { if (_da.EmpreendimentoCaracterizacaoCARNaoFinalizada(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())) { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.EmpreendimentoCaracterizacaoCARNaoFinalizada); return(Validacao.EhValido); } dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.CaracterizacaoValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.Dominialidade).Nome)); } } else { Validacao.Add(Mensagem.CadastroAmbientalRuralTitulo.DominialidadeInexistente); } #endregion return(Validacao.EhValido); }
public bool ValidarTituloGenericoAtividadeCaracterizacao(IEspecificidade especificidade, eEspecificidade tipo = eEspecificidade.Nulo) { CaracterizacaoBus busCaracterizacao = new CaracterizacaoBus(); GerenciadorConfiguracao configAtividade = new GerenciadorConfiguracao(new ConfiguracaoAtividade()); GerenciadorConfiguracao configCaracterizacao = new GerenciadorConfiguracao(new ConfiguracaoCaracterizacao()); List <AtividadeCaracterizacao> lstAtivCaract = configAtividade.Obter <List <AtividadeCaracterizacao> >(ConfiguracaoAtividade.KeyAtividadesCaracterizacoes); List <Caracterizacao> lstCaracterizacoes = busCaracterizacao.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); List <CaracterizacaoLst> lstCnfCaracterizacoes = configCaracterizacao.Obter <List <CaracterizacaoLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoes); //List<DependenciaLst> lstCnfDependencias = configCaracterizacao.Obter<List<DependenciaLst>>(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias); EspecificidadeBusBase _busEspBase = new EspecificidadeBusBase(); foreach (var item in especificidade.Atividades) { if (item.Id == 0) { continue; } var ativCaract = lstAtivCaract.FirstOrDefault(x => x.AtividadeId == item.Id); if (ativCaract == null || ativCaract.AtividadeId != item.Id || !ativCaract.IsTituloGenerico) { EspecificidadeDa _daEsp = new EspecificidadeDa(); item.NomeAtividade = _daEsp.ObterAtividadeNome(item.Id); Validacao.Add(Mensagem.Especificidade.AtividadeNaoConfiguradaNaAtividadeCaracte(item.NomeAtividade, especificidade.Titulo.ModeloSigla)); continue; } Caracterizacao caracterizacao = lstCaracterizacoes.Find(x => x.Tipo == (eCaracterizacao)ativCaract.CaracterizacaoTipoId); CaracterizacaoLst caracterizacaoTipo = lstCnfCaracterizacoes.Find(x => x.Id == ativCaract.CaracterizacaoTipoId); ICaracterizacaoBus busCaract = CaracterizacaoBusFactory.Criar(caracterizacao.Tipo); if (busCaract == null) { throw new Exception("CaracterizacaoBusFactory não implementada para o tipo " + caracterizacaoTipo.Texto); } List <int> atividadesCaract = busCaract.ObterAtividadesCaracterizacao(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); if (atividadesCaract == null || atividadesCaract.Count == 0) { Validacao.Add(Mensagem.Especificidade.CaracterizacaoNaoPreenchida(caracterizacaoTipo.Texto)); continue; } if (!atividadesCaract.Exists(x => x == item.Id)) { Validacao.Add(Mensagem.Especificidade.AtividadeDiferenteCaracterizacao(caracterizacaoTipo.Texto)); continue; } List <Dependencia> lstDependenciaAteradas = busCaracterizacao.ObterDependenciasAlteradas( especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), caracterizacao.Id, (eCaracterizacao)caracterizacaoTipo.Id, eCaracterizacaoDependenciaTipo.Caracterizacao); if (lstDependenciaAteradas != null && lstDependenciaAteradas.Count > 0) { Validacao.Add(Mensagem.Especificidade.CaracterizacaoDependencias(caracterizacaoTipo.Texto)); /*Validacao.Add(Mensagem.Especificidade.CaracterizacaoDependencias(String.Join(", ", lstDependenciaAteradas.Select(x => * String.Format("{0} - {1}", * lstCnfDependencias.Single(y => y.Id == x.DependenciaTipo).TipoTexto, * lstCnfCaracterizacoes.Single(y => y.Id == x.DependenciaCaracterizacao).Texto) * ).ToArray())));*/ } } switch (tipo) { case eEspecificidade.LicencaAmbientalRegularizacao: case eEspecificidade.LicencaAmbientalUnica: case eEspecificidade.LicencaSimplificada: case eEspecificidade.LicencaInstalacao: case eEspecificidade.LicencaOperacao: case eEspecificidade.LicencaPrevia: if (especificidade.Atividades.Count > 0) { especificidade.AtividadeCaractTipo = (eAtividadeCodigo)ConfiguracaoAtividade.ObterCodigo(especificidade.Atividades[0].Id); } switch (especificidade.AtividadeCaractTipo) { case eAtividadeCodigo.Barragem: var configEspAtivCaract = _busEspBase.GetConfigAtivEspCaracterizacao((int)tipo); var list = configEspAtivCaract.GetListValue <int>("Atividades"); if (especificidade is ILicenca && list.Where(x => x == (int)eAtividadeCodigo.Barragem).ToList().Count > 0) { _validarLicenca.Validar(especificidade as ILicenca); } break; } break; } return(Validacao.EhValido); }
public bool Salvar(IEspecificidade especificidade) { #region Variáveis OutrosLegitimacaoTerraDevolutaDa _da = new OutrosLegitimacaoTerraDevolutaDa(); CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); CaracterizacaoValidar caracterizacaoValidar = new CaracterizacaoValidar(); List <Dependencia> dependencias = new List <Dependencia>(); OutrosLegitimacaoTerraDevoluta esp = especificidade as OutrosLegitimacaoTerraDevoluta; List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); int idCaracterizacao; string titulo = string.Empty; #endregion #region Requerimento //O requerimento <nº> não está mais associado ao processo <nº>. //A atividade <nome> não está mais associada ao processo. //A atividade <nome> deve estar na situação ‘em andamento’. //Este modelo de título não foi solicitado para a atividade <nome>’. RequerimentoAtividade(esp, apenasObrigatoriedade: true); #endregion #region Atividade //O modelo de título <nome do modelo> não pode ser utilizado para atividade <nome da atividade selecionada na especificidade do título>. if (!ConfiguracaoAtividade.ObterId(new[] { (int)eAtividadeCodigo.RegularizacaoFundiariaRural, (int)eAtividadeCodigo.RegularizacaoFundiariaUrbana, (int)eAtividadeCodigo.RegularizacaoFundiariaRuralOriundaDeProcessoDiscriminatorio, (int)eAtividadeCodigo.RegularizacaoFundiariaUrbanaOriundaDeProcessoDiscriminatorio }).Any(x => x == esp.Atividades[0].Id)) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.AtividadeInvalida(esp.Atividades[0].NomeAtividade)); } #endregion #region Destinatários if (esp.Destinatarios.Count == 0) { Validacao.Add(Mensagem.Especificidade.DestinatarioObrigatorio("Outros_Destinatarios")); } else { esp.Destinatarios.ForEach(x => { Destinatario(esp.ProtocoloReq.Id, x.Id, "Outros_Destinatarios"); }); } #endregion #region Caracterização //A caracterização de <nome da caracterização> deve estar cadastrada. //Para cadastrar este modelo de título é necessário ter os dados da caracterização <nome da caracterização dependente> válidos. idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.RegularizacaoFundiaria); if (idCaracterizacao > 0) { dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.CaracterizacaoValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.RegularizacaoFundiaria).Nome)); } } else { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.CaracterizacaoCadastrada); } #endregion #region Posse if (esp.Dominio == 0) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.DominioObrigatorio); } else { if (!_da.IsDominioCadastrado(esp.Dominio)) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.DominioInexistente); } TituloEsp tituloAux = _da.IsDominioAssociado(esp.Dominio, esp.Titulo.Id); switch ((eTituloSituacao)tituloAux.SituacaoId) { case eTituloSituacao.Cadastrado: case eTituloSituacao.Emitido: case eTituloSituacao.Assinado: Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.PosseAssociadaSituacao(tituloAux.SituacaoTexto)); break; case eTituloSituacao.Concluido: case eTituloSituacao.Prorrogado: Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.PosseAssociadaNumero(tituloAux.Numero.Texto)); break; } } #endregion if (string.IsNullOrWhiteSpace(esp.ValorTerreno)) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.ValorTerrenoObrigatorio); } if (!esp.IsInalienabilidade.HasValue) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.IsInalienabilidadeObrigatorio); } if (esp.MunicipioGlebaId <= 0) { Validacao.Add(Mensagem.OutrosLegitimacaoTerraDevolutaMsg.MunicipioGlebaObrigatorio); } return(Validacao.EhValido); }