Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
                    }));
                    
                });
            }

        }
Ejemplo n.º 4
0
        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;
                           }

                       }));

                    
                }
                );

            }

        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 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);
     }                
 }