Example #1
0
        public void ObterDependencias(ProjetoGeografico projeto, bool atual = false)
        {
            try
            {
                if (projeto.Dependencias == null || projeto.Dependencias.Count == 0 || atual)
                {
                    projeto.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(projeto.EmpreendimentoId, (eCaracterizacao)projeto.CaracterizacaoId, eCaracterizacaoDependenciaTipo.ProjetoGeografico);
                }

                Dependencia dependencia = projeto.Dependencias.SingleOrDefault(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico &&
                                                                               x.DependenciaCaracterizacao == (int)eCaracterizacao.Dominialidade);

                if (dependencia != null)
                {
                    ProjetoGeografico dominio = _da.Obter(dependencia.DependenciaId, null, false, true);

                    projeto.MenorX = dominio.MenorX;
                    projeto.MenorY = dominio.MenorY;
                    projeto.MaiorX = dominio.MaiorX;
                    projeto.MaiorY = dominio.MaiorY;

                    projeto.ArquivosDominio = dominio.Arquivos.Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoProcessadoSoftwareGIS ||
                                                                     x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoProcessadoTrackMaker ||
                                                                     x.Tipo == (int)eProjetoGeograficoArquivoTipo.Croqui).ToList();
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Example #2
0
        public void Salvar(ProjetoGeografico projeto)
        {
            try
            {
                if (!String.IsNullOrEmpty(projeto.Sobreposicoes.DataVerificacao))
                {
                    projeto.Sobreposicoes.DataVerificacaoBanco = new DateTecno()
                    {
                        Data = DateTime.ParseExact(projeto.Sobreposicoes.DataVerificacao, "dd/MM/yyyy - HH:mm", CultureInfo.CurrentCulture.DateTimeFormat)
                    };
                }

                if (_validar.Salvar(projeto))
                {
                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Salvar(projeto, bancoDeDados);

                        bancoDeDados.Commit();
                    }

                    Validacao.Add(Mensagem.ProjetoGeografico.SalvoSucesso);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Example #3
0
        public void ObterOrtofotos(ProjetoGeografico projeto)
        {
            try
            {
                if (projeto.MecanismoElaboracaoId == (int)eProjetoGeograficoMecanismo.Desenhador)
                {
                    return;
                }

                if (projeto.ArquivosOrtofotos != null && projeto.ArquivosOrtofotos.Count > 0)
                {
                    var arquivoOrtofoto = projeto.ArquivosOrtofotos.First();
                    if (arquivoOrtofoto.ChaveData != DateTime.MinValue &&
                        arquivoOrtofoto.ChaveData.AddDays(2) >= DateTime.Now)
                    {
                        return;
                    }
                }

                projeto.ArquivosOrtofotos = ObterArquivosOrtofotoWebService(projeto);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Example #4
0
        public void Salvar(ProjetoGeografico entidade)
        {
            try
            {
                if (_validar.Salvar(entidade))
                {
                    if (entidade.Id < 1)
                    {
                        entidade.Id = _da.ObterID(entidade.FiscalizacaoId);
                    }

                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Salvar(entidade, bancoDeDados);

                        bancoDeDados.Commit();
                    }

                    Validacao.Add(Mensagem.ProjetoGeografico.SalvoSucesso);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Example #5
0
        public void Finalizar(ProjetoGeografico projeto)
        {
            try
            {
                if (_validar.Finalizar(projeto))
                {
                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Finalizar(projeto.Id);

                        //Gerencia as dependências da caracterização
                        _caracterizacaoBus.Dependencias(new Caracterizacao()
                        {
                            Id             = projeto.Id,
                            Tipo           = (eCaracterizacao)projeto.CaracterizacaoId,
                            DependenteTipo = eCaracterizacaoDependenciaTipo.ProjetoGeografico,
                            Dependencias   = projeto.Dependencias
                        }, bancoDeDados);

                        Validacao.Add(Mensagem.ProjetoGeografico.FinalizadoSucesso);
                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Example #6
0
        public void Recarregar(ProjetoGeografico projeto)
        {
            try
            {
                if (_validar.Recarregar(projeto))
                {
                    #region Cancelar Processamento

                    ArquivoProjeto arquivoProcessamento = new ArquivoProjeto();
                    arquivoProcessamento.ProjetoId = projeto.Id;
                    arquivoProcessamento.Mecanismo = projeto.MecanismoElaboracaoId;
                    arquivoProcessamento.FilaTipo  = projeto.CaracterizacaoId == (int)eCaracterizacao.Dominialidade ? (int)eFilaTipoGeo.Dominialidade : (int)eFilaTipoGeo.Atividade;

                    CancelarProcessamento(arquivoProcessamento);

                    #endregion

                    _da.Refazer(projeto.Id);
                    Validacao.Add(Mensagem.ProjetoGeografico.RecarregadoSucesso);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
        public ActionResult Salvar(ProjetoGeografico projeto, string url)
        {
            if (!_caracterizacaoValidar.Basicas(projeto.EmpreendimentoId))
            {
                return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, urlRedirect = Url.Action("Index", "../Empreendimento", Validacao.QueryParamSerializer()) }));
            }

            var urlCriar  = CaracterizacaoVM.GerarUrl(projeto.EmpreendimentoId, true, eCaracterizacao.ExploracaoFlorestal);
            var urlEditar = CaracterizacaoVM.GerarUrl(projeto.EmpreendimentoId, false, eCaracterizacao.ExploracaoFlorestal);

            if (url.Contains(urlCriar) || url.Contains(urlEditar))
            {
                if (!_validar.Finalizar(projeto))
                {
                    return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, Url = url }));
                }
                if (_exploracaoFlorestalBus.ExisteExploracaoGeoNaoCadastrada(projeto.Id))
                {
                    url = urlCriar;
                }
            }

            _bus.Salvar(projeto);
            if (projeto.CaracterizacaoId == (int)eCaracterizacao.ExploracaoFlorestal)
            {
                _caracterizacaoBus.AtualizarDependentes(projeto.Id, eCaracterizacao.ExploracaoFlorestal, eCaracterizacaoDependenciaTipo.Caracterizacao, projeto.Tid);
            }

            return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, Url = url }));
        }
        internal bool Salvar(ProjetoGeografico projeto)
        {
            if (_da.ExisteProjetoGeografico(projeto.EmpreendimentoId, projeto.CaracterizacaoId) != projeto.Id)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.JaExisteCadastro);
                return(false);
            }

            if (projeto.NivelPrecisaoId <= 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.NivelPrecisaoObrigatorio);
                return(false);
            }

            if (projeto.MaiorX <= 0 || projeto.MaiorY <= 0 || projeto.MenorX <= 0 || projeto.MenorY <= 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.AreaDeAbrangenciaObrigatorio);
                return(false);
            }

            if (projeto.MecanismoElaboracaoId == 0)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.MecanismoObrigatorio);
                return(false);
            }

            CaracterizacaoBus _busCaracterizacao = new CaracterizacaoBus();

            if (!_busCaracterizacao.ExisteEmpreendimento(projeto.EmpreendimentoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoInexistente);
            }

            return(Validacao.EhValido);
        }
        internal List <ProjetoGeografico> ObterProjetosEmpreendimento(int id, BancoDeDados banco = null)
        {
            List <ProjetoGeografico> projetos = new List <ProjetoGeografico>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select p.id, p.tid, p.caracterizacao from {0}crt_projeto_geo p where p.empreendimento = :empreendimento", EsquemaBanco);
                comando.AdicionarParametroEntrada("empreendimento", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ProjetoGeografico projeto = null;

                    while (reader.Read())
                    {
                        projeto     = new ProjetoGeografico();
                        projeto.Id  = Convert.ToInt32(reader["id"]);
                        projeto.Tid = reader["tid"].ToString();
                        projeto.CaracterizacaoId = Convert.ToInt32(reader["caracterizacao"]);

                        projetos.Add(projeto);
                    }

                    reader.Close();
                }
            }

            return(projetos);
        }
        public ActionResult Refazer(ProjetoGeografico projeto, bool isCadastrarCaracterizacao)
        {
            if (!_caracterizacaoValidar.Basicas(projeto.EmpreendimentoId))
            {
                return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, urlRedirect = Url.Action("Index", "../Empreendimento", Validacao.QueryParamSerializer()) }));
            }

            if (projeto.Id > 0 && _bus.ExisteProjetoGeografico(projeto.EmpreendimentoId, projeto.CaracterizacaoId, true) <= 0)
            {
                _bus.ObterDependencias(projeto, true);
                _caracterizacaoBus.Dependencias(new Caracterizacao()
                {
                    Id             = projeto.Id,
                    Tipo           = (eCaracterizacao)projeto.CaracterizacaoId,
                    DependenteTipo = eCaracterizacaoDependenciaTipo.ProjetoGeografico,
                    Dependencias   = projeto.Dependencias
                });
            }
            else
            {
                _bus.Refazer(projeto);
            }

            return(Json(new
            {
                EhValido = Validacao.EhValido,
                Msg = Validacao.Erros,
                Url = Url.Action("Editar", "ProjetoGeografico", Validacao.QueryParamSerializer(
                                     new { id = projeto.Id, empreendimento = projeto.EmpreendimentoId, tipo = projeto.CaracterizacaoId, isCadastrarCaracterizacao = isCadastrarCaracterizacao, mostrarModalDependencias = false }))
            }));
        }
Example #11
0
        internal bool Salvar(ProjetoGeografico projeto)
        {
            if (projeto.PossuiProjetoGeo == true)
            {
                if (projeto.NivelPrecisaoId <= 0)
                {
                    Validacao.Add(Mensagem.ProjetoGeografico.NivelPrecisaoObrigatorio);
                    return(false);
                }

                if (projeto.MaiorX <= 0 || projeto.MaiorY <= 0 || projeto.MenorX <= 0 || projeto.MenorY <= 0)
                {
                    Validacao.Add(Mensagem.ProjetoGeografico.AreaDeAbrangenciaObrigatorio);
                    return(false);
                }

                if (projeto.MecanismoElaboracaoId == 0)
                {
                    Validacao.Add(Mensagem.ProjetoGeografico.MecanismoObrigatorio);
                    return(false);
                }
            }

            return(Validacao.EhValido);
        }
Example #12
0
        public ArquivoProjeto ObterArquivoDesenhador(ProjetoGeografico projeto, BancoDeDados banco = null)
        {
            ArquivoProjeto arquivo = new ArquivoProjeto();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select t.id, lc.id situacao_id, lc.texto situacao_texto from {1}tab_fila t, {0}lov_crt_projeto_geo_sit_proce lc
				where t.etapa = lc.etapa and t.situacao = lc.situacao and t.tipo in (3, 4) and t.mecanismo_elaboracao = 2 and t.projeto = :projeto"                , EsquemaBanco, EsquemaBancoGeo);

                comando.AdicionarParametroEntrada("projeto", projeto.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        arquivo.IdRelacionamento = reader.GetValue <int>("id");
                        arquivo.Situacao         = reader.GetValue <int>("situacao_id");
                        arquivo.SituacaoTexto    = reader.GetValue <string>("situacao_texto");
                    }

                    reader.Close();
                }
            }

            return(arquivo);
        }
Example #13
0
        public void SalvarSobreposicoes(ProjetoGeografico projeto)
        {
            try
            {
                if (!Validacao.EhValido)
                {
                    return;
                }

                if (projeto.Sobreposicoes != null && !String.IsNullOrEmpty(projeto.Sobreposicoes.DataVerificacao))
                {
                    projeto.Sobreposicoes.DataVerificacaoBanco = new DateTecno()
                    {
                        Data = DateTime.ParseExact(projeto.Sobreposicoes.DataVerificacao, "dd/MM/yyyy - HH:mm", CultureInfo.CurrentCulture.DateTimeFormat)
                    };
                }

                GerenciadorTransacao.ObterIDAtual();
                _da.AlterarSobreposicoes(projeto);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
        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 }));
        }
        public ActionResult Finalizar(ProjetoGeografico projeto, string url)
        {
            if (!_caracterizacaoValidar.Basicas(projeto.EmpreendimentoId))
            {
                return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, urlRedirect = Url.Action("Index", "../Empreendimento", Validacao.QueryParamSerializer()) }));
            }

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

            _bus.Finalizar(projeto);
            return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, Url = url }));
        }
Example #16
0
        public ProjetoGeografico ObterProjetoGeograficoPorFiscalizacao(int fiscalizacaoId, bool simplificado = false, bool finalizado = false)
        {
            ProjetoGeografico projeto = _da.ObterProjetoGeograficoPorFiscalizacao(fiscalizacaoId, null, simplificado, finalizado);

            ObterOrtofotos(projeto);
            return(projeto);
        }
        public ActionResult ObterMerge(int id)
        {
            ProjetoGeografico projetoGeo = _bus.ObterProjeto(id);

            //Busca as dependencias desse projeto geográfico
            _bus.ObterDependencias(projetoGeo);
            return(Json(new { @Msg = Validacao.Erros, @EhValido = Validacao.EhValido, @Projeto = projetoGeo }));
        }
Example #18
0
 internal bool Finalizar(ProjetoGeografico projeto)
 {
     if (_da.ObterSitacaoProjetoGeografico(projeto.Id) == (int)eProjetoGeograficoSituacao.Finalizado)
     {
         Validacao.Add(Mensagem.ProjetoGeografico.SituacaoProjetoFinalizado);
         return(false);
     }
     return(Validacao.EhValido);
 }
        public ActionResult Salvar(ProjetoGeografico projeto)
        {
            if (!_validar.ExisteEmpreendimento(projeto.EmpreendimentoId))
            {
                return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, urlRedirect = Url.Action("Operar", "ProjetoDigital", new { area = "", Id = projeto.ProjetoDigitalId }) }));
            }

            _bus.Salvar(projeto);
            return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros }));
        }
        public ActionResult ProcessarDesenhador(ProjetoGeografico projeto)
        {
            ArquivoProcessamentoVM arquivo = new ArquivoProcessamentoVM();

            arquivo.ArquivoProcessamento = _bus.ProcessarDesenhador(projeto);

            arquivo.RegraBotoesGridVetoriais();

            return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, @Arquivo = arquivo }));
        }
        public ActionResult Salvar(ProjetoGeografico projeto)
        {
            if (!_caracterizacaoValidar.Basicas(projeto.EmpreendimentoId))
            {
                return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, urlRedirect = Url.Action("Index", "../Empreendimento", Validacao.QueryParamSerializer()) }));
            }

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

            _bus.ExcluirRascunho(projeto);

            return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, Url = Url.Action("Index", "Caracterizacao", Validacao.QueryParamSerializer(new { id = projeto.EmpreendimentoId, projetoDigitalId = projeto.ProjetoDigitalId })) }));
        }
        public ActionResult ExcluirRascunho(ProjetoGeografico projeto, bool isCadastrarCaracterizacao)
        {
            if (!_caracterizacaoValidar.Basicas(projeto.EmpreendimentoId))
            {
                return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, urlRedirect = Url.Action("Index", "../Empreendimento", Validacao.QueryParamSerializer()) }));
            }

            _bus.ExcluirRascunho(projeto);

            return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, Url = Url.Action("Index", "Caracterizacao", Validacao.QueryParamSerializer(new { id = projeto.EmpreendimentoId })) }));
        }
Example #24
0
 public void ExcluirRascunho(ProjetoGeografico projeto)
 {
     try
     {
         _da.ExcluirRascunho(projeto.Id);
         Validacao.Add(Mensagem.ProjetoGeografico.RascunhoExcluidoSucesso);
     }
     catch (Exception exc)
     {
         Validacao.AddErro(exc);
     }
 }
Example #25
0
 public void SalvarOrtofoto(ProjetoGeografico projeto)
 {
     try
     {
         projeto.ArquivosOrtofotos = ObterArquivosOrtofotoWebService(projeto);
         _da.AlterarArquivosOrtofoto(projeto);
     }
     catch (Exception exc)
     {
         Validacao.AddErro(exc);
     }
 }
Example #26
0
 public void FinalizarGeometrias(ProjetoGeografico projeto, int titulo, BancoDeDados banco = null)
 {
     try
     {
         _da.FinalizarGeometrias(projeto.Id, titulo, banco);
         Validacao.Add(Mensagem.ProjetoGeografico.FinalizadoSucesso);
     }
     catch (Exception exc)
     {
         Validacao.AddErro(exc);
     }
 }
        public bool Finalizar(int id)
        {
            List <string>     lstCadastroVazio = _da.TemCadastroVazio(id);
            ProjetoGeografico projetoGeo       = new ProjetoGeografico();
            Infracao          infracao         = new Infracao();
            LocalInfracao     localInfracao    = new LocalInfracao();

            localInfracao = _localInfracaoDa.Obter(id);

            FuncionarioBus funcBus     = new FuncionarioBus();
            List <Setor>   setoresFunc = funcBus.ObterSetoresFuncionario();

            if (!setoresFunc.Any(x => x.Id == localInfracao.SetorId))
            {
                Validacao.Add(Mensagem.Fiscalizacao.SetorNaoPertenceFuncionario);
            }

            if (lstCadastroVazio.Count > 0)
            {
                Validacao.Add(Mensagem.Fiscalizacao.CadastroObrigatorio(Mensagem.Concatenar(lstCadastroVazio)));
                return(Validacao.EhValido);
            }

            projetoGeo = _projetoGeoDa.ObterProjetoGeograficoPorFiscalizacao(id);
            projetoGeo.FiscalizacaoEasting  = localInfracao.LonEastingToDecimal;
            projetoGeo.FiscalizacaoNorthing = localInfracao.LatNorthingToDecimal;

            if (!_projetoGeoDa.VerificarProjetoGeograficoProcessado(projetoGeo.Id))
            {
                Validacao.Add(Mensagem.Fiscalizacao.ProjetoGeoProcessado);
            }
            else
            {
                if (!projetoGeo.FiscalizacaoEstaDentroAreaAbrangencia)
                {
                    Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoForaAbrangencia);
                }
            }

            infracao = _infracaoDa.Obter(id);

            if (_infracaoDa.ConfigAlterada(infracao.ConfiguracaoId, infracao.ConfiguracaoTid))
            {
                Validacao.Add(Mensagem.InfracaoMsg.ConfigAlteradaConcluir);
            }

            if (_infracaoDa.PerguntaRespostaAlterada(infracao))
            {
                Validacao.Add(Mensagem.InfracaoMsg.ConfigAlteradaConcluir);
            }

            return(Validacao.EhValido);
        }
        internal bool Finalizar(ProjetoGeografico projeto)
        {
            CaracterizacaoBus _busCaracterizacao = new CaracterizacaoBus();

            if (!_busCaracterizacao.ExisteEmpreendimento(projeto.EmpreendimentoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoInexistente);
                return(false);
            }

            if (_da.ObterSituacaoProjetoGeografico(projeto.Id) == (int)eProjetoGeograficoSituacao.Finalizado)
            {
                Validacao.Add(Mensagem.ProjetoGeografico.SituacaoProjetoFinalizado);
                return(false);
            }

            if (!_da.VerificarProjetoGeograficoProcessado(projeto.Id, (eCaracterizacao)projeto.CaracterizacaoId))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.SituacaoDeveSerProcessado);
                return(false);
            }

            if (projeto.Sobreposicoes == null || projeto.Sobreposicoes.Itens == null || projeto.Sobreposicoes.Itens.Count == 0 || !ValidarDataVerificacao(projeto.Sobreposicoes))
            {
                Validacao.Add(Mensagem.ProjetoGeografico.VerificarSobreposicao);
            }

            List <string> auxiliar = _da.VerificarExcluirDominios(projeto.EmpreendimentoId);

            if (auxiliar != null && auxiliar.Count > 0)
            {
                foreach (var item in auxiliar)
                {
                    Validacao.Add(Mensagem.Dominialidade.DominioAssossiadoReserva(item));
                }
            }

            if (projeto.InternoID > 0)
            {
                List <ReservaLegal> reservasInternoRelacionadasCompensacao = _dominialidadeInternoDa.ObterRLsCompensacao(projeto.InternoID);
                List <ReservaLegal> reservarProcessadas = _dominialidadeDa.ObterRLGeoProcessadas(projeto.Id);

                reservasInternoRelacionadasCompensacao.ForEach(reservaInterno => {
                    if (!reservarProcessadas.Exists(rp => reservaInterno.Identificacao == rp.Identificacao))
                    {
                        Validacao.Add(Mensagem.Dominialidade.NaoPermitidoExcluirReserva(reservaInterno.Identificacao));
                    }
                });
            }

            return(Validacao.EhValido);
        }
        public void Finalizar(ProjetoGeografico projetoGeo, int projetoDigitalID, DesassociarDependencias desassociarDependencias)
        {
            try
            {
                if (_validar.Finalizar(projetoGeo))
                {
                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Finalizar(projetoGeo);

                        //Gerencia as dependências da caracterização
                        _caracterizacaoBus.Dependencias(new Caracterizacao()
                        {
                            Id             = projetoGeo.Id,
                            Tipo           = (eCaracterizacao)projetoGeo.CaracterizacaoId,
                            DependenteTipo = eCaracterizacaoDependenciaTipo.ProjetoGeografico,
                            Dependencias   = projetoGeo.Dependencias
                        }, bancoDeDados);

                        #region Alterar Projeto Digital

                        ProjetoDigital projetoDigital = new ProjetoDigital();
                        projetoDigital.Id = projetoDigitalID;
                        projetoDigital.EmpreendimentoId = projetoGeo.EmpreendimentoId;
                        projetoDigital.Dependencias.Add(new Dependencia()
                        {
                            DependenciaCaracterizacao = (int)projetoGeo.CaracterizacaoId
                        });
                        desassociarDependencias(projetoDigital, bancoDeDados);

                        #endregion

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

                        Validacao.Add(Mensagem.ProjetoGeografico.FinalizadoSucesso);
                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Example #30
0
        public bool Desatualizado(int id, string projetoTid)
        {
            try
            {
                ProjetoGeografico projetoGeo = _da.ObterProjetoGeografico(id);

                return(projetoTid != projetoGeo.Tid);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(false);
        }