protected void UpdateUserGroup() { MessageDisplay msgdisplay = CreateMessageDisplay(); UserBO Bo = UserBO.Instance; string[] groupIds = StringUtil.Split(_Request.Get("groupids", Method.Post), ','); Guid gid; bool isRemove = false; //bool flagHasNopermissionRole = false ; string noPemissionRoleNames = string.Empty; //foreach (Role r in RoleList) //{ // if (r.IsVirtualRole) continue; // isRemove = false; // if (groupIds != null) // { // foreach (string s in groupIds) // { // gid = new Guid(s); // if (gid == r.RoleID) // { // isRemove = true; // break; // } // } // } // if (isRemove == false) // { // if (user.Roles.IsInRole(r.RoleID)) // Bo.RemoveUserFromRole(My, user.UserID, r.RoleID); // } //} //if (flagHasNopermissionRole == true) //{ // MessageDisplay msgDisplay = CreateMessageDisplay(); // msgDisplay.AddError("没有权限从" + noPemissionRoleNames + " 组添加或移除用户,同时也没有权限设置这些用户组的有效时间"); // noPemissionRoleNames = noPemissionRoleNames.TrimEnd(','); // return; //} foreach (Role r in RoleList) { if (r.IsVirtualRole || !CanChange(r)) { continue; } isRemove = false; if (groupIds != null) { foreach (string s in groupIds) { gid = new Guid(s); if (gid == r.RoleID) { DateTime beginDate = DateTime.MinValue, endDate = DateTime.MaxValue; beginDate = DateTimeUtil.ParseBeginDateTime(_Request.Get("beginDate" + r.RoleID, Method.Post)); endDate = DateTimeUtil.ParseEndDateTime(_Request.Get("endDate" + r.RoleID, Method.Post)); Bo.AddUsersToRole(My, new int[] { user.UserID }, r, beginDate, endDate); isRemove = true; break; } } } if (isRemove == false) { if (user.Roles.IsInRole(r.RoleID)) { Bo.RemoveUserFromRole(My, user.UserID, r.RoleID); } } } }