public PartialViewResult exibirMenuTopo() { PermissaoVM ViewModel = new PermissaoVM(); ViewModel.idPerfilAcesso = User.idPerfil(); ViewModel.listaGrupos = this.OAcessoPermissaoBL.listar(ViewModel.idPerfilAcesso, 0, 0) .Where(x => x.ativo == "S" && x.AcessoRecursoGrupo.flagMenuTopo == true) .ToList() .DistinctBy(x => x.idGrupo) .Select(x => x.AcessoRecursoGrupo) .OrderBy(x => x.ordem) .ToList(); int[] idsGrupos = ViewModel.listaGrupos.Where(x => x.flagMenuTopo == true).Select(x => x.id).ToArray(); ViewModel.listaPermissoes = this.OAcessoPermissaoBL.listar(ViewModel.idPerfilAcesso, 0, 0) .Where(x => (x.idRecursoAcao == 0 || x.idRecursoAcao == null) && x.AcessoRecurso.flagMenu == true) .ToList() .Where(x => idsGrupos.Contains(UtilNumber.toInt32(x.idGrupo))) .ToList(); return(PartialView(ViewModel)); }
public ActionResult editarPermissao(int?idPerfil) { PermissaoVM ViewModel = new PermissaoVM(); ViewModel.idPerfilAcesso = UtilNumber.toInt32(idPerfil); var queryGrupos = this.OAcessoRecursoGrupoBL.listar("S"); var queryRecursos = this.OAcessoRecursoBL.listar(0, 0, "S"); if (User.idPerfil() != PerfilAcessoConst.DESENVOLVEDOR) { var listaPermissoesUsuario = this.OAcessoPermissaoBL.listar(User.idPerfil(), 0, 0).ToList(); var idsPermissoesAssociacao = listaPermissoesUsuario.Select(x => x.idRecurso).ToList(); queryRecursos = queryRecursos.Where(x => idsPermissoesAssociacao.Contains(x.id)); var idsGruposAssociacao = listaPermissoesUsuario.Select(x => x.AcessoRecurso.idRecursoGrupo).ToList(); queryGrupos = queryGrupos.Where(x => idsGruposAssociacao.Contains(x.id)); } ViewModel.listaGrupos = queryGrupos.OrderBy(x => x.ordem).ToList(); ViewModel.listaRecursos = queryRecursos.ToList(); if (ViewModel.idPerfilAcesso > 0) { ViewModel.listaPermissoes = this.OAcessoPermissaoBL.listar(ViewModel.idPerfilAcesso, 0, 0).ToList(); } ViewModel.PerfilAcesso = this.OPerfilAcessoBL.carregar(UtilNumber.toInt32(idPerfil)) ?? new PerfilAcesso(); return(View(ViewModel)); }
public PartialViewResult exibirMenuPrincipal() { PermissaoVM ViewModel = new PermissaoVM(); ViewModel.idPerfilAcesso = User.idPerfil(); ViewModel.listaGrupos = this.OAcessoPermissaoBL.listar(ViewModel.idPerfilAcesso, 0, 0) .Where(x => x.ativo == "S" && x.AcessoRecursoGrupo.flagMenuLateral == true) .Select(x => new { x.id, x.idGrupo, AcessoRecursoGrupo = new { x.AcessoRecursoGrupo.id, x.AcessoRecursoGrupo.descricao, x.AcessoRecursoGrupo.iconeClasse, x.AcessoRecursoGrupo.ordem, x.AcessoRecursoGrupo.controller, x.AcessoRecursoGrupo.area, x.AcessoRecursoGrupo.action, x.AcessoRecursoGrupo.flagMenuLateral, x.AcessoRecursoGrupo.flagMenuTopo, }, x.idPerfilAcesso, x.idRecurso, x.idRecursoAcao, x.ativo, x.flagExcluido }).ToListJsonObject <AcessoPermissao>() .DistinctBy(x => x.idGrupo) .Select(x => x.AcessoRecursoGrupo) .OrderBy(x => x.ordem) .ToList(); int[] idsGrupos = ViewModel.listaGrupos.Where(x => x.flagMenuLateral == true).Select(x => x.id).ToArray(); ViewModel.listaPermissoes = this.OAcessoPermissaoBL.listar(ViewModel.idPerfilAcesso, 0, 0) .Select(x => new { x.id, x.idGrupo, x.idPerfilAcesso, x.idRecurso, x.idRecursoAcao, AcessoRecurso = new { x.AcessoRecurso.id, x.AcessoRecurso.actionPadrao, x.AcessoRecurso.area, x.AcessoRecurso.controller, x.AcessoRecurso.flagAcessoLiberado, x.AcessoRecurso.flagMenu, x.AcessoRecurso.flagExcluido, x.AcessoRecurso.idRecursoGrupo, x.AcessoRecurso.idRecursoPai, x.AcessoRecurso.nomeDisplay, x.AcessoRecurso.ordemExibicao, x.AcessoRecurso.ativo, x.AcessoRecurso.descricao } }) .Where(x => (x.idRecursoAcao == 0 || x.idRecursoAcao == null) && x.AcessoRecurso.flagMenu == true) .ToListJsonObject <AcessoPermissao>() .Where(x => idsGrupos.Contains(UtilNumber.toInt32(x.idGrupo))) .ToList(); return(PartialView(ViewModel)); }