Ejemplo n.º 1
0
        public bool ImportarProjetoDigital(int analiseId, int projetoDigitalId)
        {
            try
            {
                GerenciadorTransacao.ObterIDAtual();

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

                    using (BancoDeDados bancoCredenciado = BancoDeDados.ObterInstancia(EsquemaBancoCredenciado))
                    {
                        bancoCredenciado.IniciarTransacao();
                        AnaliseItem analise = Obter(analiseId);
                        analise.Situacao = (int)eAnaliseSituacao.Finalizado;

                        if (_validar.Analise(analise))
                        {
                            CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus();

                            caracterizacaoBus.CopiarDadosCredenciado(projetoDigitalId, bancoDeDados, bancoCredenciado);

                            _da.AlterarSituacao(analise, bancoDeDados);

                            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
                            projetoDigitalCredenciadoBus.AlterarEtapaTemporario(projetoDigitalId, eProjetoDigitalEtapaImportacao.Finalizado, bancoDeDados);

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

                        bancoCredenciado.Commit();
                    }

                    bancoDeDados.Commit();
                }

                return(true);
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(false);
        }