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