Пример #1
0
        public static IEnumerable <Menu> GetMenuByIdUser(string userId)
        {
            try
            {
                using (var contexto = new WebVentasContext())
                {
                    var consulta = (
                        from m in contexto.Menus
                        where m.Roles.Any(
                            r => contexto.Users.FirstOrDefault(u => u.Id == userId)
                            .Roles.Any(ur => ur.RoleId == r.Id))
                        select m
                        ).ToList();

                    var menuLista = consulta.Where(m => m.ParentId == null).OrderBy(m => m.Orden).ToList();
                    foreach (var menu in menuLista)
                    {
                        menu.MenuItems = consulta.Where(m => m.ParentId == menu.Id).OrderBy(m => m.Orden).ToList();
                    }
                    return(menuLista);
                }
            }
            catch (Exception ex)
            {
                return(new List <Menu>());
            }
        }
Пример #2
0
        public bool IsAuthorizedPage(string userId, string modulo, string accion)
        {
            using (var contexto = new WebVentasContext())
            {
                var consulta = (
                    from m in contexto.Menus
                    where m.Roles.Any(r => contexto.Users.FirstOrDefault(u => u.Id == userId).Roles.Any(ur => ur.RoleId == r.Id)) &&
                    m.Nombre.ToUpper().Equals(modulo)
                    select m);

                return(consulta.Any());
            }
        }