Esempio n. 1
0
        public static void RoleDelete(string[] arrId)
        {
            foreach (string id in arrId)
            {
                Guid idRole = new Guid(id);
                Role role   = RoleList.Where(u => u.Id == idRole).Single();
                RoleList.Remove(role);

                UserInRole roleOfUser = RoleOfUserList.Where(u => u.RoleId == idRole && u.UserId == Args.User.Id).Single();
                RoleOfUserList.Remove(roleOfUser);

                RoleNotOfUserCollection.Add(role);
                RoleNotOfUserList.Add(roleOfUser);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 删除命令
        /// </summary>
        /// <returns></returns>
        public override void ExecuteDelete()
        {
            if (SelectedRole != null)
            {
                if (SelectedRole.Name == "管理员" && SelectedRole.Name == "超级管理员")
                {
                    System.Windows.MessageBox.Show("管理员信息不得删除");
                    return;
                }

                UserInfoBLL bll = new UserInfoBLL();
                if (bll.DeleteRoleInfo(SelectedRole))
                {
                    RoleList.Remove(SelectedRole);
                    SelectedRole = null;
                }
            }
        }
Esempio n. 3
0
        private void OnUserChanged(Models.User user)
        {
            var roleDescriptionList = Enum.GetValues(typeof(Role)).Cast <Role>().Select(x => EnumHelper.GetDescription(x)).ToList();

            foreach (var role in roleDescriptionList)
            {
                if (!User.Roles.Any(x => x.Equals(role, StringComparison.OrdinalIgnoreCase)))
                {
                    RoleList.Add(role);
                }
            }

            var userRole = RoleList.SingleOrDefault(x => x.Equals("user", StringComparison.OrdinalIgnoreCase));

            if (userRole != null)
            {
                RoleList.Remove(userRole);
                User.Roles.Add(userRole);
            }
        }
Esempio n. 4
0
 public void RemoveRole(Role role)
 {
     //避免多线程同时修改list.
     lock (RoleList)
     {
         if (!RoleList.Contains(role))
         {
             return;
         }
         RoleTempData roleTempData = role.roleTempData;
         roleTempData.room   = null;
         roleTempData.status = EnumRoleStatus.None;
         roleTempData.Camp   = 1;
         RoleList.Remove(role);
         //如果玩家当前是房主,那么退出的时候更新房主信息。
         if (roleTempData.isOwner)
         {
             UpdateOwner();
             roleTempData.isOwner = false;
         }
     }
 }