public static void ExecuteMethod_ValidateGroupContainerID(string groupId, GroupContainer groupContainer) { if(groupContainer == null) throw new ArgumentNullException("groupContainer"); if(groupContainer.RelativeLocation != "grp/" + groupId + "/AaltoGlobalImpact.OIP/GroupContainer/default") throw new InvalidDataException("Mismatch in group container location relative to group ID"); }
public static void ExecuteMethod_UpdateAccountGroupSummaryContainers(string groupId, GroupContainer groupContainer, string[] accountIDs) { foreach (string accountID in accountIDs) { int retryCount = 3; VirtualOwner accountOwner = new VirtualOwner("acc", accountID); while (retryCount-- > 0) { try { GroupSummaryContainer summaryContainer = GroupSummaryContainer.RetrieveFromOwnerContent(accountOwner, "default"); var groupToUpdate = summaryContainer.GroupCollection.CollectionContent.FirstOrDefault(grp => grp.ID == groupId); if (groupToUpdate != null) { summaryContainer.GroupCollection.CollectionContent.Remove(groupToUpdate); summaryContainer.GroupCollection.CollectionContent.Add(groupContainer.GroupProfile); summaryContainer.StoreInformation(accountOwner); } break; // break while } catch { } } } }
public static GroupContainer GetTarget_GroupInternalContainer(string groupID) { VirtualOwner owner = new VirtualOwner("grp", groupID); var groupContainer = GroupContainer.RetrieveFromOwnerContent(owner, "default"); return(groupContainer); }
public static GroupContainer GetTarget_GroupContainer(TBRGroupRoot groupRoot) { VirtualOwner groupOwner = new VirtualOwner("grp", groupRoot.Group.ID); var groupContainer = GroupContainer.RetrieveFromOwnerContent(groupOwner, "default"); return(groupContainer); }
public static Collaborator GetTarget_Collaborator(GroupContainer groupContainer, string collaboratorID) { var searchSequence = groupContainer.Collaborators.CollectionContent.Union( groupContainer.PendingCollaborators.CollectionContent); return searchSequence.FirstOrDefault(collaborator => collaborator.ID == collaboratorID); }
internal static void Update_GroupContainer_Activities(GroupContainer groupContainer, ActivityCollection localCollection, ActivityCollection masterCollection) { localCollection.CollectionContent = masterCollection.CollectionContent; if (localCollection.OrderFilterIDList == null) { localCollection.OrderFilterIDList = new List <string>(); } }
public static void ExecuteMethod_RemoveCustomUIName(string customUiName, GroupContainer groupContainer) { var profile = groupContainer.GroupProfile; if (profile.CustomUICollection == null) profile.CustomUICollection = new ShortTextCollection(); var customUICollection = groupContainer.GroupProfile.CustomUICollection; customUICollection.CollectionContent.RemoveAll(customUIEntry => customUIEntry.Content == customUiName); }
public static void Execute(UpdateGroupContainersGroupMembershipParameters parameters) { PrepareParameters(parameters); AccountRootAndContainer[] AccountRootsAndContainers = UpdateGroupContainersGroupMembershipImplementation.GetTarget_AccountRootsAndContainers(parameters.GroupRoot); GroupContainer GroupContainer = UpdateGroupContainersGroupMembershipImplementation.GetTarget_GroupContainer(parameters.GroupRoot); UpdateGroupContainersGroupMembershipImplementation.ExecuteMethod_UpdateGroupContainerMembership(parameters.GroupRoot, AccountRootsAndContainers, GroupContainer); UpdateGroupContainersGroupMembershipImplementation.ExecuteMethod_StoreObjects(GroupContainer); }
public static Collaborator GetTarget_Collaborator(GroupContainer groupContainer, string collaboratorID) { var searchSequence = groupContainer.Collaborators.CollectionContent.Union( groupContainer.PendingCollaborators.CollectionContent); return (searchSequence.FirstOrDefault(collaborator => collaborator.ID == collaboratorID)); }
public static void ExecuteMethod_UpdateGroupContainerMembership(TBRGroupRoot groupRoot, AccountRootAndContainer[] accountRootsAndContainers, GroupContainer groupContainer) { string groupID = groupRoot.Group.ID; var collaborators = accountRootsAndContainers. Select(acctR => new { Account = acctR.AccountRoot.Account, AccountContainer = acctR.AccountContainer, Profile = acctR.AccountContainer.AccountModule.Profile, GroupRole = acctR.AccountRoot.Account.GroupRoleCollection.CollectionContent.First( role => role.GroupID == groupID) }); var moderators = collaborators.Where(coll => TBCollaboratorRole.HasModeratorRights(coll.GroupRole.GroupRole)).ToArray(); var pendingCollaborators = collaborators.Where( coll => TBCollaboratorRole.IsRoleStatusValidMember(coll.GroupRole.RoleStatus) == false); var fullCollaborators = collaborators.Where( coll => TBCollaboratorRole.IsRoleStatusValidMember(coll.GroupRole.RoleStatus) == true); groupContainer.GroupProfile.Moderators.CollectionContent.Clear(); groupContainer.GroupProfile.Moderators.CollectionContent. AddRange(moderators. Select(mod => { var moderator = Moderator.CreateDefault(); moderator.ModeratorName = mod.Profile.FirstName + " " + mod.Profile.LastName; return moderator; }).OrderBy(mod => mod.ModeratorName)); groupContainer.Collaborators.CollectionContent.Clear(); groupContainer.Collaborators.CollectionContent.AddRange( fullCollaborators.Select(coll => { Collaborator collaborator = Collaborator.CreateDefault(); collaborator.AccountID = coll.Account.ID; collaborator.CollaboratorName = coll.Profile.FirstName + " " + coll.Profile.LastName; collaborator.Role = coll.GroupRole.GroupRole; return collaborator; }) ); groupContainer.PendingCollaborators.CollectionContent.Clear(); groupContainer.PendingCollaborators.CollectionContent.AddRange( pendingCollaborators.Select(coll => { Collaborator collaborator = Collaborator.CreateDefault(); collaborator.AccountID = coll.Account.ID; collaborator.CollaboratorName = coll.Profile.FirstName + " " + coll.Profile.LastName; collaborator.Role = coll.GroupRole.GroupRole; return collaborator; }) ); }
internal static void Update_GroupContainer_ImageGroupCollection(GroupContainer groupContainer, ImageGroupCollection localCollection, ImageGroupCollection masterCollection) { if (localCollection == null) { groupContainer.ImageGroupCollection = ImageGroupCollection.CreateDefault(); localCollection = groupContainer.ImageGroupCollection; } localCollection.CollectionContent = masterCollection.CollectionContent; if (localCollection.OrderFilterIDList == null) { localCollection.OrderFilterIDList = new List <string>(); } }
public static void Execute(UpdateAccountContainersGroupMembershipParameters parameters) { PrepareParameters(parameters); GroupContainer GroupContainer = UpdateAccountContainersGroupMembershipImplementation.GetTarget_GroupContainer(parameters.GroupRoot); Group Group = UpdateAccountContainersGroupMembershipImplementation.GetTarget_Group(GroupContainer); TBRAccountRoot AccountRoot = UpdateAccountContainersGroupMembershipImplementation.GetTarget_AccountRoot(parameters.AccountID); AccountContainer AccountContainer = UpdateAccountContainersGroupMembershipImplementation.GetTarget_AccountContainer(parameters.AccountID); GroupSummaryContainer GroupSummaryContainer = UpdateAccountContainersGroupMembershipImplementation.GetTarget_GroupSummaryContainer(parameters.AccountID); UpdateAccountContainersGroupMembershipImplementation.ExecuteMethod_UpdateGroupSummaryContainerMemberships(parameters.GroupRoot, Group, AccountRoot, GroupSummaryContainer); UpdateAccountContainersGroupMembershipImplementation.ExecuteMethod_UpdateAccountContainerMemberships(parameters.GroupRoot, Group, GroupSummaryContainer, AccountRoot, AccountContainer); UpdateAccountContainersGroupMembershipImplementation.ExecuteMethod_StoreObjects(AccountContainer, GroupSummaryContainer); }
public static void ExecuteMethod_SetCustomUIName(string customUiName, GroupContainer groupContainer) { var profile = groupContainer.GroupProfile; if (profile.CustomUICollection == null) profile.CustomUICollection = new ShortTextCollection(); var customUICollection = groupContainer.GroupProfile.CustomUICollection; bool hasName = customUICollection.CollectionContent.Count(customUI => customUI.Content == customUiName) > 0; if (hasName) return; customUICollection.CollectionContent.Add(new ShortTextObject { Content = customUiName }); customUICollection.CollectionContent.Sort((x, y) => String.Compare(x.Content, y.Content)); }
public static void ExecuteMethod_StoreObjects(GroupContainer groupContainer) { groupContainer.StoreInformation(); }
public static string[] GetTarget_AccountIDs(GroupContainer groupContainer) { return groupContainer.Collaborators.CollectionContent.Select(collaborator => collaborator.AccountID).ToArray(); }
public static void ExecuteMethod_StoreObjects(TBRGroupRoot groupRoot, GroupContainer groupContainer) { groupRoot.StoreInformation(); groupContainer.StoreInformation(); }
public static void ExecuteMethod_SetGroupInitiatorAccess(TBRGroupRoot groupRoot, GroupContainer groupContainer) { }
public static Group GetTarget_Group(GroupContainer groupContainer) { return groupContainer.GroupProfile; }
public static void ExecuteMethod_UpdateGroupContainerMembership(TBRGroupRoot groupRoot, AccountRootAndContainer[] accountRootsAndContainers, GroupContainer groupContainer) { string groupID = groupRoot.Group.ID; var collaborators = accountRootsAndContainers. Select(acctR => new { Account = acctR.AccountRoot.Account, AccountContainer = acctR.AccountContainer, Profile = acctR.AccountContainer.AccountModule.Profile, GroupRole = acctR.AccountRoot.Account.GroupRoleCollection.CollectionContent.First( role => role.GroupID == groupID) }); var moderators = collaborators.Where(coll => TBCollaboratorRole.HasModeratorRights(coll.GroupRole.GroupRole)).ToArray(); var pendingCollaborators = collaborators.Where( coll => TBCollaboratorRole.IsRoleStatusValidMember(coll.GroupRole.RoleStatus) == false); var fullCollaborators = collaborators.Where( coll => TBCollaboratorRole.IsRoleStatusValidMember(coll.GroupRole.RoleStatus) == true); groupContainer.GroupProfile.Moderators.CollectionContent.Clear(); groupContainer.GroupProfile.Moderators.CollectionContent. AddRange(moderators. Select(mod => { var moderator = Moderator.CreateDefault(); moderator.ModeratorName = mod.Profile.FirstName + " " + mod.Profile.LastName; return(moderator); }).OrderBy(mod => mod.ModeratorName)); groupContainer.Collaborators.CollectionContent.Clear(); groupContainer.Collaborators.CollectionContent.AddRange( fullCollaborators.Select(coll => { Collaborator collaborator = Collaborator.CreateDefault(); collaborator.AccountID = coll.Account.ID; collaborator.CollaboratorName = coll.Profile.FirstName + " " + coll.Profile.LastName; collaborator.Role = coll.GroupRole.GroupRole; return(collaborator); }) ); groupContainer.PendingCollaborators.CollectionContent.Clear(); groupContainer.PendingCollaborators.CollectionContent.AddRange( pendingCollaborators.Select(coll => { Collaborator collaborator = Collaborator.CreateDefault(); collaborator.AccountID = coll.Account.ID; collaborator.CollaboratorName = coll.Profile.FirstName + " " + coll.Profile.LastName; collaborator.Role = coll.GroupRole.GroupRole; return(collaborator); }) ); }
public static Group GetTarget_Group(GroupContainer groupContainer) { return(groupContainer.GroupProfile); }