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); }
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); }
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); }