public void GetUserGroups(string userName, Action<List<Data.Group>,Exception> reply) { ClientRequestSucceededEventHandler getGroupSuccessHandler = null; ClientRequestFailedEventHandler getGroupFailureHandler = null; Web website = _client.Web; GroupCollection groupCollection = website.SiteGroups; _client.Load(groupCollection, groups => groups.Include(grps => grps.Title, grps => grps.Id,grps=> grps.Users,grps=>grps.OwnerTitle)); getGroupSuccessHandler = (s, e) => { List<Data.Group> usergroups = new List<Data.Group>(); foreach (Group g in groupCollection) { UserCollection uCol = g.Users; foreach (User u in uCol) { if (u.LoginName.ToLower() == userName.ToLower()) { var g1 = new Data.Group { Id = g.Id, Name = g.Title, IsSelected = true, OriginalIsSelected = true, IsModified = false, IsEnabled = false, OwnerTitle = g.OwnerTitle }; usergroups.Add(g1); } } } reply(usergroups,null); }; getGroupFailureHandler = (s, e) => { Logger.AddLog(_log, e.Exception); reply(null,e.Exception); }; _client.ExecuteQueryAsync(getGroupSuccessHandler, getGroupFailureHandler); }
public GroupViewModel(UserSecurityAdminViewModel model, StringBuilder log,Dispatcher d,string adminGroup) { _parentModel = model; _log = log; _dispatcher = d; CancelCommand = new RelayCommand(CancelAction); CancelCommand.IsEnabled = true; SearchCommand = new RelayCommand(SearchAction); SearchCommand.IsEnabled = true; CreateCommand = new RelayCommand(CreateAction); CreateCommand.IsEnabled = true; EditGroupCommand = new RelayCommand(EditGroupAction); EditGroupCommand.IsEnabled = false; NewGroupCommand = new RelayCommand(NewGroupAction); NewGroupCommand.IsEnabled = false; SaveCommand = new RelayCommand(SaveAction); SaveCommand.IsEnabled = true; _groupServiceAgent = model.UserGroupServiceAgent; GroupPermissionLevels = new ObservableCollection<PermissionLevel>(); NewGroupPermissionLevels = new ObservableCollection<PermissionLevel>(); EditGroupPermissionLevels = new ObservableCollection<PermissionLevel>(); SelectedGroupPermissionLevels = new ObservableCollection<PermissionLevel>(); OriginalSelectedGroupPermissionLevels = new ObservableCollection<PermissionLevel>(); LoadPermissionlevels(); LoadSiteUrls(); _group = new bCheck.Admin.Data.Group(); _peopleServiceAgent = new PeopleEditorServiceAgent(_parentModel._siteURL, log); _adminGroup = adminGroup; LoadDefaultGroupOwner(adminGroup); }
private void SearchGroupAction() { IsError = false; GetGroupUsersCommand.IsEnabled = false; EditGroupCommand.IsEnabled = false; ViewAllPermissionsCommand.IsEnabled = false; if (SearchString.Trim().Length > 0 && !SearchString.Equals(Constants.ALL_GROUPS)) { IsBusy = true; UserGroupServiceAgent.GetFilterGroups(SearchString.Trim(),(groups,e) => { _dispatcher.BeginInvoke(new Action(() => { SearchedGroups.Clear(); if (groups != null && groups.Count > 0) { groups.ForEach(group => { if (group != null) { var g = new Group() { Id = group.Id, Name = group.Title, IsSelected = false, IsModified = false, OwnerTitle = group.OwnerTitle, OnlyAllowMembersViewMembership = group.OnlyAllowMembersViewMembership, AllowMembersEditMembership = group.AllowMembersEditMembership, EditOwner = group.Owner, Description = group.Description, Title = group.Title }; SearchedGroups.Add(g); } }); } else { IsError = true; ErrorMessage = Logger.BuildLogMessageForUser(e, "No groups found!"); } IsGroupsFound = SearchedGroups.Count > 0 ? true : false; if (InnerGroupUsersViewModel != null) { InnerGroupUsersViewModel.IsGroupsFound = SearchedGroups.Count > 0 ? true : false; InnerGroupUsersViewModel.AddUserCommand.IsEnabled = false; InnerGroupUsersViewModel.RemoveUserCommand.IsEnabled = false; } IsBusy = false; })); }); } else // get all groups { IsBusy = true; UserGroupServiceAgent.GetAllGroups((groups,e) => { _dispatcher.BeginInvoke(new Action(() => { SearchedGroups.Clear(); AllGroups.Clear(); if (groups != null && groups.Count > 0) { groups.ForEach(group => { if (group != null) { var g = new Group() { Id = group.Id, Name = group.Title, IsSelected = false, IsModified = false, OwnerTitle = group.OwnerTitle, OnlyAllowMembersViewMembership = group.OnlyAllowMembersViewMembership, AllowMembersEditMembership = group.AllowMembersEditMembership, EditOwner = group.Owner, Description = group.Description, Title = group.Title }; SearchedGroups.Add(g); AllGroups.Add(g); } }); } else { IsError = true; ErrorMessage = Logger.BuildLogMessageForUser(e, "No groups found!"); } IsGroupsFound = SearchedGroups.Count > 0 ? true : false; if (InnerGroupUsersViewModel != null) { InnerGroupUsersViewModel.IsGroupsFound = SearchedGroups.Count > 0 ? true : false; InnerGroupUsersViewModel.AddUserCommand.IsEnabled = false; InnerGroupUsersViewModel.RemoveUserCommand.IsEnabled = false; } IsBusy = false; })); }); } }
private void GetGroupsAction() { bool IsUserGroupsExist = false; IsError = false; if (IsUsersFound && SelectedSearchedUser != null && SelectedSearchedUser.AccountName != null) { IsBusy = true; UpdateUserGroupsCommand.IsEnabled = false; UserGroups.Clear(); UserGroupServiceAgent.GetUserGroups(SelectedSearchedUser.AccountName, (userGroups,oe) => { _dispatcher.BeginInvoke(new Action(() => { //IsBusy = true; UserGroups.Clear(); //if (userGroups != null && userGroups.Count > 0) if (userGroups != null) { IsUserGroupsExist = true; userGroups.ForEach(group => { var igroup = new Group() { Id = group.Id, Name = group.Name, IsEnabled = false, OriginalIsSelected = true, IsSelected = true, IsModified = false, Owner = group.Owner, OwnerTitle = group.OwnerTitle }; UserGroups.Add(igroup); }); UserGroupServiceAgent.GetAllGroups((groups, ie) => { _dispatcher.BeginInvoke(new Action(() => { if (!IsUserGroupsExist) UserGroups.Clear(); if (groups != null && groups.Count > 0) { groups.ForEach(group => { var igroup = new Group() { Id = group.Id, Name = group.Title, IsEnabled = false, OriginalIsSelected = false, IsSelected = false, IsModified = false, EditOwner = group.Owner, OwnerTitle= group.OwnerTitle }; if (IsUserGroupsExist) { GroupComparer comparer = new GroupComparer(); if (!UserGroups.Contains(igroup, comparer)) UserGroups.Add(igroup); } else { UserGroups.Add(igroup); } }); } else { IsError = true; ErrorMessage = Logger.BuildLogMessageForUser(ie, "No groups found!"); } IsBusy = false; })); }); } else { IsError = true; ErrorMessage = Logger.BuildLogMessageForUser(oe, "No groups found!"); IsBusy = false; } })); } ); } }
public void ChangeAllGroupOwners(List<Group> groupCollection,Group ownerGroup,Action<bool, Exception> reply) { ClientRequestSucceededEventHandler SuccessHandler = null; ClientRequestFailedEventHandler FailureHandler = null; SuccessHandler = (s, e) => { reply(true, null); }; FailureHandler = (s, e) => { Logger.AddLog(_log, e.Exception); reply(false, e.Exception); }; foreach (Group ig in groupCollection) { ig.Owner = ownerGroup; ig.Update(); } _client.ExecuteQueryAsync(SuccessHandler,FailureHandler); }
private void NewGroupAction() { Group = new bCheck.Admin.Data.Group(); Group.OwnerTitle = _adminGroup; Group.Owner = _adminGroupInfo; SelectedSiteUrl = Constants.Optional; IsPermissionsEnabled = false; GroupPermissionLevels.Clear(); foreach (PermissionLevel p in NewGroupPermissionLevels) { GroupPermissionLevels.Add(p); } }