public ActionResult Editar(int id, int projetoDigitalId)
        {
            Requerimento requerimento = _busRequerimento.Obter(id);

            requerimento.ProjetoDigitalId = projetoDigitalId;

            ProjetoDigital projetoDigital = _busProjetoDigital.Obter(requerimento.ProjetoDigitalId, requerimento.Id);

            _busRequerimento.ValidarRoteiroRemovido(requerimento);

            if (Validacao.Erros.Count <= 0)
            {
                _busRequerimento.ValidarSituacaoVersaoRoteiro(requerimento.Roteiros);
            }

            _busRequerimento.ValidarEditar(requerimento);

            if (!Validacao.EhValido)
            {
                return(RedirectToAction("Index", "ProjetoDigital", Validacao.QueryParamSerializer()));
            }

            RequerimentoVM vm = new RequerimentoVM(requerimento);

            vm.CarregarListas(ListaCredenciadoBus.ResponsavelFuncoes, ListaCredenciadoBus.AgendamentoVistoria);

            return(View(vm));
        }
Exemplo n.º 2
0
        public void Enviar(ProjetoDigital projeto)
        {
            try
            {
                projeto.Etapa = (int)eProjetoDigitalEtapa.ImprimirDocumentos;

                RequerimentoCredenciadoBus requerimentoCredenciadoBus = new RequerimentoCredenciadoBus();
                Requerimento requerimento = requerimentoCredenciadoBus.Obter(projeto.RequerimentoId);
                requerimento.ProjetoDigitalId = projeto.Id;

                if (_validar.Enviar(requerimento, projeto))
                {
                    projeto.Situacao = (int)eProjetoDigitalSituacao.AguardandoImportacao;
                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Enviar(projeto, bancoDeDados);

                        SalvarTemporario(projeto, bancoDeDados);

                        Validacao.Add(Mensagem.ProjetoDigital.Enviar);

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
        public ActionResult DocumentosGerados(int id)
        {
            ProjetoDigital             projetoDigital             = _bus.Obter(id);
            RequerimentoCredenciadoBus requerimentoCredenciadoBus = new RequerimentoCredenciadoBus();
            Requerimento requerimento = requerimentoCredenciadoBus.Obter(projetoDigital.RequerimentoId);

            ProjetoGeograficoBus projetoGeoBus = new ProjetoGeograficoBus();

            foreach (var item in projetoDigital.Dependencias)
            {
                if (item.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico)
                {
                    List <ArquivoProjeto> arquivos = projetoGeoBus.ObterArquivosHistorico(item.DependenciaId, item.DependenciaTid);
                    item.Id = (arquivos.SingleOrDefault(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.Croqui) ?? new ArquivoProjeto()).Id.GetValueOrDefault();
                }
                else
                {
                    item.Id = 0;
                }
            }

            DocumentosGeradosVM vm = new DocumentosGeradosVM();

            vm.MostrarTitulo = true;
            vm.CarregarDocumentos(requerimento, projetoDigital);

            return(PartialView("DocumentosGerados", vm));
        }
        public Requerimento Obter(int requerimentoId)
        {
            Requerimento requerimento = null;

            try
            {
                RequerimentoCredenciadoBus busRequerimentoCredenciado = new RequerimentoCredenciadoBus();
                requerimento = busRequerimentoCredenciado.Obter(requerimentoId, true);
                requerimento.ProjetoDigital   = _busProjetoDigitalCredenciado.Obter(idRequerimento: requerimentoId);
                requerimento.ProjetoDigitalId = requerimento.ProjetoDigital.Id;
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(requerimento);
        }
        public Requerimento Importar(Requerimento requerimento)
        {
            try
            {
                RequerimentoCredenciadoBus busRequerimentoCredenciado = new RequerimentoCredenciadoBus();
                var credenciado = busRequerimentoCredenciado.Obter(requerimento.Id, true);
                credenciado.SetorId = requerimento.SetorId;

                credenciado.Empreendimento.SelecaoTipo = (int)eExecutorTipo.Credenciado;
                credenciado.Pessoas.ForEach(p =>
                {
                    p.SelecaoTipo = (int)eExecutorTipo.Credenciado;
                });

                List <Pessoa> pessoasRelacionadas = ObterPessoasRelacionadas(credenciado);

                if (_validar.Importar(credenciado, pessoasRelacionadas))
                {
                    credenciado.IsCredenciado = true;
                    GerenciadorTransacao.ObterIDAtual();

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

                        credenciado = ImportarPessoas(credenciado, pessoasRelacionadas, bancoDeDados);

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

                        using (BancoDeDados bancoDeDadosCredenciado = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                        {
                            bancoDeDadosCredenciado.IniciarTransacao();

                            if (credenciado.Empreendimento.Id > 0)
                            {
                                credenciado = ImportarEmpreendimento(credenciado, bancoDeDados, bancoDeDadosCredenciado);
                            }

                            if (!Validacao.EhValido)
                            {
                                bancoDeDadosCredenciado.Rollback();
                                bancoDeDados.Rollback();
                                return(requerimento);
                            }

                            _da.Importar(credenciado, bancoDeDados);

                            _busProjetoDigitalCredenciado.AlterarEtapaTemporario(requerimento.ProjetoDigitalId, eProjetoDigitalEtapaImportacao.Caracterizacao, bancoDeDados);

                            if (!Validacao.EhValido)
                            {
                                bancoDeDadosCredenciado.Rollback();
                                bancoDeDados.Rollback();
                                return(requerimento);
                            }

                            busRequerimentoCredenciado.AlterarSituacao(new Requerimento()
                            {
                                Id = credenciado.Id, SituacaoId = (int)eRequerimentoSituacao.Importado
                            }, bancoDeDadosCredenciado);

                            AlterarSituacao(credenciado.Id, eProjetoDigitalSituacao.AguardandoProtocolo, bancoDeDadosCredenciado);

                            if (!Validacao.EhValido)
                            {
                                bancoDeDadosCredenciado.Rollback();
                                bancoDeDados.Rollback();
                                return(requerimento);
                            }

                            bancoDeDadosCredenciado.Commit();
                        }

                        bancoDeDados.Commit();
                        Validacao.Add(Mensagem.ProjetoDigital.RequerimentoImportado(requerimento.Numero.ToString()));
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(requerimento);
        }