Exemple #1
0
        public ActionResult RoleMenuEdit(int RoleId)
        {
            UserRoleInfo userRoleInfo = UserRoles.GetUserRoleById(RoleId);


            List <RoleMenuItem>     rolemenulist = new List <RoleMenuItem>();
            List <ArticleClassInfo> menulist     = Services.ArticleClass.AdminGetArticleClassTreeList();

            foreach (ArticleClassInfo list in menulist)
            {
                RoleMenuItem item = new RoleMenuItem()
                {
                    isSels    = Services.UserRoles.ExistsRoleMenu(RoleId, list.ArticleClassID),
                    MenuIDs   = list.ArticleClassID,
                    MenuNames = list.ClassName
                };
                rolemenulist.Add(item);
            }

            RoleMenuModel model = new RoleMenuModel()
            {
                UserRoleInfo = userRoleInfo,
                RoleMenuList = rolemenulist
            };

            return(View(model));
        }
Exemple #2
0
        public async Task AddRoleMenuAsync(RoleMenuDto dto)
        {
            try
            {
                var existMenus = _roleMenuDbSet.Where(c => c.RoleId == dto.RoleId);
                _roleMenuDbSet.RemoveRange(existMenus);

                foreach (var item in dto.MenuIds)
                {
                    if (!existMenus.Any(c => c.RoleId == dto.RoleId && c.MenuId == item))
                    {
                        var roleMenu = new RoleMenuItem
                        {
                            RoleId = dto.RoleId,
                            MenuId = item,
                        };
                        await _roleMenuDbSet.AddAsync(roleMenu);
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public async Task <IActionResult> AddRole(Guid menuItemId, Guid roleId)
        {
            var roleMenuItem = this.roleMenuItemService.Get(rmi => rmi.RoleId == roleId && rmi.MenuItemId == menuItemId);

            if (roleMenuItem == null)
            {
                roleMenuItem = new RoleMenuItem {
                    MenuItemId = menuItemId, RoleId = roleId
                };
                this.roleMenuItemService.Create(roleMenuItem);
            }
            else
            {
                return(Json(null));
            }

            var roleMenuItems = await this.roleMenuItemService.GetManyAsync(ru => ru.MenuItemId == menuItemId);

            string roleNames = "";

            foreach (var _roleMenuItem in roleMenuItems)
            {
                var role = this.roleService.GetById(_roleMenuItem.RoleId);
                roleNames += role.Name + ",";
            }

            //JsonResult jsonResult = role == null ? Json(null) : Json(new { RoleName = role.Name });
            return(Json(new { RoleNames = roleNames }));
        }
        public override async Task Handle(RoleMenuCacheAddOrUpdateEvent notification, CancellationToken cancellationToken)
        {
            var          key          = $"{CacheKeys.roleMenuKeyPrefix}{notification.RoleId}";
            RoleMenuItem roleMenuItem = new RoleMenuItem();

            //var ss = _roleMenuRepository.Entities.Where(x => x.RoleId == notification.RoleId).ToListAsync();
            roleMenuItem.RoleId  = notification.RoleId;
            roleMenuItem.MenuIds = notification.MenuIds;

            if (notification.EventState == EventState.Add)
            {
                await _cache.SetAsync(key, roleMenuItem);
            }
            else
            {
                await _cache.RemoveAsync(key);

                await _cache.SetAsync(key, roleMenuItem);
            }
        }