private void OnUserAddedToSiteGroup(UserCopiedCallback callback, PortalInfo portal, UserInfo currentUser, int totalUsers, int currentUserNumber) { if (callback == null) { return; } var args = new UserCopiedEventArgs { TotalUsers = totalUsers, UserNo = currentUserNumber, UserName = currentUser.Username, PortalName = portal.PortalName }; callback(args); }
private void OnAddPortalToGroupStart(UserCopiedCallback callback, PortalInfo portal) { if (callback == null) { return; } var args = new UserCopiedEventArgs { TotalUsers = 0, UserNo = 0, UserName = "", PortalName = portal.PortalName, Stage = "starting" }; callback(args); }
private void OnAddPortalToGroupFinishing(UserCopiedCallback callback, PortalInfo portal, int totalUsers) { if (callback == null) { return; } var args = new UserCopiedEventArgs { TotalUsers = totalUsers, UserNo = totalUsers, UserName = "", PortalName = portal.PortalName, Stage = "finalizing" }; callback(args); }
private void OnAddPortalToGroupFinished(UserCopiedCallback callback, PortalInfo portal, PortalGroupInfo portalGroup, int totalUsers) { if (callback == null) { return; } var args = new UserCopiedEventArgs { TotalUsers = totalUsers, UserNo = totalUsers, UserName = string.Empty, PortalName = portal.PortalName, Stage = "finished", PortalGroupId = portalGroup.PortalGroupId, }; callback(args); }
public void RemovePortalFromGroup(PortalInfo portal, PortalGroupInfo portalGroup, bool copyUsers, UserCopiedCallback callback) { //Argument Contract Requires.NotNull("portal", portal); Requires.PropertyNotNegative("portal", "PortalId", portal.PortalID); Requires.NotNull("portalGroup", portalGroup); Requires.PropertyNotNegative("portalGroup", "PortalGroupId", portalGroup.PortalGroupId); Requires.PropertyNotNegative("portalGroup", "MasterPortalId", portalGroup.MasterPortalId); //Callback to update progress bar var args = new UserCopiedEventArgs { TotalUsers = 0, UserNo = 0, UserName = "", PortalName = portal.PortalName, Stage = "startingremove" }; callback(args); //Remove portal from group DeleteSharedModules(portal); portal.PortalGroupID = -1; _portalController.UpdatePortalInfo(portal); var userNo = 0; if (copyUsers) { var users = UserController.GetUsers(portalGroup.MasterPortalId); foreach (UserInfo masterUser in users) { userNo += 1; //Copy user to portal UserController.CopyUserToPortal(masterUser, portal, false, false); //Callback to update progress bar args = new UserCopiedEventArgs { TotalUsers = users.Count, UserNo = userNo, UserName = masterUser.Username, PortalName = portal.PortalName }; callback(args); } } else { //Get admin users var roleController = new RoleController(); var adminUsers = roleController.GetUsersByRoleName(Null.NullInteger, portal.AdministratorRoleName) .Cast <UserInfo>() .Where(u => roleController.GetUserRole(portal.PortalID, u.UserID, portal.AdministratorRoleId) != null); foreach (var user in adminUsers) { //Copy Administrator to portal UserController.CopyUserToPortal(user, portal, false, false); //Callback to update progress bar args = new UserCopiedEventArgs { TotalUsers = 1, UserNo = ++userNo, UserName = user.Username, PortalName = portal.PortalName }; callback(args); } } //Callback to update progress bar args = new UserCopiedEventArgs { TotalUsers = 1, UserNo = userNo, UserName = "", PortalName = portal.PortalName, Stage = "finishedremove", PortalGroupId = portalGroup.PortalGroupId }; callback(args); }
public void RemovePortalFromGroup(PortalInfo portal, PortalGroupInfo portalGroup, bool copyUsers, UserCopiedCallback callback) { // Argument Contract Requires.NotNull("portal", portal); Requires.PropertyNotNegative("portal", "PortalId", portal.PortalID); Requires.NotNull("portalGroup", portalGroup); Requires.PropertyNotNegative("portalGroup", "PortalGroupId", portalGroup.PortalGroupId); Requires.PropertyNotNegative("portalGroup", "MasterPortalId", portalGroup.MasterPortalId); // Callback to update progress bar var args = new UserCopiedEventArgs { TotalUsers = 0, UserNo = 0, UserName = string.Empty, PortalName = portal.PortalName, Stage = "startingremove", }; callback(args); // Remove portal from group this.DeleteSharedModules(portal); portal.PortalGroupID = -1; PortalController.Instance.UpdatePortalInfo(portal); this.LogEvent(EventLogController.EventLogType.PORTAL_REMOVEDFROMPORTALGROUP, portalGroup, portal); this.CopyPropertyDefinitions(portal.PortalID, portalGroup.MasterPortalId); var userNo = 0; if (copyUsers) { var users = UserController.GetUsers(portalGroup.MasterPortalId); foreach (UserInfo masterUser in users) { userNo += 1; UserController.CopyUserToPortal(masterUser, portal, false); // Callback to update progress bar args = new UserCopiedEventArgs { TotalUsers = users.Count, UserNo = userNo, UserName = masterUser.Username, PortalName = portal.PortalName, }; callback(args); } } else { // Get admin users var adminUsers = RoleController.Instance.GetUsersByRole(Null.NullInteger, portal.AdministratorRoleName) .Where(u => RoleController.Instance.GetUserRole(portal.PortalID, u.UserID, portal.AdministratorRoleId) != null); foreach (var user in adminUsers) { UserController.CopyUserToPortal(user, portal, false); // Callback to update progress bar args = new UserCopiedEventArgs { TotalUsers = 1, UserNo = ++userNo, UserName = user.Username, PortalName = portal.PortalName, }; callback(args); } } // Callback to update progress bar args = new UserCopiedEventArgs { TotalUsers = 1, UserNo = userNo, UserName = string.Empty, PortalName = portal.PortalName, Stage = "finishedremove", PortalGroupId = portalGroup.PortalGroupId, }; callback(args); }
public void AddPortalToGroup(PortalInfo portal, PortalGroupInfo portalGroup, UserCopiedCallback callback) { //Argument Contract Requires.NotNull("portal", portal); Requires.PropertyNotNegative("portal", "PortalId", portal.PortalID); Requires.NotNull("portalGroup", portalGroup); Requires.PropertyNotNegative("portalGroup", "PortalGroupId", portalGroup.PortalGroupId); Requires.PropertyNotNegative("portalGroup", "MasterPortalId", portalGroup.MasterPortalId); var masterPortal = _portalController.GetPortal(portalGroup.MasterPortalId); var users = UserController.GetUsers(portal.PortalID); var masterUsers = UserController.GetUsers(masterPortal.PortalID); var userNo = 0; foreach (UserInfo user in users) { userNo += 1; //move user to master portal UserController.CopyUserToPortal(user, masterPortal, true, true); //Callback to update progress bar var args = new UserCopiedEventArgs { TotalUsers = users.Count + masterUsers.Count, UserNo = userNo, UserName = user.Username, PortalName = portal.PortalName }; callback(args); } var roleController = new RoleController(); //Assign the new portal's roles to master portal users foreach (UserInfo user in masterUsers) { userNo += 1; foreach (var role in TestableRoleController.Instance.GetRoles(portal.PortalID, role => role.AutoAssignment && role.Status == RoleStatus.Approved)) { roleController.AddUserRole(masterPortal.PortalID, user.UserID, role.RoleID, Null.NullDate, Null.NullDate); } //Callback to update progress bar var args = new UserCopiedEventArgs { TotalUsers = users.Count + masterUsers.Count, UserNo = userNo, UserName = user.Username, PortalName = portal.PortalName }; callback(args); } //Remove Profile Definitions foreach (ProfilePropertyDefinition definition in ProfileController.GetPropertyDefinitionsByPortal(portal.PortalID)) { ProfileController.DeletePropertyDefinition(definition); } //Add portal to group portal.PortalGroupID = portalGroup.PortalGroupId; _portalController.UpdatePortalInfo(portal); }