/// <summary>
        /// SetSharedUserData method implementation
        /// </summary>
        internal void SetSharedUserData(RegistrationList registrations)
        {
            if (usersFormView == null)
            {
                return;
            }
            WritableSharedDataItem shareddata = usersFormView.SharedUserData.GetItem("@adfsmfa_useredit" + seed);

            if (shareddata == null)
            {
                return;
            }
            if (registrations == null)
            {
                registrations = (RegistrationList)this.ParentSheet.SelectionObject;
                if (registrations == null)
                {
                    registrations = new RegistrationList();
                    Registration reg = new Registration();
                    reg.Enabled = true;
                    registrations.Add(reg);
                }
            }
            shareddata.SetData(registrations);
        }
        /// <summary>
        /// GetSharedUserData method implementation
        /// </summary>
        internal MFAUserList GetSharedUserData()
        {
            if (usersFormView == null)
            {
                return(null);
            }
            WritableSharedDataItem shareddata = usersFormView.SharedUserData.GetItem("@adfsmfa_useredit" + seed);

            if (shareddata == null)
            {
                return(new MFAUserList());
            }
            MFAUserList registrations = shareddata.GetData();

            if (registrations == null)
            {
                registrations = (MFAUserList)this.ParentSheet.SelectionObject;
                if (registrations == null)
                {
                    registrations = new MFAUserList();
                    MFAUser reg = new MFAUser
                    {
                        Enabled = true
                    };
                    registrations.Add(reg);
                }
                shareddata.SetData(registrations);
            }
            return(registrations);
        }
        private void selectionService_SelectionChanged(object sender, EventArgs e)
        {
            ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeFormView>(0L, "-->ExchangeFormView.SelectionChanged: {0}", this);
            this.DelayUpdates();
            SelectedObjects    selectedObjects     = new SelectedObjects(this.selectionService.GetSelectedComponents());
            DataObject         selectionDataObject = this.ResultPane.SelectionDataObject;
            WritableSharedData writableSharedData  = new WritableSharedData();
            UnicodeEncoding    unicodeEncoding     = new UnicodeEncoding();

            foreach (string text in selectionDataObject.GetFormats())
            {
                object data = selectionDataObject.GetData(text);
                if (data is string)
                {
                    WritableSharedDataItem writableSharedDataItem = new WritableSharedDataItem(text, false);
                    writableSharedDataItem.SetData(unicodeEncoding.GetBytes(data as string));
                    writableSharedData.Add(writableSharedDataItem);
                    ExTraceGlobals.DataFlowTracer.Information <string, object>(0L, "ExchangeFormView.SelectionChanged: shared data: {0} => {1}", text, data);
                }
                else
                {
                    ExTraceGlobals.DataFlowTracer.Information <string, object>(0L, "ExchangeFormView.SelectionChanged: {0}:{1} is not published to MMC because it is not a string.", text, data);
                }
            }
            if (selectedObjects.Count > 0)
            {
                ExTraceGlobals.DataFlowTracer.Information <int>(0L, "ExchangeFormView.SelectionChanged: selectedComponents.Count:{0}", selectedObjects.Count);
                base.SelectionData.Update(selectedObjects, selectedObjects.Count > 1, ExchangeFormView.emptyGuidArray, writableSharedData);
                base.SelectionData.DisplayName = selectionDataObject.GetText();
                ExTraceGlobals.DataFlowTracer.Information <string>(0L, "ExchangeFormView.SelectionChanged: this.SelectionData.DisplayName:{0}", base.SelectionData.DisplayName);
                base.SelectionData.Description = (selectionDataObject.GetData("Description") as string);
                ExTraceGlobals.DataFlowTracer.Information <string>(0L, "ExchangeFormView.SelectionChanged: this.SelectionData.Description:{0}", base.SelectionData.Description);
                base.SelectionData.HelpTopic = (string.IsNullOrEmpty(this.ResultPane.SelectionHelpTopic) ? base.ScopeNode.HelpTopic : this.ResultPane.SelectionHelpTopic);
                ExTraceGlobals.DataFlowTracer.Information <string>(0L, "ExchangeFormView.SelectionChanged: this.SelectionData.HelpTopic:{0}", base.SelectionData.HelpTopic);
            }
            else
            {
                ExTraceGlobals.DataFlowTracer.Information(0L, "ExchangeFormView.SelectionChanged: clearing selection.");
                base.SelectionData.Clear();
                base.SelectionData.HelpTopic = base.ScopeNode.HelpTopic;
            }
            ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeFormView>(0L, "<--ExchangeFormView.SelectionChanged: {0}", this);
        }
Exemple #4
0
 /// <summary>
 /// When the Apply button is clicked, this method makes the changes take effect.
 /// </summary>
 /// <returns></returns>
 protected override bool OnApply()
 {
     if (this.Dirty)
     {
         if (userPropertiesControl.CanApplyChanges())
         {
             if (isnew)
             {
                 List <MMCRegistration> reg = new List <MMCRegistration>();
                 if (usersFormView.SelectionData.SharedData.GetItem("@adfsmfanewuser") == null)
                 {
                     reg.Add(new MMCRegistration());
                     userPropertiesControl.GetUserControlData(reg);
                     WritableSharedDataItem sh = new WritableSharedDataItem("@adfsmfanewuser", false);
                     sh.SetData(reg[0]);
                     usersFormView.SelectionData.SharedData.Add(sh);
                 }
                 else if (usersFormView != null)
                 {
                     WritableSharedDataItem sh  = usersFormView.SelectionData.SharedData.GetItem("@adfsmfanewuser");
                     MMCRegistration        res = sh.GetData();
                     reg.Add(res);
                     usersFormView.SelectionData.SharedData.Remove("@adfsmfanewuser");
                     userPropertiesControl.GetUserControlData(reg);
                     usersFormView.AddUserStoreData(reg);
                 }
             }
             else
             {
                 userPropertiesControl.GetUserControlData(this.ParentSheet.SelectionObject);
                 if (usersFormView != null)
                 {
                     usersFormView.SetUserStoreData(this.ParentSheet.SelectionObject);
                 }
             }
         }
         else
         {
             return(false);
         }
     }
     return(true);
 }
        /// <summary>
        /// Manage shortcut menu for selection
        /// </summary>
        /// <param name="status">asynchronous status for updating the console</param>
        protected override void OnSelectionChanged(SyncStatus status)
        {
            if (this.SelectedNodes.Count == 0)
            {
                this.SelectionData.Clear();
            }
            else
            {
                //// store dragged name
                WritableSharedData     writableSharedData     = new WritableSharedData();
                WritableSharedDataItem writableSharedDataItem = new WritableSharedDataItem("DisplayName", false);
                writableSharedDataItem.SetData(Encoding.Unicode.GetBytes(this.SelectedNodes[0].Tag + "\0"));
                writableSharedData.Add(writableSharedDataItem);

                // update context
                this.SelectionData.Update(null, this.SelectedNodes.Count > 1, null, writableSharedData);
                this.SelectionData.EnabledStandardVerbs = StandardVerbs.Copy | StandardVerbs.Paste | StandardVerbs.Refresh;

                //Set SetAllowedClipboardFormatIdsForPaste so that ListView only accepts clipboard objects that support "DisplayName" clipboard format
                this.SelectionData.SetAllowedClipboardFormatIdsForPaste(new string[] { "DisplayName" });
            }
        }
        /// <summary>
        /// Manage shortcut menu for selection  
        /// </summary>
        /// <param name="status">asynchronous status for updating the console</param>
        protected override void OnSelectionChanged(SyncStatus status)
        {
            if (this.SelectedNodes.Count == 0)
            {
                this.SelectionData.Clear();
            }
            else
            {
                //// store dragged name
                WritableSharedData writableSharedData = new WritableSharedData();
                WritableSharedDataItem writableSharedDataItem = new WritableSharedDataItem("DisplayName", false);
                writableSharedDataItem.SetData(Encoding.Unicode.GetBytes(this.SelectedNodes[0].Tag + "\0"));
                writableSharedData.Add(writableSharedDataItem);

                // update context
                this.SelectionData.Update(null, this.SelectedNodes.Count > 1, null, writableSharedData);
                this.SelectionData.EnabledStandardVerbs = StandardVerbs.Copy | StandardVerbs.Paste | StandardVerbs.Refresh;

                //Set SetAllowedClipboardFormatIdsForPaste so that ListView only accepts clipboard objects that support "DisplayName" clipboard format
                this.SelectionData.SetAllowedClipboardFormatIdsForPaste(new string[] { "DisplayName" });
            }
        }