Exemplo 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);
        }
Exemplo n.º 2
0
        public AnaliseItem ObterAnaliseProtocolo(Requerimento req, int protocoloId, bool atualizar)
        {
            AnaliseItem analise = null;

            try
            {
                int analiseId = _da.ExisteAnalise(req.Checagem);

                if (analiseId != 0)
                {
                    analise = _da.Obter(analiseId);
                    if (atualizar)
                    {
                        analise.Atualizado = atualizar;
                        AtualizarAnalise(analise);
                    }
                }
                else
                {
                    analise              = new AnaliseItem();
                    analise.Checagem.Id  = req.Checagem;
                    analise.Protocolo.Id = protocoloId;
                    CriarAnalise(analise);
                }

                if (req.IsRequerimentoDigital && !analise.Itens.Exists(x => x.Tipo == (int)eRoteiroItemTipo.ProjetoDigital))
                {
                    analise.Itens.AddRange(ObterItensRequerimentoDigital(req));
                }

                int projetoDigitalId = new ProjetoDigitalCredenciadoBus().ObterProjetoDigitalId(req.Id);

                List <Caracterizacao> caracterizacoes = _busCaracterizacaoCredenciado.ObterCaracterizacoesAssociadasProjetoDigital(projetoDigitalId);

                analise.Itens.Where(x => x.Tipo == (int)eRoteiroItemTipo.ProjetoDigital).ToList().ForEach(x => {
                    caracterizacoes.Where(c => c.Tipo == (eCaracterizacao)x.CaracterizacaoTipoId).ToList().ForEach(c => {
                        x.TemProjetoGeografico = c.ProjetoId > 0;
                    });
                });

                ValidarSituacaoRoteiros(analise);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(analise);
        }
Exemplo n.º 3
0
        public List <Item> ObterItensRequerimentoDigital(Requerimento requerimento)
        {
            List <Item> itens = new List <Item>();

            if (requerimento.IsRequerimentoDigital)
            {
                try
                {
                    int projetoDigitalId = new ProjetoDigitalCredenciadoBus().ObterProjetoDigitalId(requerimento.Id);
                    List <Caracterizacao> caracterizacoes = _busCaracterizacaoCredenciado.ObterCaracterizacoesAssociadasProjetoDigital(projetoDigitalId);
                    itens = _da.ObterItensProjetoDigital(caracterizacoes);
                }
                catch (Exception exc)
                {
                    Validacao.AddErro(exc);
                }
            }

            return(itens);
        }