public ActionResult EmpreendimentoModalVisualizar(int id)
        {
            Empreendimento emp = _bus.Obter(id);

            if (emp.Id > 0)
            {
                if (emp.Enderecos.Count == 0)
                {
                    emp.Enderecos.Add(new Endereco());
                    emp.Enderecos.Add(new Endereco());
                }
                else if (emp.Enderecos.Count == 1)
                {
                    emp.Enderecos.Add(new Endereco());
                }

                EmpreendimentoVM vm       = new EmpreendimentoVM();
                SalvarVM         vmSalvar = new SalvarVM(_busLista.Estados, _busLista.Municipios(emp.Enderecos[0].EstadoId), _busLista.Municipios(emp.Enderecos[1].EstadoId), _busLista.Segmentos, _busLista.TiposCoordenada,
                                                         _busLista.Datuns, _busLista.Fusos, _busLista.Hemisferios, _busLista.TiposResponsavel, _busLista.LocalColetaPonto, _busLista.FormaColetaPonto,
                                                         emp.Enderecos[0].EstadoId, emp.Enderecos[0].MunicipioId, emp.Enderecos[1].EstadoId, emp.Enderecos[1].MunicipioId, emp.Coordenada.LocalColeta.GetValueOrDefault(), emp.Coordenada.FormaColeta.GetValueOrDefault());

                vm.SalvarVM = vmSalvar;
                vm.SalvarVM.IsVisualizar   = true;
                vm.SalvarVM.Empreendimento = emp;

                PreencherSalvar(vm.SalvarVM);

                return(PartialView("EmpreendimentoModal", vm));
            }
            else
            {
                Validacao.Add(Mensagem.Empreendimento.NaoEncontrouRegistros);
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }
        }
        public Fiscalizacao()
        {
            SituacaoTexto       =
                Tid             = string.Empty;
            Vencimento          = new DateTecno();
            DataConclusao       = new DateTecno();
            SituacaoNovaData    = new DateTecno();
            SituacaoAtualData   = new DateTecno();
            LocalInfracao       = new LocalInfracao();
            ComplementacaoDados = new ComplementacaoDados();
            Enquadramento       = new Enquadramento();
            Infracao            = new Infracao();
            ObjetoInfracao      = new ObjetoInfracao();
            MaterialApreendido  = new MaterialApreendido();
            ConsideracaoFinal   = new ConsideracaoFinal();
            ProjetoGeo          = new ProjetoGeografico();

            AutuadoPessoa         = new Pessoa();
            AutuadoEmpreendimento = new Empreendimento();

            Autuante = new Funcionario();

            PdfAutoTermo = new Arquivo.Arquivo();
            PdfLaudo     = new Arquivo.Arquivo();
            PdfCroqui    = new Arquivo.Arquivo();
            PdfIUF       = new Arquivo.Arquivo();
        }
        internal void SalvarInternoId(Empreendimento empreendimento, BancoDeDados bancoCredenciado)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(bancoCredenciado, UsuarioCredenciado))
            {
                bancoDeDados.IniciarTransacao();

                #region Empreendimento

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"update {0}tab_empreendimento e set e.interno = :interno, e.codigo = :codigo, e.interno_tid = :interno_tid, e.tid = :tid 
				where e.id = :id"                , UsuarioCredenciado);

                comando.AdicionarParametroEntrada("id", empreendimento.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("interno", empreendimento.InternoId, DbType.Int32);
                comando.AdicionarParametroEntrada("interno_tid", DbType.String, 36, empreendimento.InternoTid);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroEntrada("codigo", empreendimento.Codigo, DbType.Int64);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                Historico.Gerar(empreendimento.Id, eHistoricoArtefato.empreendimento, eHistoricoAcao.atualizar, bancoDeDados, null);

                bancoDeDados.Commit();
            }
        }
Beispiel #4
0
    public async Task <ActionResult <Empreendimento> > Put(
        int id,
        [FromServices] DataContext context,
        [FromBody] Empreendimento model)
    {
        if (id != model.Id)
        {
            return(NotFound(new { message = "Não encontrado" }));
        }

        if (!ModelState.IsValid)
        {
            return(BadRequest(ModelState));
        }

        try
        {
            context.Entry <Empreendimento>(model).State = EntityState.Modified;
            await context.SaveChangesAsync();

            return(Ok(model));
        }
        catch (DbUpdateConcurrencyException)
        {
            return(BadRequest(new { message = "Registro ja fpoi atualizado" }));
        }
        catch
        {
            return(BadRequest(new { message = "Não foi possivel atualizar o cadastro" }));
        }
    }
Beispiel #5
0
        private void VerificarEnderecos(Empreendimento empreendimento)
        {
            if (empreendimento.Enderecos == null || empreendimento.Enderecos.Count <= 0)
            {
                Validacao.Add(endMsg.EnderecoObrigatorio(objPaiNome, lstEnderecosNome, 0, "localização"));
            }
            else
            {
                if (empreendimento.Enderecos.Count > 0)
                {
                    VerificarDadosEndereco(empreendimento.Enderecos[0], objPaiNome, lstEnderecosNome, 0, "localização", true);
                }

                //remove o segundo endereço quando não tem correspondência
                if (empreendimento.Enderecos.Count > 1 && empreendimento.TemCorrespondencia <= 0)
                {
                    empreendimento.Enderecos.RemoveAt(1);
                }

                if (empreendimento.Enderecos.Count >= 2 && empreendimento.TemCorrespondencia > 0)
                {
                    VerificarDadosEndereco(empreendimento.Enderecos[1], objPaiNome, lstEnderecosNome, 1, "correspondência");
                }
            }
        }
Beispiel #6
0
        public IList <Empreendimento> Get()
        {
            Empreendimento emp1 = new Empreendimento();

            emp1.id       = 1;
            emp1.nome     = "Sync";
            emp1.endereco = "Rua das Flores, 22";

            Empreendimento emp2 = new Empreendimento();

            emp2.id       = 2;
            emp2.nome     = "Elev";
            emp2.endereco = "Rua das Orquídeas, 200";

            Empreendimento emp3 = new Empreendimento();

            emp3.id       = 2;
            emp3.nome     = "Supreme";
            emp3.endereco = "Rua dos Jacintos, 100";

            List <Empreendimento> lista = new List <Empreendimento>();

            lista.Add(emp1);
            lista.Add(emp2);
            lista.Add(emp3);

            return(new List <Empreendimento>(lista));
        }
        private void VerificarEnderecos(Empreendimento empreendimento)
        {
            if (empreendimento.Enderecos == null || empreendimento.Enderecos.Count <= 0)
            {
                Validacao.Add(endMsg.EnderecoObrigatorio(objPaiNome, lstEnderecosNome, 0, "localização"));
            }
            else
            {
                if (empreendimento.Enderecos.Count > 0)
                {
                    VerificarDadosEndereco(empreendimento.Enderecos[0], objPaiNome, lstEnderecosNome, 0, "localização", true);
                }

                //remove o segundo endereço quando não tem correspondência
                if (empreendimento.Enderecos.Count > 1 && empreendimento.TemCorrespondencia <= 0)
                {
                    if (String.IsNullOrWhiteSpace(empreendimento.Enderecos[0].Cep))
                    {
                        Validacao.Add(endMsg.EnderecoCepObrigatorio(objPaiNome, lstEnderecosNome, 0, "localização"));
                    }

                    if (!String.IsNullOrWhiteSpace(empreendimento.Enderecos[0].Cep) && !(new Regex("^[0-9]{2}\\.[0-9]{3}-[0-9]{3}$").IsMatch(empreendimento.Enderecos[0].Cep)))
                    {
                        Validacao.Add(endMsg.EnderecoCepInvalido(objPaiNome, lstEnderecosNome, 0, "localização"));
                    }

                    empreendimento.Enderecos.RemoveAt(1);
                }

                if (empreendimento.Enderecos.Count >= 2 && empreendimento.TemCorrespondencia > 0)
                {
                    VerificarDadosEndereco(empreendimento.Enderecos[1], objPaiNome, lstEnderecosNome, 1, "correspondência");
                }
            }
        }
        public ActionResult EmpreendimentoInline(int id)
        {
            EmpreendimentoVM vm = new EmpreendimentoVM();

            if (id > 0)
            {
                Empreendimento emp = _bus.Obter(id);

                if (emp.Enderecos.Count == 0)
                {
                    emp.Enderecos.Add(new Endereco());
                    emp.Enderecos.Add(new Endereco());
                }
                else if (emp.Enderecos.Count == 1)
                {
                    emp.Enderecos.Add(new Endereco());
                }

                SalvarVM salvarVM = new SalvarVM(
                    ListaCredenciadoBus.Estados,
                    ListaCredenciadoBus.Municipios(emp.Enderecos[0].EstadoId),
                    ListaCredenciadoBus.Municipios(emp.Enderecos[1].EstadoId),
                    ListaCredenciadoBus.Segmentos,
                    ListaCredenciadoBus.TiposCoordenada,
                    ListaCredenciadoBus.Datuns,
                    ListaCredenciadoBus.Fusos,
                    ListaCredenciadoBus.Hemisferios,
                    ListaCredenciadoBus.TiposResponsavel,
                    ListaCredenciadoBus.LocalColetaPonto,
                    ListaCredenciadoBus.FormaColetaPonto,
                    emp.Enderecos[0].EstadoId,
                    emp.Enderecos[0].MunicipioId,
                    emp.Enderecos[1].EstadoId,
                    emp.Enderecos[1].MunicipioId,
                    emp.Coordenada.LocalColeta.GetValueOrDefault(),
                    emp.Coordenada.FormaColeta.GetValueOrDefault());

                vm.SalvarVM = salvarVM;
                vm.SalvarVM.Empreendimento    = emp;
                vm.SalvarVM.MostrarTituloTela = false;
                vm.SalvarVM.IsVisualizar      = true;
                PreencherSalvar(vm.SalvarVM);
            }
            else
            {
                vm = new EmpreendimentoVM(
                    ListaCredenciadoBus.Estados,
                    ListaCredenciadoBus.Municipios(ListaCredenciadoBus.EstadoDefault),
                    ListaCredenciadoBus.Segmentos,
                    ListaCredenciadoBus.TiposCoordenada,
                    ListaCredenciadoBus.Datuns,
                    ListaCredenciadoBus.Fusos,
                    ListaCredenciadoBus.Hemisferios,
                    ListaCredenciadoBus.TiposResponsavel);
            }

            return(PartialView("EmpreendimentoInline", vm));
        }
        public ActionResult VisualizarInterno(int id, bool mostrarTituloTela = true)
        {
            Empreendimento empreendimento = _bus.ObterEmpreendimento(0, id);

            if (empreendimento.Id > 0 || empreendimento.InternoId > 0)
            {
                if (empreendimento.Enderecos.Count == 0)
                {
                    empreendimento.Enderecos.Add(new Endereco());
                    empreendimento.Enderecos.Add(new Endereco());
                }
                else if (empreendimento.Enderecos.Count <= 1)
                {
                    empreendimento.Enderecos.Add(new Endereco());
                }

                EmpreendimentoVM vm       = new EmpreendimentoVM();
                SalvarVM         vmSalvar = new SalvarVM(
                    ListaCredenciadoBus.Estados,
                    ListaCredenciadoBus.Municipios(empreendimento.Enderecos[0].EstadoId),
                    ListaCredenciadoBus.Municipios(empreendimento.Enderecos[1].EstadoId),
                    ListaCredenciadoBus.Segmentos,
                    ListaCredenciadoBus.TiposCoordenada,
                    ListaCredenciadoBus.Datuns,
                    ListaCredenciadoBus.Fusos,
                    ListaCredenciadoBus.Hemisferios,
                    ListaCredenciadoBus.TiposResponsavel,
                    ListaCredenciadoBus.LocalColetaPonto,
                    ListaCredenciadoBus.FormaColetaPonto,
                    empreendimento.Enderecos[0].EstadoId,
                    empreendimento.Enderecos[0].MunicipioId,
                    empreendimento.Enderecos[1].EstadoId,
                    empreendimento.Enderecos[1].MunicipioId,
                    empreendimento.Coordenada.LocalColeta.GetValueOrDefault(),
                    empreendimento.Coordenada.FormaColeta.GetValueOrDefault());

                vm.SalvarVM = vmSalvar;
                vm.SalvarVM.IsVisualizar      = true;
                vm.SalvarVM.Empreendimento    = empreendimento;
                vm.SalvarVM.MostrarTituloTela = mostrarTituloTela;

                PreencherSalvar(vm.SalvarVM);

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("VisualizarPartial", vm.SalvarVM));
                }
                else
                {
                    return(View("Visualizar", vm));
                }
            }
            else
            {
                Validacao.Add(Mensagem.Empreendimento.NaoEncontrouRegistros);
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }
        }
Beispiel #10
0
        public bool Salvar(Fiscalizacao entidade)
        {
            try
            {
                if (_validar.Salvar(entidade))
                {
                    entidade.Autuante.Id = User.EtramiteIdentity.FuncionarioId;
                    eHistoricoAcao acao = entidade.Id > 0 ? eHistoricoAcao.atualizar : eHistoricoAcao.criar;

                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Salvar(entidade, bancoDeDados);

                        #region Local da Infração

                        if (entidade.LocalInfracao.Id < 1)
                        {
                            entidade.LocalInfracao.Id = _daLocalInfracao.ObterID(entidade.Id);
                        }

                        entidade.LocalInfracao.FiscalizacaoId = entidade.Id;

                        //se não foi usado o filtro de local, as informações de local são salvas a partir do empreendimento
                        if (entidade.LocalInfracao.EmpreendimentoId != null)
                        {
                            Empreendimento empreendimento = _daEmpreendimento.Obter(entidade.LocalInfracao.EmpreendimentoId.Value);

                            entidade.LocalInfracao.LatNorthing = entidade.LocalInfracao.LatNorthing ?? empreendimento.Coordenada.NorthingUtm.ToString();
                            entidade.LocalInfracao.LonEasting  = entidade.LocalInfracao.LonEasting ?? empreendimento.Coordenada.EastingUtm.ToString();
                            entidade.LocalInfracao.MunicipioId = (entidade.LocalInfracao.MunicipioId != null && entidade.LocalInfracao.MunicipioId > 0) ? entidade.LocalInfracao.MunicipioId : empreendimento.Enderecos[0].MunicipioId;
                            entidade.LocalInfracao.Local       = entidade.LocalInfracao.Local ?? empreendimento.Denominador;
                        }

                        _daLocalInfracao.Salvar(entidade.LocalInfracao, bancoDeDados);

                        #endregion

                        _da.GerarHistorico(entidade.Id, acao, bancoDeDados);

                        _da.GerarConsulta(entidade.Id, bancoDeDados);

                        Validacao.Add(Mensagem.Fiscalizacao.Salvar(entidade.Id.ToString()));

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }
    public static void AdicionarEmpreendimento(Empreendimento e)
    {
        if (!instancia.listaEmpreendimentos.Contains(e))
        {
            instancia.listaEmpreendimentos.Add(e);
        }

        Atualizar();
    }
        public ActionResult ExcluirConfirm(int id)
        {
            ExcluirVM      vm             = new ExcluirVM();
            Empreendimento empreendimento = _bus.Obter(id);

            vm.Id       = id;
            vm.Mensagem = Mensagem.Empreendimento.MensagemExcluirEmpreendimento(empreendimento.Denominador);
            vm.Titulo   = "Excluir Empreendimento";
            return(PartialView("Excluir", vm));
        }
Beispiel #13
0
 public Requerimento()
 {
     Empreendimento = new Empreendimento();
     ProjetoDigital = new ProjetoDigital();
     Roteiros       = new List <Roteiro>();
     Atividades     = new List <Atividade>();
     Responsaveis   = new List <ResponsavelTecnico>();
     Pessoas        = new List <Pessoa>();
     Interessado    = new Pessoa();
 }
Beispiel #14
0
        public Empreendimento Obter(int id, BancoDeDados bancoInterno)
        {
            Empreendimento emp = _da.Obter(id, bancoInterno);

            if (emp.Id == 0)
            {
                Validacao.Add(Mensagem.Empreendimento.Inexistente);
            }

            return(emp);
        }
Beispiel #15
0
 public ActionResult <Empreendimento> Delete(Empreendimento empreendimento)
 {
     try
     {
         empreendimentoRepositorio.Remove(empreendimento);
         return(Ok());
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
        public ActionResult Visualizar(int?id, bool mostrarTituloTela = true)
        {
            int            empreendimentoId = id ?? 0;
            Empreendimento emp = _bus.Obter(empreendimentoId);

            if (emp.Id > 0)
            {
                if (emp.Enderecos.Count == 0)
                {
                    emp.Enderecos.Add(new Endereco());
                    emp.Enderecos.Add(new Endereco());
                }
                else if (emp.Enderecos.Count == 1)
                {
                    emp.Enderecos.Add(new Endereco());
                }

                SalvarVM vm = new SalvarVM(_busLista.Estados,
                                           _busLista.Municipios(emp.Enderecos[0].EstadoId),
                                           _busLista.Municipios(emp.Enderecos[1].EstadoId),
                                           _busLista.Segmentos, _busLista.TiposCoordenada,
                                           _busLista.Datuns,
                                           _busLista.Fusos,
                                           _busLista.Hemisferios,
                                           _busLista.TiposResponsavel,
                                           _busLista.LocalColetaPonto,
                                           _busLista.FormaColetaPonto,
                                           emp.Enderecos[0].EstadoId,
                                           emp.Enderecos[0].MunicipioId,
                                           emp.Enderecos[1].EstadoId,
                                           emp.Enderecos[1].MunicipioId,
                                           emp.Coordenada.LocalColeta.GetValueOrDefault(),
                                           emp.Coordenada.FormaColeta.GetValueOrDefault());

                vm.Empreendimento    = emp;
                vm.MostrarTituloTela = mostrarTituloTela;
                PreencherSalvar(vm);

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("VisualizarPartial", vm));
                }
                else
                {
                    return(View("Visualizar", vm));
                }
            }
            else
            {
                Validacao.Add(Mensagem.Empreendimento.NaoEncontrouRegistros);
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }
        }
Beispiel #17
0
    public static string MensagemEmpreendimento(
		Empreendimento e, long custo)
    {
        string saida = "Melhorou "+e.nome+" para o nível "+
            e.nivel+", por $"+custo;

        if (e.nivel == 1)
        {
            saida = "Habilitou empreendimento "+e.nome+" por $"+custo;
        }

        return saida;
    }
        public void SalvarInternoId(Empreendimento empreendimento, BancoDeDados banco = null)
        {
            GerenciadorTransacao.ObterIDAtual();

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

                _da.SalvarInternoId(empreendimento, bancoDeDados);

                bancoDeDados.Commit();
            }
        }
 public void CarregarRequerimentoVM(Requerimento requerimento)
 {
     this.Id                    = requerimento.Numero;
     this.DataCriacao           = requerimento.DataCadastro.ToShortDateString();
     this.Situacao              = requerimento.SituacaoTexto;
     this.Responsaveis          = requerimento.Responsaveis;
     this.AtividadesSolicitadas = requerimento.Atividades;
     this.Interessado           = requerimento.Interessado;
     this.Empreendimento        = requerimento.Empreendimento;
     this.ProtocoloId           = requerimento.ProtocoloId;
     this.ProtocoloTipo         = requerimento.ProtocoloTipo;
     this.SituacaoId            = requerimento.SituacaoId;
     CarregarAtividadeSolicitada();
 }
Beispiel #20
0
        public ActionResult ObterEmpreendimento(int id, bool isVisualizar = false)
        {
            ViewModels.VMEmpreendimento.SalvarVM vm             = new ViewModels.VMEmpreendimento.SalvarVM();
            EmpreendimentoCredenciadoBus         credenciadoBus = new EmpreendimentoCredenciadoBus();
            Empreendimento    credenciado       = credenciadoBus.Obter(id);
            EmpreendimentoBus empreendimentoBus = new EmpreendimentoBus();

            empreendimentoBus.ConfigurarResponsaveis(credenciado);

            vm.EmpreendimentoCredenciado  = credenciado.GerarLista();
            vm.Empreendimento.SelecaoTipo = (int)eExecutorTipo.Credenciado;

            return(PartialView("EmpreendimentoComparar", vm));
        }
        public bool Salvar(Empreendimento empreendimento)
        {
            if (empreendimento.Id > 0 && !EmpreendimentoEmPosse(empreendimento.Id))
            {
                Validacao.Add(Mensagem.Empreendimento.Posse);
                return(Validacao.EhValido);
            }

            ValidacoesBasicas(empreendimento);
            VerificarResponsaveis(empreendimento.Responsaveis);
            VerificarEnderecos(empreendimento);
            VerificarCoordenada(empreendimento.Coordenada, "Empreendimento");

            return(Validacao.EhValido);
        }
        public ActionResult EmpreendimentoInline(int id, string tid = null)
        {
            EmpreendimentoVM vm = new EmpreendimentoVM();

            if (id > 0)
            {
                Empreendimento emp = null;
                Boolean        IsVisualizarHistorico = false;

                if (String.IsNullOrWhiteSpace(tid))
                {
                    emp = _bus.Obter(id);
                }
                else
                {
                    emp = _bus.ObterHistorico(id, tid);
                    IsVisualizarHistorico = true;
                }

                if (emp.Enderecos.Count == 0)
                {
                    emp.Enderecos.Add(new Endereco());
                    emp.Enderecos.Add(new Endereco());
                }
                else if (emp.Enderecos.Count == 1)
                {
                    emp.Enderecos.Add(new Endereco());
                }

                SalvarVM salvarVM = new SalvarVM(_busLista.Estados, _busLista.Municipios(emp.Enderecos[0].EstadoId), _busLista.Municipios(emp.Enderecos[1].EstadoId), _busLista.Segmentos, _busLista.TiposCoordenada,
                                                 _busLista.Datuns, _busLista.Fusos, _busLista.Hemisferios, _busLista.TiposResponsavel, _busLista.LocalColetaPonto, _busLista.FormaColetaPonto,
                                                 emp.Enderecos[0].EstadoId, emp.Enderecos[0].MunicipioId, emp.Enderecos[1].EstadoId, emp.Enderecos[1].MunicipioId, emp.Coordenada.LocalColeta.GetValueOrDefault(), emp.Coordenada.FormaColeta.GetValueOrDefault());

                vm.SalvarVM = salvarVM;
                vm.SalvarVM.Empreendimento        = emp;
                vm.SalvarVM.MostrarTituloTela     = false;
                vm.SalvarVM.IsVisualizar          = true;
                vm.SalvarVM.IsVisualizarHistorico = IsVisualizarHistorico;
                PreencherSalvar(vm.SalvarVM);
            }
            else
            {
                vm = new EmpreendimentoVM(_busLista.Estados, _busLista.Municipios(_busLista.EstadoDefault),
                                          _busLista.Segmentos, _busLista.TiposCoordenada, _busLista.Datuns, _busLista.Fusos, _busLista.Hemisferios, _busLista.TiposResponsavel);
            }

            return(PartialView("EmpreendimentoInline", vm));
        }
Beispiel #23
0
        internal Empreendimento ObterSimplificado(String cnpj, BancoDeDados banco = null)
        {
            Empreendimento empreendimento = new Empreendimento();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select id from {0}tab_empreendimento p where p.cnpj = :cnpj", EsquemaBanco);
                comando.AdicionarParametroEntrada("cnpj", cnpj, DbType.String);
                Object id = bancoDeDados.ExecutarScalar(comando);

                if (id != null && !Convert.IsDBNull(id))
                {
                    empreendimento = ObterSimplificado(Convert.ToInt32(id));
                }
            }

            return(empreendimento);
        }
        internal bool CopiarDadosInstitucional(ProjetoGeografico projeto)
        {
            if (projeto.InternoID <= 0 || projeto.SituacaoId != (int)eProjetoGeograficoSituacao.Finalizado)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.CopiarProjetoGeoFinalizado);
            }

            Empreendimento empreendimento = _da.ObterEmpreendimentoCoordenada(projeto.EmpreendimentoId);

            projeto.EmpreendimentoEasting  = empreendimento.Coordenada.EastingUtm.GetValueOrDefault();
            projeto.EmpreendimentoNorthing = empreendimento.Coordenada.NorthingUtm.GetValueOrDefault();

            if (!projeto.EmpreendimentoEstaDentroAreaAbrangencia)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoForaAbrangenciaCopiar);
            }

            return(Validacao.EhValido);
        }
Beispiel #25
0
        public ActionResult ObterProjetoDigital(int projetoId)
        {
            ProjetoDigital   projeto        = _busProjetoDigital.Obter(idProjeto: projetoId);
            Empreendimento   empreendimento = _busEmpreendimentoCredenciado.Obter(projeto.EmpreendimentoId.GetValueOrDefault(), simplificado: true);
            List <Lista>     atividades     = _bus.ObterAtividadesLista(projeto.RequerimentoId);
            List <PessoaLst> declarantes    = _bus.ObterDeclarantesLst(projeto.RequerimentoId);

            _validar.AssociarProjetoDigital(projeto, atividades);

            return(Json(
                       new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @ProjetoDigital = projeto,
                @Empreendimento = empreendimento,
                @AtividadesLst = atividades,
                @DeclaranteLst = declarantes
            }, JsonRequestBehavior.AllowGet));
        }
        public Empreendimento Obter(int id)
        {
            try
            {
                Empreendimento emp = _da.Obter(id);

                if (emp.Id == 0)
                {
                    Validacao.Add(Mensagem.Empreendimento.Inexistente);
                }

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

            return(null);
        }
        public Empreendimento ObterHistorico(int id, string tid)
        {
            try
            {
                Empreendimento emp = _da.ObterHistorico(id, tid);

                //if (emp.Id == 0)
                //{
                //    Validacao.Add(Mensagem.Empreendimento.Inexistente);
                //}

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

            return(null);
        }
Beispiel #28
0
        private void ValidacoesBasicas(Empreendimento empreendimento, bool isImportar = false)
        {
            Msg.CampoPrefixo = "Empreendimento";

            if (empreendimento.Segmento == null || empreendimento.Segmento <= 0)
            {
                Validacao.Add(Msg.SegmentoObrigatorio);
            }

            if (!string.IsNullOrEmpty(empreendimento.CNPJ))
            {
                if (!isImportar)
                {
                    bool retorno = false;

                    if (empreendimento.Id > 0)
                    {
                        retorno = _da.ExisteCnpj(empreendimento.CNPJ, empreendimento.Id);
                    }
                    else
                    {
                        retorno = _da.ExisteCnpj(empreendimento.CNPJ);
                    }

                    if (retorno)
                    {
                        Validacao.Add(Msg.CnpjJaExistente);
                    }
                }

                if (!ValidacoesGenericasBus.Cnpj(empreendimento.CNPJ))
                {
                    Validacao.Add(Msg.CnpjInvalido);
                }
            }

            if (String.IsNullOrWhiteSpace(empreendimento.Denominador))
            {
                Validacao.Add(Msg.DenominadorObrigatorio(BuscarSegmento(empreendimento.Segmento ?? 1)));
            }
        }
Beispiel #29
0
    public async Task <ActionResult <Empreendimento> > Post(
        [FromServices] DataContext context,
        [FromBody] Empreendimento model)
    {
        if (!ModelState.IsValid)
        {
            return(BadRequest(ModelState));
        }

        try
        {
            context.Empreendimento.Add(model);
            await context.SaveChangesAsync();

            return(Ok(model));
        }
        catch
        {
            return(BadRequest(new { message = "Não foi possivel concluir o cadastro" }));
        }
    }
Beispiel #30
0
        internal bool CopiarDadosCredenciado(ProjetoGeografico projeto)
        {
            Cred.ProjetoGeograficoDa projetoGeoDa = new Cred.ProjetoGeograficoDa();

            if (projeto.Id <= 0 || projeto.SituacaoId != (int)eProjetoGeograficoSituacao.Finalizado)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.CopiarProjetoGeoFinalizado);
            }

            Empreendimento empreendimento = projetoGeoDa.ObterEmpreendimentoCoordenada(projeto.EmpreendimentoId);

            projeto.EmpreendimentoEasting  = empreendimento.Coordenada.EastingUtm.Value;
            projeto.EmpreendimentoNorthing = empreendimento.Coordenada.NorthingUtm.Value;

            if (!projeto.EmpreendimentoEstaDentroAreaAbrangencia)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoForaAbrangenciaCopiar);
            }

            return(Validacao.EhValido);
        }
        public bool SalvarInternoId(Empreendimento empreendimento, BancoDeDados banco = null)
        {
            try
            {
                GerenciadorTransacao.ObterIDAtual();

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

                    _da.SalvarInternoId(empreendimento, bancoDeDados);

                    bancoDeDados.Commit();
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
    public static Empreendimento[] CriarEmpreendimentos()
    {
        // ******************************************************** //
        // Os empreendimentos deverão ser criados na classe ClassesDosEmpreendimentos
        // Para adicionar todos os empreendimentos é só copiar a linha abaixo, e alterar o nome da classe "EmpreendimentoExemplo", para a classe criada.
        //new EmpreendimentoExemplo();
        new ColetaSeletiva();
        new OficinaBrinquedosReciclaveis();
        new PrensaPapel();
        new FabricaVitrais();
        new FerroVelho();
        new ViveiroGarrafasPet();
        new TrituradorResiduosSolidos();
        new UsinaReciclagem();

        // EasterEggs
        new EasterEggLampada();
        new EasterEggMadeira();
        new EasterEggIsopor();
        new EasterEggFraldas();
        new EasterEggLataTinta();
        new EasterEggPatoBorracha();
        new EasterEggSeringa();
        new EasterEggPneu();

        // ******************************************************** //
        // Essa parte não precisa ser alterada
        List<Empreendimento> listaEmpreendimentos = new List<Empreendimento>();

        foreach(ValoresEmpreendimentos valor in listaValoresEmpreendimento)
        {
            Empreendimento empreendimento = new Empreendimento();
            empreendimento.valores			= valor;
            empreendimento.nome				= valor.nome;
            empreendimento.identificador	= valor.identificador;

            listaEmpreendimentos.Add(empreendimento);
        }

        return listaEmpreendimentos.ToArray();
    }
    /// <summary>
    /// Verifica as linhas passadas e retorna o empreendimento descrito nelas.
    /// </summary>
    /// <returns>Empreendimento.</returns>
    /// <param name="identificador">Identificador do empreendimento.</param>
    /// <param name="linhas">Lista das linhas que contem a descrição do empreendimento.</param>
    Empreendimento PegarEmpreendimento(
		string identificador, string [] linhas)
    {
        string nome = "";
        string descricao = "";
        int nivelMaximo = 1;

        // Verifica as linhas para encontrar o nome, descrição e
        // o nível máximo do empreendimento.
        foreach(string linha in linhas)
        {
            string [] linhaAtual = linha.Split(
                divisor, System.StringSplitOptions.None);

            if (linhaAtual[0].StartsWith(parseNome))
            {
                nome = linhaAtual[1];
            }
            else if (linhaAtual[0].StartsWith(parseDescricao))
            {
                descricao = linhaAtual[1];
            }
            else if (linhaAtual[0].StartsWith(parseNivelMaximo))
            {
                int nmax = 0;
                if (int.TryParse(linhaAtual[1], out nmax))
                {
                    nivelMaximo = nmax;
                }
            }
        }

        float [,] velocidades = new
            float[nivelMaximo,quantidadeTiposRecicladoras];
        float [,] valoresVenda = new
            float[nivelMaximo,quantidadeTiposRecicladoras];
        float [] experiencias = new float[nivelMaximo];
        float [] velocidadesLixos = new float[nivelMaximo];
        int [,] limitesRecicladoras = new
            int[nivelMaximo,quantidadeTiposRecicladoras];
        int [] lixosMinimos = new int[nivelMaximo];
        int [] dinheiros = new int[nivelMaximo];
        int [] separacoes = new int[nivelMaximo];
        int [] poderes = new int[nivelMaximo];
        int [] precos = new int[nivelMaximo];
        int [] sustentabilidades = new int[nivelMaximo];
        Dictionary<int,Dictionary<string, int>> construidos =
            new Dictionary<int,Dictionary<string, int>>();

        for(int i = 0; i < nivelMaximo; i++)
        {
            construidos[i+1] = new Dictionary<string, int>();
        }

        int nivelAtual = 1;

        // Verifica a entrada para encontrar os aprimoramentos e
        // requisitos de cada nível do empreendimento.
        foreach(string linha in linhas)
        {
            string [] linhaAtual = linha.Split(
                divisor, System.StringSplitOptions.None);

            // Verifica cada linha e procura o comando que ela chama.
            if (linhaAtual[0].StartsWith(parseNivelEmpreendimento))
            {
                int nv = 0;
                if (int.TryParse(linhaAtual[1], out nv))
                {
                    nivelAtual = nv;
                }
            }
            else if (linhaAtual[0].StartsWith(parseValorVenda))
            {
                linhaAtual[1] = linhaAtual[1].Replace(" ","");
                linhaAtual[1] = linhaAtual[1].Replace("\t","");

                string [] valores = linhaAtual[1].Split(',');

                for (int i = 0; i < quantidadeTiposRecicladoras; i++)
                {
                    valoresVenda[nivelAtual-1,i] = 0;
                    float valor = 0;
                    if (valores.Length > i && float.TryParse(valores[i], out valor))
                    {
                        valoresVenda[nivelAtual-1,i] = valor / 100f;
                    }
                }
            }
            else if (linhaAtual[0].StartsWith(parseExperiencia))
            {
                float f = 0;
                experiencias[nivelAtual-1] = 0;
                if (float.TryParse(linhaAtual[1], out f))
                {
                    experiencias[nivelAtual-1] = f / 100f;
                }
            }
            else if (linhaAtual[0].StartsWith(parseVelocidadeAparecerLixo))
            {
                float f = 0;
                velocidadesLixos[nivelAtual-1] = 0;
                if (float.TryParse(linhaAtual[1], out f))
                {
                    velocidadesLixos[nivelAtual-1] = f / 100f;
                }
            }
            else if (linhaAtual[0].StartsWith(parseLimiteFila))
            {
                linhaAtual[1] = linhaAtual[1].Replace(" ","");
                linhaAtual[1] = linhaAtual[1].Replace("\t","");

                string [] valores = linhaAtual[1].Split(',');

                for (int i = 0; i < quantidadeTiposRecicladoras; i++)
                {
                    limitesRecicladoras[nivelAtual-1,i] = 0;
                    int valor = 0;
                    if (valores.Length > i && int.TryParse(valores[i], out valor))
                    {
                        limitesRecicladoras[nivelAtual-1,i] = valor;
                    }
                }

            }
            else if (linhaAtual[0].StartsWith(parseLixoMinimo))
            {
                int i = 0;
                lixosMinimos[nivelAtual-1] = 0;
                if (int.TryParse(linhaAtual[1], out i))
                {
                    lixosMinimos[nivelAtual-1] = i;
                }
            }
            else if (linhaAtual[0].StartsWith(parseVelocidadeReciclagem))
            {
                linhaAtual[1] = linhaAtual[1].Replace(" ","");
                linhaAtual[1] = linhaAtual[1].Replace("\t","");

                string [] valores = linhaAtual[1].Split(',');

                for (int i = 0; i < quantidadeTiposRecicladoras; i++)
                {
                    velocidades[nivelAtual-1,i] = 0;
                    float valor = 0;
                    if (valores.Length > i && float.TryParse(valores[i], out valor))
                    {
                        velocidades[nivelAtual-1,i] = valor / 100f;
                    }
                }
            }
            else if (linhaAtual[0].StartsWith(parseDinheiroGerado))
            {
                int i = 0;
                dinheiros[nivelAtual-1] = 0;
                if (int.TryParse(linhaAtual[1], out i))
                {
                    dinheiros[nivelAtual-1] = i;
                }
            }
            else if (linhaAtual[0].StartsWith(parseSeparacaoAutomatica))
            {
                int i = 0;
                separacoes[nivelAtual-1] = 0;
                if (int.TryParse(linhaAtual[1], out i))
                {
                    separacoes[nivelAtual-1] = i;
                }
            }
            else if (linhaAtual[0].StartsWith(parsePoderJogador))
            {
                int i = 0;
                poderes[nivelAtual-1] = 0;
                if (int.TryParse(linhaAtual[1], out i))
                {
                    poderes[nivelAtual-1] = i;
                }
            }
            else if (linhaAtual[0].StartsWith(parsePreco))
            {
                int i = 0;
                precos[nivelAtual-1] = 0;
                if (int.TryParse(linhaAtual[1], out i))
                {
                    precos[nivelAtual-1] = i;
                }
            }
            else if (linhaAtual[0].StartsWith(parseNivelSustentabilidade))
            {
                int i = 0;
                sustentabilidades[nivelAtual-1] = 0;
                if (int.TryParse(linhaAtual[1], out i))
                {
                    sustentabilidades[nivelAtual-1] = i;
                }
            }
            else if (linhaAtual[0].StartsWith(parseEmpreendimentosConstruidos))
            {
                linhaAtual[1] = linhaAtual[1].Replace(" ","");
                linhaAtual[1] = linhaAtual[1].Replace("\t","");

                string [] construcoes = linhaAtual[1].Split(';');

                if (!construidos.ContainsKey(nivelAtual))
                {
                    construidos.Add(nivelAtual, new Dictionary<string, int>());
                }

                if ((construcoes != null && construcoes.Length > 0))
                {
                    foreach(string c in construcoes)
                    {
                        if (string.IsNullOrEmpty(c))
                        {
                            continue;
                        }

                        string [] constr = c.Split(':');

                        construidos[nivelAtual].Add(constr[0], 1);
                        int i = 0;
                        if (int.TryParse(constr[1], out i))
                        {
                            construidos[nivelAtual][constr[0]] = i;
                        }
                    }
                }

                //Debug.Log ("Nivel "+nivelAtual+": "+construidos[nivelAtual].Count);
            }
        }

        // Cria uma string de saída, para debug.
        /*
        string saida = "";
        saida += identificador + ":\nnome: " + nome + "\ndescricao: ";
        saida += descricao + "\nnivel maximo: " + nivelMaximo + "\n";
        for (int i = 0; i < nivelMaximo; i++)
        {
            saida += "nivel " + (i+1) + "\n";
            saida += "velocidades:";
            for (int j = 0; j < quantidadeTiposRecicladoras; j++)
            {
                saida += " "+ velocidades[i,j]+";";
            }
            saida += "\n";
            saida += "valores venda:";
            for (int j = 0; j < quantidadeTiposRecicladoras; j++)
            {
                saida += " "+ valoresVenda[i,j]+";";
            }
            saida += "\n";
            saida += "limite filas:";
            for (int j = 0; j < quantidadeTiposRecicladoras; j++)
            {
                saida += " "+ limitesRecicladoras[i,j]+";";
            }
            saida += "\n";
            saida += "experiencia: "+experiencias[i] + "\n";
            saida += "velocidade lixo: "+velocidadesLixos[i] + "\n";
            saida += "lixo minimo: "+lixosMinimos[i] + "\n";
            saida += "dinheiro: " + dinheiros[i] + "\n";
            saida += "automatico: " + separacoes[i] + "\n";
            saida += "poder: " + poderes[i] + "\n";
            saida += "preco: " + precos[i] + "\n";
            saida += "sustentabilidade: " + sustentabilidades[i] + "\n";
            saida += "contruidos: ";
            foreach(string s in construidos[i+1].Keys)
            {
                saida += s + ": " + construidos[i+1][s] + "; ";
            }
            saida += "\n";
        }
        Debug.Log (saida);
        //*/

        // Pega o resltado do parser e converte para um objeto Empreendimento.
        Empreendimento empreendimento = new Empreendimento();
        empreendimento.identificador = identificador;
        empreendimento.nome = nome;

        empreendimento._limiteRecicladoras = new Vector4[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._limiteRecicladoras[i].x = limitesRecicladoras[i, 0];
            empreendimento._limiteRecicladoras[i].y = limitesRecicladoras[i, 1];
            empreendimento._limiteRecicladoras[i].z = limitesRecicladoras[i, 2];
            empreendimento._limiteRecicladoras[i].w = limitesRecicladoras[i, 3];
        }
        empreendimento._velocidadeReciclagem = new Vector4[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._velocidadeReciclagem[i].x = velocidades[i, 0];
            empreendimento._velocidadeReciclagem[i].y = velocidades[i, 1];
            empreendimento._velocidadeReciclagem[i].z = velocidades[i, 2];
            empreendimento._velocidadeReciclagem[i].w = velocidades[i, 3];
        }
        empreendimento._valorDeVenda = new Vector4[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._valorDeVenda[i].x = valoresVenda[i, 0];
            empreendimento._valorDeVenda[i].y = valoresVenda[i, 1];
            empreendimento._valorDeVenda[i].z = valoresVenda[i, 2];
            empreendimento._valorDeVenda[i].w = valoresVenda[i, 3];
        }

        empreendimento._descricao = new string[nivelMaximo + 1];
        for (int i = 0; i < (nivelMaximo + 1); i++)
        {
            empreendimento._descricao[i] = descricao;
        }
        empreendimento._aumentoXP = new float[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._aumentoXP[i] = experiencias[i];
        }
        empreendimento._velocidadeAparecerLixo = new float[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._velocidadeAparecerLixo[i] = velocidadesLixos[i];
        }
        empreendimento._nivelMinimoLixo = new int[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._nivelMinimoLixo[i] = lixosMinimos[i];
        }
        empreendimento._dinheiroPorTempo = new long[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._dinheiroPorTempo[i] = (long) dinheiros[i];
        }
        empreendimento._separacaoAutomatica = new int[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._separacaoAutomatica[i] = separacoes[i];
        }
        empreendimento._taxaSeparacaoLixo = new int[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._taxaSeparacaoLixo[i] = poderes[i];
        }

        empreendimento._custos = new long[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._custos[i] = (long) precos[i];
        }
        empreendimento._nivelRequisito = new int[nivelMaximo];
        for (int i = 0; i < nivelMaximo; i++)
        {
            empreendimento._nivelRequisito[i] = sustentabilidades[i];
        }
        empreendimento._empreendimentosRequisitos = construidos;

        return empreendimento;
    }
        public ActionResult Carregar(ProjetoGeograficoVM vm, bool mostrarModalDependencias = true, bool isVisualizar = false)
        {
            Empreendimento emp = _busEmpreendimento.Obter(vm.Projeto.EmpreendimentoId);

            if (emp.Coordenada.EastingUtm.GetValueOrDefault() <= 0 || emp.Coordenada.NorthingUtm.GetValueOrDefault() <= 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.CoordenadaObrigatoria);
                return(RedirectToAction("", "Caracterizacao", new { id = vm.Projeto.EmpreendimentoId, Msg = Validacao.QueryParam() }));
            }

            if (!isVisualizar && !_caracterizacaoValidar.Dependencias(vm.Projeto.EmpreendimentoId, vm.Projeto.CaracterizacaoId, validarProjetoGeoProprio: false))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = vm.Projeto.EmpreendimentoId, Msg = Validacao.QueryParam() }));
            }

            eCaracterizacao tipo = (eCaracterizacao)vm.Projeto.CaracterizacaoId;

            vm.CaracterizacaoTipo     = 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());

            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.Dependentes = _caracterizacaoBus.Dependentes(vm.Projeto.EmpreendimentoId, tipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico);
            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());

            #region Verificar o Redirecionamento

            vm.UrlAvancar = CaracterizacaoVM.GerarUrl(vm.Projeto.EmpreendimentoId, vm.isCadastrarCaracterizacao, (eCaracterizacao)tipo);

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

            if (dependencias.Exists(x => x.DependenteTipo == (int)tipo && x.TipoDetentorId == (int)eCaracterizacaoDependenciaTipo.DescricaoLicenciamentoAtividade))
            {
                String           url = "Visualizar";
                PermissaoValidar permissaoValidar = new PermissaoValidar();

                if (permissaoValidar.ValidarAny(new[] { ePermissao.DescricaoLicenciamentoAtividadeCriar, ePermissao.DescricaoLicenciamentoAtividadeEditar }, false))
                {
                    url = "Criar";
                }

                vm.UrlAvancar = Url.Action(url, "DescricaoLicenciamentoAtividade", new { empreendimento = vm.Projeto.EmpreendimentoId, tipo = (int)tipo, isCadastrarCaracterizacao = vm.isCadastrarCaracterizacao });
            }

            #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 && mostrarModalDependencias)
            {
                vm.TextoMerge = _caracterizacaoValidar.DependenciasAlteradas(
                    vm.Projeto.EmpreendimentoId,
                    vm.Projeto.CaracterizacaoId,
                    eCaracterizacaoDependenciaTipo.ProjetoGeografico,
                    vm.Projeto.Dependencias, isVisualizar);
            }

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

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

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

            return(View("ProjetoGeografico", vm));
        }