Exemplo n.º 1
0
        private void Search(string name, string domain, MemberTypeFilter filter)
        {
            var groupInfo = new GroupMembershipDto()
            {
                Groups = new List <GroupDto> (), Users = new List <UserDto>()
            };

            if (filter != MemberTypeFilter.Users)
            {
                ActionHelper.Execute(delegate() {
                    var auth         = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName);
                    var groupInfo1   = SnapInContext.Instance.ServiceGateway.Tenant.Search(ServerDto, TenantName, domain, MemberType.GROUP, SearchType.NAME, auth.Token, name);
                    groupInfo.Groups = groupInfo1.Groups;
                });
            }

            if (filter != MemberTypeFilter.Groups)
            {
                ActionHelper.Execute(delegate() {
                    var auth        = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName);
                    var groupInfo2  = SnapInContext.Instance.ServiceGateway.Tenant.Search(ServerDto, TenantName, domain, MemberType.USER, SearchType.NAME, auth.Token, name);
                    groupInfo.Users = groupInfo2.Users;
                });
            }
            var listView = new GroupMembershipDataSource {
                Groups = groupInfo.Groups, Users = groupInfo.Users
            };

            if (listView.Groups == null)
            {
                listView.Groups = new List <GroupDto> ();
            }

            if (listView.Users == null)
            {
                listView.Users = new List <UserDto> ();
            }

            GroupsTableView.DataSource = listView;
            GroupsTableView.ReloadData();
            WarningLabel.Hidden = (listView.Groups.Count + listView.Users.Count) < 100;
        }
Exemplo n.º 2
0
        private void SearchMembers(string name, string domain, MemberTypeFilter filter)
        {
            lstGroupMembers.Items.Clear();

            if (filter != MemberTypeFilter.Groups)
            {
                var users = _presenter.GetUsers(name, domain);

                if (users != null)
                {
                    foreach (var member in users)
                    {
                        var item = new ListViewItem(member.Name, 4)
                        {
                            Tag = member, ImageIndex = (int)TreeImageIndex.User
                        };
                        lstGroupMembers.Items.Add(item);
                    }
                }
            }

            if (filter != MemberTypeFilter.Users)
            {
                var groups = _presenter.GetGroups(name, domain);
                if (groups != null)
                {
                    foreach (var member in groups)
                    {
                        var item = new ListViewItem(member.GroupName, 5)
                        {
                            Tag = member, ImageIndex = (int)TreeImageIndex.Group
                        };
                        lstGroupMembers.Items.Add(item);
                    }
                }
            }

            lblWarning.Text    = string.Format("Warning: Showing top {0} results. Please specify a more specific search criteria..", lstGroupMembers.Items.Count);
            lblWarning.Visible = lstGroupMembers.Items.Count > 100;
        }