Пример #1
0
        public async Task <ActionResult> SetRoleMenusAsync([FromBody] SetRoleMenusIM im)
        {
            var rolemenus = await _context.RoleMenus.Where(d => d.RoleId == im.RoleId).ToListAsync();

            _context.RoleMenus.RemoveRange(rolemenus);
            await _context.SaveChangesAsync();


            foreach (var m in im.Menus)
            {
                SetRoleMenusPer(m, im.RoleId);
            }

            await _context.SaveChangesAsync();

            return(Ok("角色权限设置成功"));
        }
Пример #2
0
        public async Task <ActionResult> SetRoleMenusAsync(int id)
        {
            var role = await _context.Roles.Include(d => d.RoleMenus).FirstOrDefaultAsync(d => d.Id == id);

            var menuIds = role.RoleMenus.Select(m => m.MenuId).ToList();
            //var menus = _.GetMenusByCategoryId(SettingsManager.Menu.BackMenuCId);
            var menus = await _context.Menus.Where(d => d.CategoryId == 1).ProjectTo <RoleMenusIM>(_mapper.ConfigurationProvider).ToListAsync();

            foreach (var menu in menus)
            {
                menu.IsSelected = menuIds.Any()? menuIds.Contains(menu.Id):false;
            }

            SetRoleMenusIM vm = new SetRoleMenusIM
            {
                RoleId = id,
                Menus  = menus
            };

            return(Ok(vm));
        }