예제 #1
0
        public void AssociarDependencias(ProjetoDigital projetoDigital, BancoDeDados banco = null)
        {
            try
            {
                #region Configurar

                List <Caracterizacao> lista = new List <Caracterizacao>();
                lista.Add(new Caracterizacao()
                {
                    Tipo = (eCaracterizacao)projetoDigital.Dependencias.First().DependenciaCaracterizacao
                });

                CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus();
                lista = caracterizacaoBus.ObterCaracterizacoesAtuais(projetoDigital.EmpreendimentoId.GetValueOrDefault(), lista);

                Caracterizacao aux = lista.First();
                projetoDigital.Dependencias.Clear();

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

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

                #endregion

                if (_validar.AssociarDependencias(projetoDigital))
                {
                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, UsuarioCredenciado))
                    {
                        bancoDeDados.IniciarTransacao();

                        _da.AssociarDependencias(projetoDigital, bancoDeDados);

                        AlterarEtapa(projetoDigital.Id, eProjetoDigitalEtapa.Caracterizacao, bancoDeDados);

                        Validacao.Add(Mensagem.ProjetoDigital.AssociadaProjetoDigital);

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }