示例#1
0
 protected virtual void StampChangesOnXsoObject(IConfigurable dataObject)
 {
     if (this.Instance != null)
     {
         dataObject.CopyChangesFrom(this.Instance);
     }
 }
        private static void ProvisionDefaultPropertiesImpl(Task task, IConfigurable temporaryObject, IConfigurable dataObject, bool checkProvisioningLayerAvailability)
        {
            if (checkProvisioningLayerAvailability && (ProvisioningLayer.Disabled || !task.IsProvisioningLayerAvailable))
            {
                return;
            }
            ADObject adobject = dataObject as ADObject;
            HashSet <PropertyDefinition> hashSet = null;

            for (int i = 0; i < task.ProvisioningHandlers.Length; i++)
            {
                IConfigurable configurable = null;
                using (new CmdletMonitoredScope(task.CurrentTaskContext.UniqueId, task.ProvisioningHandlers[i].AgentName, "ProvisionDefaultProperties", LoggerHelper.CmdletPerfMonitors))
                {
                    configurable = task.ProvisioningHandlers[i].ProvisionDefaultProperties(temporaryObject);
                }
                task.WriteVerbose(Strings.ProvisionDefaultProperties(i));
                if (configurable != null)
                {
                    if (hashSet == null)
                    {
                        hashSet = ProvisioningLayer.LoadPrefilledProperties(dataObject as ADObject);
                    }
                    ADObject adobject2 = configurable as ADObject;
                    if (adobject2 != null && adobject != null)
                    {
                        foreach (object obj in adobject2.propertyBag.Keys)
                        {
                            PropertyDefinition         propertyDefinition         = (PropertyDefinition)obj;
                            ProviderPropertyDefinition providerPropertyDefinition = propertyDefinition as ProviderPropertyDefinition;
                            if (providerPropertyDefinition != null && !hashSet.Contains(providerPropertyDefinition))
                            {
                                if (ProvisioningLayer.IsPropertyPrefilled(adobject.propertyBag, providerPropertyDefinition))
                                {
                                    throw new ProvisioningException(Strings.PropertyIsAlreadyProvisioned(propertyDefinition.Name, i));
                                }
                                if (task.IsVerboseOn)
                                {
                                    task.WriteVerbose(Strings.PropertyProvisioned(i, propertyDefinition.Name, (adobject2[propertyDefinition] ?? "<null>").ToString()));
                                }
                            }
                        }
                    }
                    dataObject.CopyChangesFrom(configurable);
                    temporaryObject.CopyChangesFrom(configurable);
                }
            }
        }
示例#3
0
 // Token: 0x0600059B RID: 1435 RVA: 0x000155C7 File Offset: 0x000137C7
 protected virtual void StampChangesOn(IConfigurable dataObject)
 {
     dataObject.CopyChangesFrom(this.Instance);
 }