public static DataTable GenerateClientPermissionDataSource(object clientPermission)
        {
            AutomatedObjectPicker automatedObjectPicker = new AutomatedObjectPicker("PublicFolderClientPermissionConfigurable");
            DataTable             dataTable             = automatedObjectPicker.ObjectPickerProfile.DataTable.Clone();
            List <object>         list = clientPermission as List <object>;

            if (list != null)
            {
                list.RemoveAll(delegate(object entry)
                {
                    PublicFolderUserId user = (entry as PublicFolderClientPermissionEntry).User;
                    return(user.ActiveDirectoryIdentity == null && !user.IsAnonymous && !user.IsDefault);
                });
                foreach (object obj in list)
                {
                    PublicFolderClientPermissionEntry publicFolderClientPermissionEntry = (PublicFolderClientPermissionEntry)obj;
                    ADObjectId identity = PublicFolderClientPermissionHelper.ConvertUserToAdObjectId(publicFolderClientPermissionEntry.User);
                    string     name     = (publicFolderClientPermissionEntry.User.ActiveDirectoryIdentity != null) ? publicFolderClientPermissionEntry.User.ActiveDirectoryIdentity.Name : publicFolderClientPermissionEntry.User.ToString();
                    PublicFolderClientPermissionHelper.AddEntry(dataTable, identity, name, publicFolderClientPermissionEntry.AccessRights);
                }
                dataTable.DefaultView.Sort = "Identity asc";
                dataTable.AcceptChanges();
            }
            return(dataTable);
        }
Exemple #2
0
        public ConnectionToRemotePSServerControl(Icon icon)
        {
            this.InitializeComponent();
            base.HelpTopic       = HelpId.ConnectionToRemotePSServerControlProperty.ToString();
            this.titleLabel.Text = Strings.ConnectToPSServerDescription;
            this.automaticallyRadioButton.Text = Strings.AutomaticallySelectedText;
            this.manualRadioButton.Text        = Strings.ManuallySelectedText;
            this.userInfo.Text = Strings.AccountNameText;
            this.ObjectIcon    = icon;
            this.modifiedInfo  = null;
            base.Header.DataBindings.Add("Text", base.BindingSource, "DisplayName");
            base.Header.CanChangeHeaderText = false;
            base.BindingSource.DataSource   = typeof(PSRemoteServer);
            this.automaticallyRadioButton.DataBindings.Add("Checked", base.BindingSource, "AutomaticallySelect", true, DataSourceUpdateMode.OnPropertyChanged);
            this.manualRadioButton.DataBindings.Add("Checked", base.BindingSource, "AutomaticallySelect", true, DataSourceUpdateMode.Never).Format += delegate(object sender, ConvertEventArgs e)
            {
                e.Value = !(bool)e.Value;
            };
            AutomatedObjectPicker automatedObjectPicker = new AutomatedObjectPicker("ExchangeServerConfigurable");

            automatedObjectPicker.InputValue("MinVersion", 14);
            automatedObjectPicker.InputValue("DesiredServerRoleBitMask", ServerRole.Mailbox | ServerRole.ClientAccess | ServerRole.UnifiedMessaging | ServerRole.HubTransport);
            automatedObjectPicker.InputValue("ExactVersion", this.GetExchangeVersion());
            this.pickerLauncherTextBox.Picker      = automatedObjectPicker;
            this.pickerLauncherTextBox.ValueMember = "Fqdn";
            this.pickerLauncherTextBox.DataBindings.Add("SelectedValue", base.BindingSource, "RemotePSServer", true, DataSourceUpdateMode.OnPropertyChanged);
            this.pickerLauncherTextBox.DataBindings.Add("Enabled", this.manualRadioButton, "Checked", true, DataSourceUpdateMode.Never);
        }