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)); }
internal bool AlterarSituacao(int requerimentoId, eProjetoDigitalSituacao eProjetoDigitalSituacao, BancoDeDados banco = null) { try { ProjetoDigital projetoDigital = _busProjetoDigitalCredenciado.Obter(idRequerimento: requerimentoId, banco: banco); projetoDigital.Situacao = (int)eProjetoDigitalSituacao; return(_busProjetoDigitalCredenciado.AlterarSituacao(projetoDigital, banco: banco)); } catch (Exception exc) { Validacao.AddErro(exc); } return(false); }
public ActionResult Editar(int id, int projetoDigitalId) { Requerimento requerimento = _busRequerimento.Obter(id); requerimento.ProjetoDigitalId = projetoDigitalId; ProjetoDigital projetoDigital = _busProjetoDigital.Obter(requerimento.ProjetoDigitalId, requerimento.Id); _busRequerimento.ValidarRoteiroRemovido(requerimento); if (Validacao.Erros.Count <= 0) { _busRequerimento.ValidarSituacaoVersaoRoteiro(requerimento.Roteiros); } _busRequerimento.ValidarEditar(requerimento); if (!Validacao.EhValido) { return(RedirectToAction("Index", "ProjetoDigital", Validacao.QueryParamSerializer())); } RequerimentoVM vm = new RequerimentoVM(requerimento); vm.CarregarListas(ListaCredenciadoBus.ResponsavelFuncoes, ListaCredenciadoBus.AgendamentoVistoria); return(View(vm)); }
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 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); }
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); } }
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); }
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 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 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)); }
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); }
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); } }
public ActionResult Operar(int id = 0, bool modoVisualizar = false, int acaoId = 0) { ProjetoDigitalVM vm = new ProjetoDigitalVM(); vm.ProjetoDigital.Situacao = (int)eProjetoDigitalSituacao.EmElaboracao; vm.ModoVisualizar = modoVisualizar; vm.UrlRequerimento = Url.Action("Criar", "Requerimento"); if (acaoId > 0) { vm.PossuiAtividadeCAR = _bus.PossuiAtividadeCAR(acaoId); } if (id > 0) { vm.ProjetoDigital = _bus.Obter(id); RequerimentoCredenciadoBus requerimentoBus = new RequerimentoCredenciadoBus(); vm.DesativarPasso4 = requerimentoBus.RequerimentoDeclaratorio(vm.ProjetoDigital.RequerimentoId); if (!_validar.EmPosseCredenciado(vm.ProjetoDigital)) { Validacao.Add(Mensagem.ProjetoDigital.PosseCredenciado); return(RedirectToAction("Index", Validacao.QueryParamSerializer())); } vm.UrlRequerimento = Url.Action("Editar", "Requerimento", new { id = vm.ProjetoDigital.RequerimentoId, projetoDigitalId = vm.ProjetoDigital.Id }); vm.UrlRequerimentoVisualizar = Url.Action("Visualizar", "Requerimento", new { id = vm.ProjetoDigital.RequerimentoId, projetoDigitalId = vm.ProjetoDigital.Id, isVisualizar = true }); vm.UrlCaracterizacao = Url.Action("Index", "Caracterizacao", new { area = "Caracterizacoes", id = vm.ProjetoDigital.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId = vm.ProjetoDigital.Id }); vm.UrlCaracterizacaoVisualizar = Url.Action("Index", "Caracterizacao", new { area = "Caracterizacoes", id = vm.ProjetoDigital.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId = vm.ProjetoDigital.Id, visualizar = true }); vm.UrlEnviar = Url.Action("Enviar", "ProjetoDigital", new { id = vm.ProjetoDigital.Id }); vm.UrlEnviarVisualizar = Url.Action("Enviar", "ProjetoDigital", new { id = vm.ProjetoDigital.Id, modoVisualizar = true }); vm.UrlImprimirDocumentos = Url.Action("ImprimirDocumentos", "ProjetoDigital", new { id = vm.ProjetoDigital.Id }); } return(View(vm)); }
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 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)); }
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); } }
internal bool Salvar(CARSolicitacao carSolicitacao) { if (carSolicitacao.ProjetoId < 1) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoObrigatorio); return(false); } if (carSolicitacao.Requerimento.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoRequerimentoObrigatorio); } if (carSolicitacao.Atividade.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAtividadeObrigatoria); } if (carSolicitacao.Atividade.Id != ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.CadastroAmbientalRural)) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAtividadeInvalida); } if (carSolicitacao.Empreendimento.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoObrigatorio); } if (carSolicitacao.Empreendimento.Codigo < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoCodigoObrigatorio); } if (string.IsNullOrEmpty(carSolicitacao.Empreendimento.NomeRazao)) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoNomeRazaoObrigatorio); } if (carSolicitacao.Declarante.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoDeclaranteObrigatorio); } #region Projeto Digital ProjetoDigital projetoDigital = _busProjetoDigital.Obter(carSolicitacao.ProjetoId); if (projetoDigital.Situacao == (int)eProjetoDigitalSituacao.AguardandoCorrecao || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.ComPendencia || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.EmCorrecao || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.Finalizado || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.Indeferido || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.EmElaboracao) { Validacao.Add(Mensagem.CARSolicitacao.SituacaoDeveSerAguardandoImportacao); } #endregion #region Requerimento Requerimento requerimento = _busRequerimento.ObterSimplificado(carSolicitacao.Requerimento.Id); if (requerimento == null || requerimento.Id < 1) { Validacao.Add(Mensagem.Requerimento.Inexistente); } if (requerimento.CredenciadoId != User.FuncionarioId) { Validacao.Add(Mensagem.Requerimento.PosseCredenciado); } if (requerimento.Empreendimento.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoDigitalSemEmpreendimento); } #endregion #region Solitação de CAR EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(carSolicitacao.Empreendimento.Id); /*if (!EmpreendimentoSolicitacaoCAR(empreendimento)) * { * return false; * }*/ #endregion Solitação de CAR #region Validar Dados da Caracterizacao if (projetoDigital.Dependencias.Count(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico) < 1) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoDigitalDominialidadeAssociada); } projetoDigital.Dependencias.ForEach(x => { if (x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico && x.DependenciaCaracterizacao == (int)eCaracterizacao.Dominialidade) { if (_busProjetoGeografico.ObterSitacaoProjetoGeografico(x.DependenciaId) != (int)eProjetoGeograficoSituacao.Finalizado) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoGeograficoNaoEstaFinalizado); } } }); #endregion #region Validar Dados do Titulo String tituloSituacao = _carSolicitacaoInternoDa.ObterSituacaoTituloCARExistente(empreendimento.InternoID); if (!String.IsNullOrWhiteSpace(tituloSituacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoPossuiTitulo(tituloSituacao)); } #endregion return(Validacao.EhValido); }
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)); }
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); } }