public bool ValidarMenu(string rota)
        {
            if (User == null)
            {
                return(false);
            }

            if (User.IdGrupo <= 0)
            {
                return(false);
            }

            var listGrupoObjeto = _grupoObjetoService.GetByFilter(p => p.GrupoID == User.IdGrupo);
            var listObjeto      = _objetoService.GetAll();

            var menus = (from grupoObjeto in listGrupoObjeto
                         join objeto in listObjeto on grupoObjeto.ObjetoID equals objeto.ObjetoID
                         where objeto.Rota != string.Empty
                         select objeto.Rota).ToList();

            if (!menus.Any(p => p.Equals(rota)))
            {
                return(false);
            }

            return(true);
        }
        //[Filters.ValidateAntiForgeryToken]
        public JsonResult CarregarDadosIniciais()
        {
            var listGrupo       = _grupoAppService.GetAll();
            var listGrupoObjeto = _grupoObjetoAppService.GetAll();
            var listObjeto      = _objetoAppService.GetAll();

            return(Json(new { listGrupo, listGrupoObjeto, listObjeto }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult RetornaMenuPerfil()
        {
            JsonResult resultado = null;

            try
            {
                int perfil = User.IdGrupo;

                var listPaginasPerfil = _grupoObjetoAppService.RetornarGrupoObjetoPorPerfil(perfil);

                var listPaginas = _objetoAppService.GetAll();

                var menus = (from pagina in listPaginas
                             join paginaPerfil in listPaginasPerfil on pagina.ObjetoID equals paginaPerfil.ObjetoID
                             where pagina.ObjetoPaiID == 0
                             select pagina).ToList();

                var submenus = (from pagina in listPaginas
                                join paginaPerfil in listPaginasPerfil on pagina.ObjetoID equals paginaPerfil.ObjetoID
                                where pagina.ObjetoPaiID != 0
                                select pagina).ToList();

                var retorno = (from pagina in menus
                               select new
                {
                    Descricao = pagina.Descricao,
                    Rota = pagina.Rota,
                    Ordem = pagina.Ordem,
                    Submenu = submenus.Where(s => s.ObjetoPaiID == pagina.ObjetoID).OrderBy(o => o.Ordem)
                }).OrderBy(o => o.Ordem).ToList();

                resultado = Json(retorno, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                resultado = Json(new HttpStatusCodeResult(500, "Não foi possível retornar a lista de menu, devido a um erro interno."), JsonRequestBehavior.AllowGet);
            }

            return(resultado);
        }
 public async Task <IEnumerable <ObjetoViewModel> > Get()
 {
     return(await _objetoAppService.GetAll());
 }