public bool AssociarRequerimento(Requerimento requerimento, int modeloId)
        {
            RequerimentoCredenciadoBus requerimentoBus = new RequerimentoCredenciadoBus();

            requerimento = requerimentoBus.ObterSimplificado(requerimento.Id);

            ProjetoDigitalCredenciadoBus projetoDigitalBus = new ProjetoDigitalCredenciadoBus();
            var projetoDigital = projetoDigitalBus.Obter(idRequerimento: requerimento.Id);

            if (projetoDigital.Situacao != (int)eProjetoDigitalSituacao.AguardandoImportacao)
            {
                Validacao.Add(Mensagem.Titulo.ProjetoDigitalSituacaoInvalida);
            }

            if (requerimento.SituacaoId != (int)eRequerimentoSituacao.Finalizado)
            {
                Validacao.Add(Mensagem.Titulo.RequerimentoSituacaoInvalida);
            }

            if (!requerimentoBus.VerificarRequerimentoPossuiModelo(modeloId, requerimento.Id))
            {
                Validacao.Add(Mensagem.Titulo.RequerimentoNaoPossuiModelo);
            }

            return(Validacao.EhValido);
        }
        public ActionResult Finalizar(ProjetoGeografico projeto, string url)
        {
            if (!_validar.ExisteEmpreendimento(projeto.EmpreendimentoId))
            {
                return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, urlRedirect = Url.Action("Operar", "ProjetoDigital", new { area = "", Id = projeto.ProjetoDigitalId }) }));
            }

            if (!projeto.EmpreendimentoEstaDentroAreaAbrangencia)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoForaAbrangencia);
                return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros }));
            }

            //Valida as dependências do projeto geográfico
            string mensagem = _caracterizacaoValidar.DependenciasAlteradas(projeto.EmpreendimentoId, projeto.CaracterizacaoId,
                                                                           eCaracterizacaoDependenciaTipo.ProjetoGeografico, projeto.Dependencias);

            if (!String.IsNullOrWhiteSpace(mensagem))
            {
                return(Json(new { @Mensagem = mensagem, Msg = Validacao.Erros }));
            }

            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();

            _bus.Finalizar(projeto, projeto.ProjetoDigitalId, projetoDigitalCredenciadoBus.AlterarCaracterizacao);

            return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, Url = url }));
        }
Esempio n. 3
0
        public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0)
        {
            ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus();
            ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId);

            BarragemDispensaLicenca caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId);
            AtividadeBus            atividadeBus   = new AtividadeBus();

            BarragemDispensaLicencaVM vm = new BarragemDispensaLicencaVM(
                caracterizacao,
                atividadeBus.ObterAtividadePorCodigo((int)eAtividadeCodigo.BarragemDeAte1HaLâminaDaguaAte10000M3DeVolumeArmazenado),
                _listaBus.BarragemDispensaLicencaFinalidadeAtividade,
                _listaBus.BarragemDispensaLicencaFormacaoRT,
                _listaBus.BarragemDispensaLicencaBarragemTipo,
                _listaBus.BarragemDispensaLicencaFase,
                _listaBus.BarragemDispensaLicencaMongeTipo,
                _listaBus.BarragemDispensaLicencaVertedouroTipo
                );

            vm.ProtocoloId      = protocoloId;
            vm.ProjetoDigitalId = projeto.Id;
            vm.RequerimentoId   = projeto.RequerimentoId;
            vm.UrlRetorno       = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId });

            return(View("Visualizar", vm));
        }
Esempio n. 4
0
        public bool Importar(Requerimento requerimento, List <Pessoa> pessoasRelacionadas)
        {
            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
            ProjetoDigital projeto = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id);

            if (projeto.Situacao != (int)eProjetoDigitalSituacao.AguardandoImportacao)
            {
                Validacao.Add(Mensagem.ProjetoDigital.SituacaoImportar);
                return(false);
            }

            if (!_da.ValidarVersaoAtual(requerimento.Id, requerimento.Tid))
            {
                Validacao.Add(Mensagem.ProjetoDigital.DadosDesatualizadoImportacao);
                return(false);
            }

            if (requerimento.Interessado.Id <= 0)
            {
                Validacao.Add(Mensagem.ProjetoDigital.InteressadoObrigatorio);
                return(false);
            }

            if (requerimento.Pessoas == null || requerimento.Pessoas.Count <= 0)
            {
                Validacao.Add(Mensagem.ProjetoDigital.InteressadoObrigatorio);
            }

            foreach (var item in requerimento.Pessoas.Where(x => x.IsFisica))
            {
                if (item.SelecaoTipo == (int)eExecutorTipo.Credenciado && pessoasRelacionadas.Exists(x => x.Fisica.CPF == item.Fisica.CPF))
                {
                    var pessoaRel = _busPessoa.Obter(item.Fisica.CPF);

                    if (pessoaRel != null && pessoaRel.Id > 0 &&
                        pessoaRel.Fisica.ConjugeCPF != item.Fisica.ConjugeCPF &&
                        pessoasRelacionadas.Count(x => x.Fisica.ConjugeCPF == item.Fisica.CPF) > 1)
                    {
                        Validacao.Add(Mensagem.ProjetoDigital.PessoaCredenciadoConflito);
                        break;
                    }
                }
            }

            if (requerimento.SetorId <= 0)
            {
                Validacao.Add(Mensagem.Requerimento.SetorObrigatorio);
            }

            requerimento.Atividades.ForEach(atividade =>
            {
                if (atividade.SituacaoId == (int)eAtividadeSituacao.Desativada)
                {
                    Validacao.Add(Mensagem.ProjetoDigital.AtividadeDesativada(atividade.NomeAtividade));
                }
            });

            return(Validacao.EhValido);
        }
Esempio n. 5
0
        public void Finalizar(Requerimento requerimento)
        {
            try
            {
                #region Projeto Digital

                ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
                ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id);
                requerimento.ProjetoDigitalId = projetoDigital.Id;

                #endregion

                requerimento = Obter(requerimento.Id);

                Mensagem msgSucesso;

                if (IsRequerimentoRegularizacaoFundiaria(requerimento.Atividades.First()))
                {
                    msgSucesso           = Mensagem.ProjetoDigital.AtividadeSemCaracterizacao(requerimento.Atividades.First().NomeAtividade);
                    projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Envio;
                }
                else
                {
                    msgSucesso           = Mensagem.Requerimento.FinalizarCredenciado(requerimento.Numero);
                    projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Caracterizacao;
                }

                requerimento.SituacaoId = (int)eRequerimentoSituacao.Finalizado;

                if (_validar.Finalizar(requerimento))
                {
                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Editar(requerimento);

                        projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados, true);

                        if (Validacao.EhValido)
                        {
                            Validacao.Add(msgSucesso);
                            bancoDeDados.Commit();
                        }
                        else
                        {
                            bancoDeDados.Rollback();
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Esempio n. 6
0
        public bool AssociarEmpreendimento(Requerimento requerimento)
        {
            try
            {
                Requerimento req = Obter(requerimento.Id);
                req.Empreendimento = requerimento.Empreendimento;
                req.SituacaoId     = (int)eRequerimentoSituacao.EmAndamento;

                if (!_validar.AssociarEmpreendimento(req))
                {
                    return(Validacao.EhValido);
                }

                GerenciadorTransacao.ObterIDAtual();

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

                    _da.Editar(req, bancoDeDados);

                    #region Projeto Digital

                    ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
                    ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id, banco: bancoDeDados);
                    projetoDigital.EmpreendimentoId = req.Empreendimento.Id;
                    projetoDigital.Etapa            = (int)eProjetoDigitalEtapa.Requerimento;
                    projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados);

                    ProjetoDigitalCredenciadoDa projetoDigitalCredenciadoDa = new ProjetoDigitalCredenciadoDa();
                    projetoDigitalCredenciadoDa.DesassociarDependencias(projetoDigital, bancoDeDados);

                    #endregion

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

                    bancoDeDados.Commit();

                    if (req.Empreendimento.Id > 0)
                    {
                        Validacao.Add(Mensagem.Requerimento.EmpreendimentoSalvar);
                    }

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

            return(false);
        }
Esempio n. 7
0
 public CARSolicitacaoValidar()
 {
     _requerimentoValidar     = new RequerimentoCredenciadoValidar();
     _busCaracterizacao       = new CaracterizacaoBus();
     _busProjetoGeografico    = new ProjetoGeograficoBus();
     _busProjetoDigital       = new ProjetoDigitalCredenciadoBus();
     _busRequerimento         = new RequerimentoCredenciadoBus();
     _daCarSolicitacao        = new CARSolicitacaoDa();
     _carSolicitacaoInternoDa = new CARSolicitacaoInternoDa();
 }
 public ProjetoDigitalBus()
 {
     _validar   = new ProjetoDigitalValidar();
     _da        = new RequerimentoDa();
     _busPessoa = new Tecnomapas.EtramiteX.Interno.Model.ModuloPessoa.Business.PessoaBus();
     _empBus    = new EmpreendimentoBus();
     _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus();
     _busRequerimentoCredenciado   = new RequerimentoCredenciadoBus();
     _configSys = new GerenciadorConfiguracao <ConfiguracaoSistema>(new ConfiguracaoSistema());
 }
Esempio n. 9
0
        public void SalvarObjetivoPedido(Requerimento requerimento)
        {
            try
            {
                bool criarRequerimento = requerimento.Id <= 0;

                if (_validar.ObjetivoPedidoValidar(requerimento))
                {
                    GerenciadorTransacao.ObterIDAtual();


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

                        requerimento.CredenciadoId = User.FuncionarioId;

                        _da.Salvar(requerimento, bancoDeDados);

                        #region Projeto Digital

                        ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
                        ProjetoDigital projetoDigital = new ProjetoDigital();

                        if (!criarRequerimento)
                        {
                            projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id, banco: bancoDeDados);
                        }

                        projetoDigital.RequerimentoId = requerimento.Id;
                        projetoDigital.Etapa          = (int)eProjetoDigitalEtapa.Requerimento;
                        projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados, criarRequerimento);

                        ProjetoDigitalCredenciadoDa projetoDigitalCredenciadoDa = new ProjetoDigitalCredenciadoDa();
                        projetoDigitalCredenciadoDa.DesassociarDependencias(projetoDigital, bancoDeDados);

                        requerimento.ProjetoDigitalId = projetoDigital.Id;

                        #endregion

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

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
 public CARSolicitacaoBus()
 {
     _configSys           = new GerenciadorConfiguracao <ConfiguracaoSistema>(new ConfiguracaoSistema());
     _da                  = new CARSolicitacaoDa();
     _daInterno           = new CARSolicitacaoInternoDa();
     _busProjetoDigital   = new ProjetoDigitalCredenciadoBus();
     _busRequerimento     = new RequerimentoCredenciadoBus();
     _busAtividade        = new AtividadeCredenciadoBus();
     _validar             = new CARSolicitacaoValidar();
     _consultaCredenciado = new ConsultaCredenciado();
 }
        public ActionResult CopiarDadosInstitucional(int id, int projetoDigitalID, int caracterizacaoTipo)
        {
            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();

            _bus.CopiarDadosInstitucional(id, (eCaracterizacao)caracterizacaoTipo, projetoDigitalID, projetoDigitalCredenciadoBus.AlterarCaracterizacao);

            return(Json(new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = id, projetoDigitalId = projetoDigitalID, Msg = Validacao.QueryParam() })
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult FinalizarPasso(int id, int projetoDigitalID)
        {
            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();

            projetoDigitalCredenciadoBus.FinalizarPassoCaracterizacao(id, projetoDigitalID);

            return(Json(new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @UrlRedirecionar = Url.Action("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalID, area = "" }))
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult DesassociarCaracterizacaoProjetoDigital(ProjetoDigital projetoDigital)
        {
            ProjetoDigitalCredenciadoBus projetoDigitalBus = new ProjetoDigitalCredenciadoBus();

            projetoDigitalBus.DesassociarDependencias(projetoDigital);

            return(Json(new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = projetoDigital.EmpreendimentoId, projetoDigitalId = projetoDigital.Id, Msg = Validacao.QueryParam() })
            }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 14
0
        public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0)
        {
            ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus();
            ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId);

            Dominialidade   caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId);
            DominialidadeVM vm             = new DominialidadeVM(caracterizacao, ListaCredenciadoBus.BooleanLista, true);

            vm.ProtocoloId      = protocoloId;
            vm.ProjetoDigitalId = projeto.Id;
            vm.RequerimentoId   = projeto.RequerimentoId;
            vm.UrlRetorno       = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId });

            return(View("Visualizar", vm));
        }
        public ActionResult Visualizar(int id, int empreendimento, int projetoDigitalId, int tipo, bool isCadastrarCaracterizacao = true, bool mostrarModalDependencias = true, bool retornarVisualizar = true)
        {
            ProjetoGeograficoVM vm = new ProjetoGeograficoVM();

            vm.isCadastrarCaracterizacao = isCadastrarCaracterizacao;

            ProjetoDigitalCredenciadoBus projetoDigitalBus = new ProjetoDigitalCredenciadoBus();
            List <Dependencia>           dependenciasPD    = projetoDigitalBus.ObterDependencias(projetoDigitalId);

            Dependencia dependencia = dependenciasPD.SingleOrDefault(x => x.DependenciaCaracterizacao == tipo && x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico) ?? new Dependencia();

            vm.Projeto = _bus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid);

            vm.IsVisualizar                   = true;
            vm.Desenhador.IsVisualizar        = true;
            vm.Sobreposicoes.MostrarVerificar = false;
            vm.BaseReferencia.IsVisualizar    = true;
            vm.Importador.IsVisualizar        = true;
            vm.IsProcessado                   = _bus.IsProcessado(vm.Projeto.Id, (eCaracterizacao)tipo);

            Boolean podeCriarEditar = new PermissaoValidar().ValidarAny(new[] { ePermissao.ProjetoGeograficoCriar, ePermissao.ProjetoGeograficoEditar }, false);

            if (!String.IsNullOrWhiteSpace(vm.TextoMerge) && !podeCriarEditar)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.NaoPodeVisualizarComDependenciasAlteradas(vm.Projeto.CaracterizacaoTexto));
                return(RedirectToAction("", "Caracterizacao", new { id = empreendimento, projetoDigitalId = projetoDigitalId, Msg = Validacao.QueryParam() }));
            }

            Dominialidade dominialidade = null;

            if (vm.IsFinalizado)
            {
                dominialidade = new DominialidadeBus().ObterDadosGeo(empreendimento);
            }
            else
            {
                dominialidade = new DominialidadeBus().ObterDadosGeoTMP(empreendimento);
            }

            vm.PossuiAPPNaoCaracterizada = dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2();
            vm.PossuiARLNaoCaracterizada = dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2();

            vm.MostrarAvancar     = !dependenciasPD.Exists(x => x.DependenciaCaracterizacao == tipo);
            vm.RetornarVisualizar = retornarVisualizar;

            //Carregar os dados do projeto geográfico
            return(Carregar(vm, projetoDigitalId, mostrarModalDependencias, isVisualizar: true));
        }
        public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0)
        {
            ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus();
            ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId);

            UnidadeProducao   caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId);
            UnidadeProducaoVM vm             = new UnidadeProducaoVM()
            {
                IsVisualizar = true
            };

            vm.UnidadeProducao = caracterizacao;
            vm.UrlRetorno      = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId });

            return(View("Visualizar", vm));
        }
Esempio n. 17
0
        public bool ValidarEditar(Requerimento requerimento)
        {
            if (requerimento != null && requerimento.SituacaoId == (int)eRequerimentoSituacao.Protocolado)
            {
                Validacao.Add(Mensagem.Requerimento.Protocolado(requerimento.Id));
                return(Validacao.EhValido);
            }

            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
            ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(requerimento.ProjetoDigitalId);

            if (!projetoDigitalCredenciadoBus.SituacoesEditaveis.Exists(x => x == projetoDigital.Situacao))
            {
                Validacao.Add(Mensagem.ProjetoDigital.EditarSituacaoInvalida(projetoDigital.SituacaoTexto));
            }

            return(Validacao.EhValido);
        }
Esempio n. 18
0
        public void AssociarInteressado(Requerimento requerimento)
        {
            try
            {
                Requerimento req = Obter(requerimento.Id);
                req.SituacaoId     = (int)eRequerimentoSituacao.EmAndamento;
                req.Interessado.Id = requerimento.Interessado.Id;

                if (_validar.InteressadoValidar(req))
                {
                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Editar(req, bancoDeDados);

                        #region Projeto Digital

                        ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
                        ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id, banco: bancoDeDados);
                        projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Requerimento;
                        projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados);

                        #endregion

                        if (Validacao.EhValido)
                        {
                            bancoDeDados.Commit();
                            Validacao.Add(Mensagem.Requerimento.InteressadoSalvar);
                        }
                        else
                        {
                            bancoDeDados.Rollback();
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Esempio n. 19
0
        public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0)
        {
            ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus();
            ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId);

            UCBusCred.UnidadeConsolidacaoBus _busCredenciado = new UCBusCred.UnidadeConsolidacaoBus();
            UnidadeConsolidacao caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId);

            UnidadeConsolidacaoVM vm = new UnidadeConsolidacaoVM();

            vm.IsVisualizar        = true;
            vm.UnidadeConsolidacao = caracterizacao;
            vm.LstUnidadeMedida    = ViewModelHelper.CriarSelectList(_bus.ObterListaUnidadeMedida());

            vm.ProtocoloId      = protocoloId;
            vm.ProjetoDigitalId = projeto.Id;
            vm.RequerimentoId   = projeto.RequerimentoId;
            vm.UrlRetorno       = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId });

            return(View("Visualizar", vm));
        }
Esempio n. 20
0
        public void ExcluirResponsaveis(Requerimento requerimento)
        {
            try
            {
                requerimento            = Obter(requerimento.Id);
                requerimento.SituacaoId = (int)eRequerimentoSituacao.EmAndamento;
                requerimento.Responsaveis.Clear();

                GerenciadorTransacao.ObterIDAtual();

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

                    _da.Editar(requerimento, bancoDeDados);

                    #region Projeto Digital

                    ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
                    ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id, banco: bancoDeDados);
                    projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Requerimento;
                    projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados);

                    #endregion

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

                    Validacao.Add(Mensagem.Requerimento.SalvarResponsavelTec);
                    bancoDeDados.Commit();
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
        public ActionResult Editar(Dominialidade caracterizacao)
        {
            string textoMerge = _caracterizacaoValidar.DependenciasAlteradas(
                caracterizacao.EmpreendimentoId,
                (int)eCaracterizacao.Dominialidade,
                eCaracterizacaoDependenciaTipo.Caracterizacao,
                caracterizacao.Dependencias);

            if (!string.IsNullOrEmpty(textoMerge))
            {
                return(Json(new { @TextoMerge = textoMerge }, JsonRequestBehavior.AllowGet));
            }

            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();

            _bus.Salvar(caracterizacao, caracterizacao.ProjetoDigitalId, projetoDigitalCredenciadoBus.AlterarCaracterizacao);
            return(Json(new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = caracterizacao.EmpreendimentoId, projetoDigitalId = caracterizacao.ProjetoDigitalId, Msg = Validacao.QueryParam() })
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Editar(int id, int empreendimento, int projetoDigitalId, int tipo, bool isCadastrarCaracterizacao = true, bool mostrarModalDependencias = true)
        {
            if (!_validar.Dependencias(empreendimento, projetoDigitalId, tipo))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = empreendimento, projetoDigitalId = projetoDigitalId, Msg = Validacao.QueryParam() }));
            }

            ProjetoGeograficoVM vm = new ProjetoGeograficoVM();

            vm.Projeto = _bus.ObterProjeto(id) ?? new ProjetoGeografico();
            vm.isCadastrarCaracterizacao = isCadastrarCaracterizacao;
            vm.Projeto.EmpreendimentoId  = empreendimento;
            vm.Projeto.CaracterizacaoId  = tipo;
            vm.IsProcessado = _bus.IsProcessado(vm.Projeto.Id, (eCaracterizacao)tipo);

            Dominialidade dominialidade = null;

            if (vm.IsFinalizado)
            {
                dominialidade = new DominialidadeBus().ObterDadosGeo(empreendimento);
            }
            else
            {
                dominialidade = new DominialidadeBus().ObterDadosGeoTMP(empreendimento);
            }

            vm.PossuiAPPNaoCaracterizada = dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2();
            vm.PossuiARLNaoCaracterizada = dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2();

            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();

            vm.MostrarAvancar = !projetoDigitalCredenciadoBus.ObterDependencias(projetoDigitalId).Exists(x => x.DependenciaCaracterizacao == tipo);

            //Carregar os dados do projeto geográfico
            return(Carregar(vm, projetoDigitalId, mostrarModalDependencias));
        }
        public ActionResult VisualizarProjetoGeoCredenciado(int projetoDigitalId, int dependenciaTipo, int protocoloId, int requerimentoId)
        {
            ProjetoGeograficoVM vm = new ProjetoGeograficoVM()
            {
                ProtocoloId = protocoloId, RequerimentoId = requerimentoId, IsCredenciado = true
            };

            Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus projetoGeoCredBus     = new Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus();
            Cred.ModuloDominialidade.Business.DominialidadeBus          dominialidadeCredBus  = new Cred.ModuloDominialidade.Business.DominialidadeBus();
            Cred.ModuloCaracterizacao.Bussiness.CaracterizacaoBus       caracterizacaoCredBus = new Cred.ModuloCaracterizacao.Bussiness.CaracterizacaoBus();
            ProjetoDigitalCredenciadoBus busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus();


            List <Dependencia> lstDependencias = busProjetoDigitalCredenciado.ObterDependencias(projetoDigitalId);
            Dependencia        dependencia     = lstDependencias.SingleOrDefault(x => x.DependenciaCaracterizacao == dependenciaTipo && x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico) ?? new Dependencia();

            vm.Projeto                       = projetoGeoCredBus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid);
            vm.IsVisualizar                  = true;
            vm.IsVisualizarCredenciado       = true;
            vm.Desenhador.Mostrar            = false;
            vm.Sobreposicoes.MostarVerificar = false;
            vm.BaseReferencia.IsVisualizar   = true;
            vm.EnviarProjeto.IsVisualizar    = true;
            vm.IsProcessado                  = projetoGeoCredBus.IsProcessado(vm.Projeto.Id, (eCaracterizacao)dependenciaTipo);

            Dominialidade dominialidade = dominialidadeCredBus.ObterDadosGeo(vm.Projeto.EmpreendimentoId);

            vm.PossuiAPPNaoCaracterizada = dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2();
            vm.PossuiARLNaoCaracterizada = dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2();

            //Carregar os dados do projeto geográfico
            eCaracterizacao tipo = (eCaracterizacao)vm.Projeto.CaracterizacaoId;

            vm.ArquivoEnviadoTipo     = (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado;
            vm.ArquivoEnviadoFilaTipo = (tipo == eCaracterizacao.Dominialidade) ? (int)eFilaTipoGeo.Dominialidade : (int)eFilaTipoGeo.Atividade;

            vm.NiveisPrecisao    = ViewModelHelper.CriarSelectList(_bus.ObterNiveisPrecisao());
            vm.SistemaCoordenada = ViewModelHelper.CriarSelectList(_bus.ObterSistemaCoordenada());

            Empreendimento emp = new EmpreendimentoCredenciadoBus().Obter(vm.Projeto.EmpreendimentoId);

            vm.Projeto.EmpreendimentoEasting  = emp.Coordenada.EastingUtm.Value;
            vm.Projeto.EmpreendimentoNorthing = emp.Coordenada.NorthingUtm.Value;

            vm.Projeto.CaracterizacaoTexto = (_listaBus.Caracterizacoes.SingleOrDefault(x => x.Id == vm.Projeto.CaracterizacaoId) ?? new CaracterizacaoLst()).Texto;
            vm.Projeto.SistemaCoordenada   = ConcatenarSistemaCoordenada(emp);

            vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto;

            vm.UrlBaixarOrtofoto  = _config.Obter <string>(ConfiguracaoSistema.KeyUrlGeoBasesWebServices) + "/Arquivo/DownloadArquivoOrtoFoto";
            vm.UrlValidarOrtofoto = _config.Obter <string>(ConfiguracaoSistema.KeyUrlGeoBasesWebServices) + "/Arquivo/ValidarChaveArquivoOrtoFoto";
            vm.UrlsArquivo        = ViewModelHelper.Json(ObterUrlsArquivo());
            vm.UrlVoltar          = Url.Action("Analisar", "AnaliseItens", new { protocoloId = protocoloId, requerimentoId = requerimentoId });
            #region Verificar o Redirecionamento

            vm.UrlAvancar = Url.Action("VisualizarCredenciado", "Dominialidade", new { projetoDigitalId = projetoDigitalId, protocoloId = protocoloId });

            List <DependenciaLst> dependencias = _caracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias);

            #endregion

            if (vm.Projeto.Dependencias == null || vm.Projeto.Dependencias.Count == 0)
            {
                vm.Projeto.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(vm.Projeto.EmpreendimentoId, tipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico);
            }

            if (vm.Projeto.Id > 0)
            {
                vm.TextoMerge = _caracterizacaoValidar.DependenciasAlteradas(
                    vm.Projeto.EmpreendimentoId,
                    vm.Projeto.CaracterizacaoId,
                    eCaracterizacaoDependenciaTipo.ProjetoGeografico,
                    vm.Projeto.Dependencias, true);
            }

            vm.Projeto.Dependencias = caracterizacaoCredBus.ObterDependenciasAtual(vm.Projeto.EmpreendimentoId, tipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico);

            //Busca as dependencias desse projeto geográfico
            projetoGeoCredBus.ObterDependencias(vm.Projeto, true);

            if (vm.Projeto.Id > 0)
            {
                vm.CarregarVMs();
            }

            return(View("ProjetoGeografico", vm));
        }
        public ActionResult Index(int id, int projetoDigitalId, bool visualizar = false)
        {
            ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();

            if (id == 0)
            {
                if (!visualizar)
                {
                    ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio);
                }
                return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" })));
            }

            EmpreendimentoCaracterizacao empreendimento = _bus.ObterEmpreendimentoSimplificado(id);
            CaracterizacaoVM             vm             = new CaracterizacaoVM(empreendimento);

            if (empreendimento.InternoID > 0)
            {
                Empreendimento empreendimentoInterno = new EmpreendimentoInternoBus().ObterSimplificado(empreendimento.InternoID);

                if (empreendimento.InternoTID != empreendimentoInterno.Tid)
                {
                    vm.MensagensNotificacoes.Add(Mensagem.Caracterizacao.EmpreendimentoDesatualizado(empreendimentoInterno.Denominador).Texto);
                }
            }

            if (empreendimento.Id == 0)
            {
                Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoNaoEncontrado);
                return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" })));
            }

            vm.ProjetoDigitalId = projetoDigitalId;
            vm.IsVisualizar     = visualizar;

            List <CaracterizacaoLst> caracterizacoes = _bus.ObterCaracterizacoesPorProjetoDigital(projetoDigitalId);

            if (caracterizacoes.All(carac => carac.Permissao == ePermissaoTipo.NaoPermitido))
            {
                Validacao.Add(Mensagem.Caracterizacao.UsuarioNaoPermitidoParaCaracterizacao);
            }

            caracterizacoes.RemoveAll(caract => caract.Permissao == ePermissaoTipo.NaoPermitido);

            #region Projeto Digital

            if (caracterizacoes == null || caracterizacoes.Count <= 0)
            {
                ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio);

                return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" })));
            }

            ProjetoDigitalCredenciadoValidar projetoDigitalCredenciadoValidar = new ProjetoDigitalCredenciadoValidar();
            if (!projetoDigitalCredenciadoValidar.PossuiCaracterizacaoAtividade(caracterizacoes, projetoDigitalId))
            {
                if (!visualizar)
                {
                    ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio);
                }
                return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" })));
            }
            else
            {
                vm.MostrarFinalizar = (projetoDigitalCredenciadoBus.Obter(projetoDigitalId).Etapa == (int)eProjetoDigitalEtapa.Caracterizacao) && !visualizar;
            }

            #endregion

            List <Caracterizacao> caracterizacoesAssociadas = _bus.ObterCaracterizacoesAssociadasProjetoDigital(projetoDigitalId);
            List <Caracterizacao> cadastradas        = _bus.ObterCaracterizacoesEmpreendimento(id, projetoDigitalId) ?? new List <Caracterizacao>();
            List <Caracterizacao> cadastradasInterno = _internoBus.ObterCaracterizacoesAtuais(empreendimento.InternoID, caracterizacoes);

            if (cadastradas != null && cadastradas.Count > 0)
            {
                List <int> desatualizadas    = new List <int>();
                string     msgDesatualizadas = _validar.CaracterizacoesCadastradasDesatualizadas(empreendimento.Id, cadastradas, cadastradasInterno, out desatualizadas);
                if (!string.IsNullOrEmpty(msgDesatualizadas))
                {
                    vm.MensagensNotificacoes.Add(msgDesatualizadas);
                }
                vm.CaracterizacoesPossivelCopiar = _bus.ObterPossivelCopiar(cadastradas);
                vm.CaracterizacoesPossivelCopiar.AddRange(desatualizadas.Where(x => !vm.CaracterizacoesPossivelCopiar.Exists(y => y == x)));
            }

            vm.CaracterizacoesNaoCadastradas = caracterizacoes
                                               .Where(x => !cadastradas.Any(y => y.Id > 0 && (int)y.Tipo == x.Id))
                                               .Select(z => new CaracterizacaoVME()
            {
                Tipo = (eCaracterizacao)z.Id, Nome = z.Texto
            }).ToList();

            vm.CaracterizacoesCadastradas = caracterizacoes
                                            .Where(x => cadastradas.Where(y => !caracterizacoesAssociadas.Exists(z => z.Tipo == y.Tipo)).Any(y => y.Id > 0 && (int)y.Tipo == x.Id))
                                            .Select(z => new CaracterizacaoVME()
            {
                Tipo = (eCaracterizacao)z.Id, Nome = z.Texto
            }).ToList();

            vm.CaracterizacoesAssociadas = caracterizacoesAssociadas
                                           .Select(z => new CaracterizacaoVME()
            {
                Tipo = (eCaracterizacao)z.Tipo, Nome = z.Nome
            }).ToList();

            List <DependenciaLst> dependencias = _bus.CaracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias);

            #region Não Cadastradas

            vm.CaracterizacoesNaoCadastradas.ForEach(x =>
            {
                ICaracterizacaoBus caracterizacaoBus = CaracterizacaoBusFactory.Criar(x.Tipo);
                if (caracterizacaoBus != null)
                {
                    x.PodeCopiar = cadastradasInterno.Exists(y => y.Tipo == x.Tipo) && caracterizacaoBus.PodeCopiar(empreendimento.InternoID);
                }

                x.PodeCadastrar         = User.IsInRole(String.Format("{0}Criar", x.Tipo.ToString()));
                x.ProjetoGeografico     = User.IsInRole("ProjetoGeograficoCriar");
                x.ProjetoGeoObrigatorio = dependencias.Exists(y =>
                                                              y.DependenteTipo == (int)x.Tipo &&
                                                              y.DependenciaTipo == (int)x.Tipo &&
                                                              y.TipoId == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico);

                x.ProjetoGeograficoId = (cadastradas.FirstOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao()).ProjetoRascunhoId;

                if (x.ProjetoGeograficoId <= 0)
                {
                    x.ProjetoGeograficoId = (cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao()).ProjetoId;
                }

                x.UrlCriar = Url.Action("Criar", x.Tipo.ToString());
            });

            #endregion

            #region Cadastradas

            vm.CaracterizacoesCadastradas.ForEach(x =>
            {
                if (User.IsInRole("ProjetoGeograficoEditar") || User.IsInRole("ProjetoGeograficoVisualizar"))
                {
                    x.ProjetoGeografico = true;
                }

                x.ProjetoGeograficoVisualizar = visualizar;
                x.PodeEditar     = User.IsInRole(String.Format("{0}Editar", x.Tipo.ToString()));
                x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString()));
                x.PodeExcluir    = (User.IsInRole(String.Format("{0}Excluir", x.Tipo.ToString())) && (x.Tipo == eCaracterizacao.UnidadeConsolidacao || x.Tipo == eCaracterizacao.UnidadeProducao));

                x.PodeCopiar   = cadastradasInterno.Exists(y => y.Tipo == x.Tipo);
                x.PodeAssociar = !caracterizacoesAssociadas.Exists(y => y.Tipo == x.Tipo);

                x.ProjetoGeograficoId = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo).ProjetoId;

                x.UrlEditar         = Url.Action("Editar", x.Tipo.ToString());
                x.UrlVisualizar     = Url.Action("Visualizar", x.Tipo.ToString());
                x.UrlExcluirConfirm = Url.Action("ExcluirConfirm", x.Tipo.ToString());
                x.UrlExcluir        = Url.Action("Excluir", x.Tipo.ToString());
            });

            #endregion

            #region Associadas

            vm.CaracterizacoesAssociadas.ForEach(x =>
            {
                if (User.IsInRole("ProjetoGeograficoVisualizar"))
                {
                    x.ProjetoGeografico           = true;
                    x.ProjetoGeograficoVisualizar = true;
                    x.ProjetoGeograficoId         = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo).ProjetoId;
                }

                x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString()));
                x.UrlVisualizar  = Url.Action("Visualizar", x.Tipo.ToString());
            });

            #endregion

            return(View("Caracterizacao", vm));
        }
Esempio n. 25
0
        public bool CopiarDadosCredenciado(int projetoDigitalID, BancoDeDados banco, BancoDeDados bancoCredenciado)
        {
            try
            {
                CaractCredBus.CaracterizacaoBus caracCredBus = new CaractCredBus.CaracterizacaoBus();
                ProjetoDigitalCredenciadoBus    projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
                int empreendimentoID = projetoDigitalCredenciadoBus.Obter(projetoDigitalID, 0, null, null).EmpreendimentoId ?? 0;

                if (empreendimentoID < 1)
                {
                    return(false);
                }

                EmpreendimentoCaracterizacao empreendimento       = caracCredBus.ObterEmpreendimentoSimplificado(empreendimentoID);
                ProjetoGeograficoBus         projetoGeograficoBus = new ProjetoGeograficoBus();

                List <Dependencia> dependencias = projetoDigitalCredenciadoBus.ObterDependencias(projetoDigitalID);
                ICaracterizacaoBus caracterizacaoBus;
                GerenciadorTransacao.ObterIDAtual();

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

                    foreach (Dependencia item in dependencias.Where(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico).ToList())
                    {
                        projetoGeograficoBus.CopiarDadosCredenciado(item, empreendimento.InternoID, bancoDeDados, bancoCredenciado);

                        if (!Validacao.EhValido)
                        {
                            break;
                        }
                    }

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

                    foreach (Dependencia item in dependencias.Where(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.Caracterizacao).ToList())
                    {
                        caracterizacaoBus = CaracterizacaoBusFactory.Criar((eCaracterizacao)item.DependenciaCaracterizacao);

                        if (caracterizacaoBus == null)
                        {
                            Validacao.Add(eTipoMensagem.Erro, item.DependenciaCaracterizacaoTexto + " Bus não criada");
                        }

                        if (!caracterizacaoBus.CopiarDadosCredenciado(item, empreendimento.InternoID, bancoDeDados, bancoCredenciado))
                        {
                            break;
                        }
                    }

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

                    Validacao.Add(Mensagem.ProjetoDigital.CopiarCaracterizacao);
                    bancoDeDados.Commit();
                }

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