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>()); } }
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()); } }