int UpdatePortalGroup(PortalGroupInfo portalGroup) { UserCopiedCallback callback = delegate { }; var @group = PortalGroupController.GetPortalGroups().Single(g => g.PortalGroupId == portalGroup.PortalGroupId); @group.PortalGroupName = portalGroup.PortalGroupName; @group.AuthenticationDomain = portalGroup.AuthenticationDomain; @group.PortalGroupDescription = portalGroup.Description; PortalGroupController.UpdatePortalGroup(@group); var currentPortals = PortalsOfGroup(portalGroup.PortalGroupId, portalGroup.MasterPortal.PortalId).ToList(); foreach (var portal in currentPortals) { if (portalGroup.Portals == null || portalGroup.Portals.All(p => p.PortalId != portal.PortalID)) { PortalGroupController.RemovePortalFromGroup(portal, @group, false, callback); } } if (portalGroup.Portals != null) { foreach (var portal in portalGroup.Portals) { if (currentPortals.All(p => p.PortalID != portal.PortalId)) { var p = new PortalController().GetPortal(portal.PortalId); PortalGroupController.AddPortalToGroup(p, @group, callback); } } } return(@group.PortalGroupId); }
public static int UpdatePortalGroup(Components.PortalGroupInfo portalGroup) { PortalGroupController portalGroupController = new PortalGroupController(); UserCopiedCallback callback = delegate { }; var g = portalGroupController.GetPortalGroups().Single(pg => pg.PortalGroupId == portalGroup.PortalGroupId); g.PortalGroupName = portalGroup.PortalGroupName; g.AuthenticationDomain = portalGroup.AuthenticationDomain; g.PortalGroupDescription = portalGroup.Description; portalGroupController.UpdatePortalGroup(g); var currentPortals = PortalsOfGroup(portalGroup.PortalGroupId, portalGroup.MasterPortal.PortalID).ToList(); foreach (var portal in currentPortals) { if (portalGroup.Portals == null || portalGroup.Portals.All(p => p.PortalID != portal.PortalID)) { portalGroupController.RemovePortalFromGroup(portal, g, false, callback); } } if (portalGroup.Portals != null) { foreach (var portal in portalGroup.Portals) { if (currentPortals.All(p => p.PortalID != portal.PortalID)) { var p = new PortalController().GetPortal(portal.PortalID); portalGroupController.AddPortalToGroup(p, g, callback); } } } return(g.PortalGroupId); }
public void AddPortalToGroup(PortalInfo portal, PortalGroupInfo portalGroup, UserCopiedCallback callback) { 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); OnAddPortalToGroupStart(callback, portal); var users = UserController.GetUsers(portal.PortalID); var masterUsers = UserController.GetUsers(portalGroup.MasterPortalId); var totalUsers = users.Count + masterUsers.Count; var userNo = 0; if (users.Count > 0) { var masterPortal = _portalController.GetPortal(portalGroup.MasterPortalId); foreach (UserInfo user in users) { userNo += 1; //move user to master portal UserController.CopyUserToPortal(user, masterPortal, true, true); OnUserAddedToSiteGroup(callback, portal, user, totalUsers, userNo); } } if (masterUsers.Count > 0) { var autoAssignRoles = TestableRoleController.Instance.GetRoles(portal.PortalID, role => role.AutoAssignment && role.Status == RoleStatus.Approved); foreach (UserInfo user in masterUsers) { userNo += 1; foreach (var autoAssignRole in autoAssignRoles) { var roleController = new RoleController(); roleController.AddUserRole(portalGroup.MasterPortalId, user.UserID, autoAssignRole.RoleID, Null.NullDate, Null.NullDate); } OnUserAddedToSiteGroup(callback, portal, user, totalUsers, userNo); } } OnAddPortalToGroupFinishing(callback, portal, users.Count); RemoveProfileDefinitions(portal); //Add portal to group portal.PortalGroupID = portalGroup.PortalGroupId; _portalController.UpdatePortalInfo(portal); OnAddPortalToGroupFinished(callback, portal, portalGroup, users.Count); }
public void AddPortalToGroup(PortalInfo portal, PortalGroupInfo portalGroup, UserCopiedCallback callback) { 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); this.OnAddPortalToGroupStart(callback, portal); var users = UserController.GetUsers(portal.PortalID); var masterUsers = UserController.GetUsers(portalGroup.MasterPortalId); var totalUsers = users.Count + masterUsers.Count; var userNo = 0; if (users.Count > 0) { var masterPortal = this._portalController.GetPortal(portalGroup.MasterPortalId); foreach (UserInfo user in users) { userNo += 1; UserController.MoveUserToPortal(user, masterPortal, true); this.OnUserAddedToSiteGroup(callback, portal, user, totalUsers, userNo); } } if (masterUsers.Count > 0) { var autoAssignRoles = RoleController.Instance.GetRoles( portal.PortalID, role => role.AutoAssignment && role.Status == RoleStatus.Approved); foreach (UserInfo user in masterUsers) { userNo += 1; foreach (var autoAssignRole in autoAssignRoles) { RoleController.Instance.AddUserRole(portalGroup.MasterPortalId, user.UserID, autoAssignRole.RoleID, RoleStatus.Approved, false, Null.NullDate, Null.NullDate); } this.OnUserAddedToSiteGroup(callback, portal, user, totalUsers, userNo); } } this.OnAddPortalToGroupFinishing(callback, portal, users.Count); this.RemoveProfileDefinitions(portal); // Add portal to group portal.PortalGroupID = portalGroup.PortalGroupId; PortalController.Instance.UpdatePortalInfo(portal); this.LogEvent(EventLogController.EventLogType.PORTAL_ADDEDTOPORTALGROUP, portalGroup, portal); this.OnAddPortalToGroupFinished(callback, portal, portalGroup, users.Count); }
public static void Delete(int portalGroupId) { PortalGroupController portalGroupController = new PortalGroupController(); UserCopiedCallback callback = delegate { }; var group = portalGroupController.GetPortalGroups().Single(g => g.PortalGroupId == portalGroupId); List <Components.PortalGroupInfo> item = SiteGroups().Where(p => p.PortalGroupId == portalGroupId).ToList(); foreach (var portal in PortalsOfGroup(item[0].PortalGroupId, item[0].MasterPortal.PortalID).ToList()) { if (item[0].Portals != null || item[0].Portals.All(p => p.PortalID == portal.PortalID)) { portalGroupController.RemovePortalFromGroup(portal, group, false, callback); } } portalGroupController.DeletePortalGroup(group); }
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); }
int AddPortalGroup(PortalGroupInfo portalGroup) { UserCopiedCallback callback = delegate { }; var group = new DotNetNuke.Entities.Portals.PortalGroupInfo { AuthenticationDomain = portalGroup.AuthenticationDomain, MasterPortalId = portalGroup.MasterPortal.PortalId, PortalGroupDescription = portalGroup.Description, PortalGroupName = portalGroup.PortalGroupName }; PortalGroupController.AddPortalGroup(@group); if (portalGroup.Portals != null) { foreach (var portal in portalGroup.Portals) { var p = new PortalController().GetPortal(portal.PortalId); PortalGroupController.AddPortalToGroup(p, @group, callback); } } return(@group.PortalGroupId); }
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); }