protected void usUsers_OnItemsSelected(object sender, EventArgs e) { // Remove old items string newValues = ValidationHelper.GetString(usUsers.Value, null); string items = DataHelper.GetNewItemsInList(newValues, CurrentValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to site foreach (string item in newItems) { int userID = ValidationHelper.GetInteger(item, 0); if (BoardID > 0) { // Remove message board from board ModuleCommands.MessageBoardRemoveModeratorFromBoard(userID, BoardID); } else if (Node != null) { UserInfo ui = UserInfoProvider.GetUserInfo(userID); if (ui != null) { // Remove user from treenode AclItemInfoProvider.RemoveUser(NodeID, ui); } } else if (ForumID > 0) { // Remove user from forum moderators ModuleCommands.ForumsRemoveForumModerator(userID, ForumID); } } } } // Add new items items = DataHelper.GetNewItemsInList(CurrentValues, newValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to site foreach (string item in newItems) { int userID = ValidationHelper.GetInteger(item, 0); if (BoardID > 0) { // Add user to the message board ModuleCommands.MessageBoardAddModeratorToBoard(userID, BoardID); } else if (Node != null) { UserInfo ui = UserInfoProvider.GetUserInfo(userID); if (ui != null) { // Remove user from treenode AclItemInfoProvider.SetUserPermissions(Node, 0, 0, ui); } } else if (ForumID > 0) { // Add user to the forum moderators ModuleCommands.ForumsAddForumModerator(userID, ForumID); } } } } // Log synchronization task if (Node != null) { DocumentSynchronizationHelper.LogDocumentChange(Node, TaskTypeEnum.UpdateDocument, Node.TreeProvider); } RaiseOnChanged(); }