internal bool Salvar(ProjetoGeografico projeto)
        {
            if (_da.ExisteProjetoGeografico(projeto.EmpreendimentoId, projeto.CaracterizacaoId) != projeto.Id)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.JaExisteCadastro);
                return(false);
            }

            if (projeto.NivelPrecisaoId <= 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.NivelPrecisaoObrigatorio);
                return(false);
            }

            if (projeto.MaiorX <= 0 || projeto.MaiorY <= 0 || projeto.MenorX <= 0 || projeto.MenorY <= 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.AreaDeAbrangenciaObrigatorio);
                return(false);
            }

            if (projeto.MecanismoElaboracaoId == 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.MecanismoObrigatorio);
                return(false);
            }

            CaracterizacaoBus _busCaracterizacao = new CaracterizacaoBus();

            if (!_busCaracterizacao.ExisteEmpreendimento(projeto.EmpreendimentoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoInexistente);
            }

            return(Validacao.EhValido);
        }
        public bool ExisteEmpreendimento(int id)
        {
            CaracterizacaoBus _busCaracterizacao = new CaracterizacaoBus();

            if (!_busCaracterizacao.ExisteEmpreendimento(id))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoNaoCadastrao);
            }
            return(Validacao.EhValido);
        }
        internal bool Finalizar(ProjetoGeografico projeto)
        {
            CaracterizacaoBus _busCaracterizacao = new CaracterizacaoBus();

            if (!_busCaracterizacao.ExisteEmpreendimento(projeto.EmpreendimentoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoInexistente);
                return(false);
            }

            if (_da.ObterSituacaoProjetoGeografico(projeto.Id) == (int)eProjetoGeograficoSituacao.Finalizado)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.SituacaoProjetoFinalizado);
                return(false);
            }

            if (!_da.VerificarProjetoGeograficoProcessado(projeto.Id, (eCaracterizacao)projeto.CaracterizacaoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.SituacaoDeveSerProcessado);
                return(false);
            }

            if (projeto.Sobreposicoes == null || projeto.Sobreposicoes.Itens == null || projeto.Sobreposicoes.Itens.Count == 0 || !ValidarDataVerificacao(projeto.Sobreposicoes))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.VerificarSobreposicao);
            }

            List <string> auxiliar = _da.VerificarExcluirDominios(projeto.EmpreendimentoId);

            if (auxiliar != null && auxiliar.Count > 0)
            {
                foreach (var item in auxiliar)
                {
                    Validacao.Add(Mensagem.Dominialidade.DominioAssossiadoReserva(item));
                }
            }

            if (projeto.InternoID > 0)
            {
                List <ReservaLegal> reservasInternoRelacionadasCompensacao = _dominialidadeInternoDa.ObterRLsCompensacao(projeto.InternoID);
                List <ReservaLegal> reservarProcessadas = _dominialidadeDa.ObterRLGeoProcessadas(projeto.Id);

                reservasInternoRelacionadasCompensacao.ForEach(reservaInterno => {
                    if (!reservarProcessadas.Exists(rp => reservaInterno.Identificacao == rp.Identificacao))
                    {
                        Validacao.Add(Mensagem.Dominialidade.NaoPermitidoExcluirReserva(reservaInterno.Identificacao));
                    }
                });
            }

            return(Validacao.EhValido);
        }
        internal bool Refazer(ProjetoGeografico projeto)
        {
            CaracterizacaoBus _busCaracterizacao = new CaracterizacaoBus();

            if (!_busCaracterizacao.ExisteEmpreendimento(projeto.EmpreendimentoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoInexistente);
            }

            if (_da.ExisteProjetoGeografico(projeto.EmpreendimentoId, projeto.CaracterizacaoId, true) <= 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.SituacaoProjetoDeveSerFinalizar);
            }
            return(Validacao.EhValido);
        }
예제 #5
0
        public bool Finalizar(ProjetoGeografico projeto)
        {
            CaracterizacaoBus _busCaracterizacao = new CaracterizacaoBus();

            if (!_busCaracterizacao.ExisteEmpreendimento(projeto.EmpreendimentoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoInexistente);
                return(false);
            }

            if (_da.ObterSituacaoProjetoGeografico(projeto.Id) == (int)eProjetoGeograficoSituacao.Finalizado)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.SituacaoProjetoFinalizado);
                return(false);
            }

            if (!_da.VerificarProjetoGeograficoProcessado(projeto.Id, (eCaracterizacao)projeto.CaracterizacaoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.SituacaoDeveSerProcessado);
                return(false);
            }

            if (projeto.Sobreposicoes == null || projeto.Sobreposicoes.Itens == null || projeto.Sobreposicoes.Itens.Count == 0 ||
                (!ValidarDataVerificacao(projeto.Sobreposicoes) && projeto.CaracterizacaoId != (int)eCaracterizacao.ExploracaoFlorestal))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.VerificarSobreposicao);
            }

            if (projeto.CaracterizacaoId == (int)eCaracterizacao.Dominialidade)
            {
                List <string> auxiliar = _da.VerificarExcluirDominios(projeto.EmpreendimentoId);
                if (auxiliar != null && auxiliar.Count > 0)
                {
                    foreach (var item in auxiliar)
                    {
                        Validacao.Add(Mensagem.Dominialidade.DominioAssossiadoReserva(item));
                    }
                }
            }

            return(Validacao.EhValido);
        }