private void UpdateSpecial(GroupAssociation association)
 {
     if (!string.IsNullOrEmpty(v_Editing_v_ByGroup_cb_Group.Text))
     {
         association.ItemType = (GroupType)Enum.Parse(typeof(GroupType), v_Editing_v_ByGroup_cb_Group.Text);
     }
 }
        public void Execute(ClientContext ctx, string groupTitle, GroupAssociation association)
        {
            Logger.Verbose($"Started executing {nameof(SetDefaultGroupAssociation)} for group '{groupTitle}' on web '{ctx.Url}'");

            var web = ctx.Web;
            var groups = web.SiteGroups;
            ctx.Load(groups);
            ctx.ExecuteQuery();

            var group = groups.SingleOrDefault(g => g.Title == groupTitle);
            if (group == null)
            {
                throw new InvalidOperationException($"Group '{groupTitle}' not found");
            }

            switch (association)
            {
                case GroupAssociation.None:
                    throw new InvalidOperationException("None is an invalid group association");
                case GroupAssociation.OwnerGroup:
                    web.AssociatedOwnerGroup = group;
                    break;
                case GroupAssociation.MemberGroup:
                    web.AssociatedMemberGroup = group;
                    break;
                case GroupAssociation.VisitorGroup:
                    web.AssociatedVisitorGroup = group;
                    break;
                default:
                    throw new NotSupportedException($"Unsupported enum option: {association}");
            }
            web.Update();
            ctx.ExecuteQuery();
        }
 public bool GetBySPId(int spId, out IEnumerable<GroupAssociation> groupAssociationsBySPId)
 {
     if (_groupAssociationsBySPId.ContainsKey(spId))
     {
         groupAssociationsBySPId = _groupAssociationsBySPId[spId];
         return true;
     }
     else
     {
         groupAssociationsBySPId = new GroupAssociation[0];
         return false;
     }
 }
Exemplo n.º 4
0
 public bool GetBySPId(int spId, out IEnumerable <GroupAssociation> groupAssociationsBySPId)
 {
     if (_groupAssociationsBySPId.ContainsKey(spId))
     {
         groupAssociationsBySPId = _groupAssociationsBySPId[spId];
         return(true);
     }
     else
     {
         groupAssociationsBySPId = new GroupAssociation[0];
         return(false);
     }
 }
 private void DisplaySpecial(GroupAssociation association)
 {
     if (Edit)
     {
         v_Editing_mv_Types.SetActiveView(v_Editing_v_ByGroup);
         v_Editing_v_ByGroup_cb_Group.SelectedIndex = GroupTypes.IndexOf(association.ItemType.ToString());
     }
     else
     {
         v_Displaing_mv_Types.SetActiveView(v_Displaying_v_ByGroup);
         v_Displaying_v_ByGroup_lbl_Group.Text = association.ItemType.ToString();
     }
 }
Exemplo n.º 6
0
        public void GroupAssociation_Constructor()
        {
            var groupAssociation = new GroupAssociation(
                FakeObjects.TestTeamWithId(),
                FakeObjects.TestProjectWithId(),
                FakeObjects.TestUserWithId(),
                FakeValues.CreatedDateTime
                );

            Assert.AreEqual(FakeObjects.TestTeamWithId().Id, groupAssociation.ParentGroup.Id);
            Assert.AreEqual(FakeObjects.TestProjectWithId().Id, groupAssociation.ChildGroup.Id);
            Assert.AreEqual(FakeValues.CreatedDateTime, groupAssociation.CreatedDateTime);
            Assert.AreEqual(FakeObjects.TestUserWithId().Id, groupAssociation.CreatedByUserId);
        }
        public void GroupAssociation_Constructor()
        {
            var groupAssociation = new GroupAssociation(
                FakeObjects.TestTeamWithId(),
                FakeObjects.TestProjectWithId(),
                FakeObjects.TestUserWithId(),
                FakeValues.CreatedDateTime
                );

            Assert.AreEqual(FakeObjects.TestTeamWithId().Id, groupAssociation.ParentGroup.Id);
            Assert.AreEqual(FakeObjects.TestProjectWithId().Id, groupAssociation.ChildGroup.Id);
            Assert.AreEqual(FakeValues.CreatedDateTime, groupAssociation.CreatedDateTime);
            Assert.AreEqual(FakeObjects.TestUserWithId().Id, groupAssociation.CreatedByUserId);
        }
        public void Add(GroupAssociation groupAssociation)
        {
            HashSet<GroupAssociation> groupAssociations;

            if (_groupAssociationsBySPId.ContainsKey(groupAssociation.Group.GroupSPID))
            {
                groupAssociations = _groupAssociationsBySPId[groupAssociation.Group.GroupSPID];
            }
            else
            {
                groupAssociations = new HashSet<GroupAssociation>();
                _groupAssociationsBySPId[groupAssociation.Group.GroupSPID] = groupAssociations;
            }

            if (!groupAssociations.Contains(groupAssociation))
            {
                groupAssociations.Add(groupAssociation);
            }
        }
Exemplo n.º 9
0
        public void Add(GroupAssociation groupAssociation)
        {
            HashSet <GroupAssociation> groupAssociations;

            if (_groupAssociationsBySPId.ContainsKey(groupAssociation.Group.GroupSPID))
            {
                groupAssociations = _groupAssociationsBySPId[groupAssociation.Group.GroupSPID];
            }
            else
            {
                groupAssociations = new HashSet <GroupAssociation>();
                _groupAssociationsBySPId[groupAssociation.Group.GroupSPID] = groupAssociations;
            }

            if (!groupAssociations.Contains(groupAssociation))
            {
                groupAssociations.Add(groupAssociation);
            }
        }
Exemplo n.º 10
0
        public void Execute(ClientContext ctx, string groupTitle, GroupAssociation association)
        {
            Logger.Verbose($"Started executing {nameof(SetDefaultGroupAssociation)} for group '{groupTitle}' on web '{ctx.Url}'");

            var web    = ctx.Web;
            var groups = web.SiteGroups;

            ctx.Load(groups);
            ctx.ExecuteQuery();

            var group = groups.SingleOrDefault(g => g.Title == groupTitle);

            if (group == null)
            {
                throw new InvalidOperationException($"Group '{groupTitle}' not found");
            }

            switch (association)
            {
            case GroupAssociation.None:
                throw new InvalidOperationException("None is an invalid group association");

            case GroupAssociation.OwnerGroup:
                web.AssociatedOwnerGroup = group;
                break;

            case GroupAssociation.MemberGroup:
                web.AssociatedMemberGroup = group;
                break;

            case GroupAssociation.VisitorGroup:
                web.AssociatedVisitorGroup = group;
                break;

            default:
                throw new NotSupportedException($"Unsupported enum option: {association}");
            }
            web.Update();
            ctx.ExecuteQuery();
        }
        /// <summary>
        /// Creates the GroupAssociation
        /// </summary>
        /// <param name="groupId">The ID of the Group object</param>
        internal void CreateGroupAssociation(int groupId)
        {
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (IGlymaSession glymaSession = new WebAppSPGlymaSession(Context.WebUrl))
                {
                    using (IDbConnectionAbstraction connectionAbstraction = glymaSession.ConnectionFactory.CreateSecurityDbConnection())
                    {
                        using (SecurityServiceDataContext dataContext = new SecurityServiceDataContext(connectionAbstraction.Connection))
                        {
                            SecurableContext securableContext = Context.GetSecurableContext();
                            int securableContextId = securableContext.SecurableContextId;

                            GroupAssociation groupAssociation = new GroupAssociation();
                            groupAssociation.GroupId = groupId;
                            groupAssociation.SecurableContextId = securableContextId;
                            if (SecurableObject.SecurableParentUid != Guid.Empty)
                            {
                                //group association is for a root map (not a project)
                                groupAssociation.SecurableParentUid = SecurableObject.SecurableParentUid;
                            }
                            groupAssociation.SecurableObjectUid = SecurableObject.SecurableObjectUid;
                            dataContext.GroupAssociations.InsertOnSubmit(groupAssociation);
                            dataContext.SubmitChanges();
                        }
                    }
                }
            });
        }