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));
        }
Example #2
0
        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));
        }