예제 #1
0
        public List <Dependencia> ObterDependencias(int projetoDigitalID, BancoDeDados banco = null)
        {
            try
            {
                return(_da.ObterDependencias(projetoDigitalID, banco));
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
예제 #2
0
        public bool FinalizarCaracterizacoes(ProjetoDigital projetoDigital)
        {
            #region Configurar

            List <CaracterizacaoLst> caracterizacoes = _busCaracterizacao.ObterCaracterizacoesPorProjetoDigital(projetoDigital.Id);
            if (caracterizacoes.Count <= 0)
            {
                return(true);
            }

            List <Caracterizacao> lista = new List <Caracterizacao>();
            caracterizacoes.ForEach(r =>
            {
                lista.Add(new Caracterizacao()
                {
                    Tipo = (eCaracterizacao)r.Id
                });
            });

            lista = _busCaracterizacao.ObterCaracterizacoesAtuais(projetoDigital.EmpreendimentoId.GetValueOrDefault(), lista);

            lista.ForEach(r =>
            {
                if (r.Tipo == eCaracterizacao.UnidadeProducao)
                {
                    ICaracterizacaoBus caracterizacaoBus = CaracterizacaoBusFactory.Criar(eCaracterizacao.UnidadeProducao);
                    if (!caracterizacaoBus.PodeEnviar(r.Id))
                    {
                        return;
                    }
                }

                projetoDigital.Dependencias.Add(new Dependencia()
                {
                    DependenciaTipo           = (int)eCaracterizacaoDependenciaTipo.Caracterizacao,
                    DependenciaCaracterizacao = (int)r.Tipo,
                    DependenciaId             = r.Id,
                    DependenciaTid            = r.Tid
                });

                if (r.ProjetoId > 0)
                {
                    projetoDigital.Dependencias.Add(new Dependencia()
                    {
                        DependenciaTipo           = (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico,
                        DependenciaCaracterizacao = (int)r.Tipo,
                        DependenciaId             = r.ProjetoId,
                        DependenciaTid            = r.ProjetoTid
                    });
                }
            });

            #endregion

            if (!Validacao.EhValido)
            {
                return(false);
            }

            AssociarDependencias(projetoDigital);

            List <CaracterizacaoLst> caracterizacoesObrigatorias = _busCaracterizacao.ObterCaracterizacoesPorProjetoDigital(projetoDigital.Id)
                                                                   .Where(x => x.Permissao == ePermissaoTipo.Obrigatorio).ToList();

            List <Dependencia> dependenciasBanco = _da.ObterDependencias(projetoDigital.Id);
            foreach (var item in caracterizacoesObrigatorias)
            {
                if (!dependenciasBanco.Exists(x => x.DependenciaCaracterizacao == item.Id))
                {
                    Validacao.Add(Mensagem.ProjetoDigital.CaracterizacaoObrigatoria(item.Texto));
                }
            }

            return(Validacao.EhValido);
        }
예제 #3
0
 public List <Dependencia> ObterDependencias(int projetoDigitalID, BancoDeDados bancoCredenciado)
 {
     return(_da.ObterDependencias(projetoDigitalID, bancoCredenciado));
 }