示例#1
0
        // Token: 0x0600146B RID: 5227 RVA: 0x00076140 File Offset: 0x00074340
        public override void CopyFrom(IProperty srcRootProperty)
        {
            IPropertyContainer propertyContainer = srcRootProperty as IPropertyContainer;

            if (propertyContainer == null)
            {
                throw new ArgumentNullException("srcPropertyContainer");
            }
            propertyContainer.SetCopyDestination(this);
            foreach (IProperty property in propertyContainer.Children)
            {
                XsoProperty xsoProperty = this.GetPropBySchemaLinkId(property.SchemaLinkId) as XsoProperty;
                if (xsoProperty.Type != PropertyType.ReadOnly && xsoProperty.State != PropertyState.NotSupported)
                {
                    if (xsoProperty is IDataObjectGeneratorContainer)
                    {
                        ((IDataObjectGeneratorContainer)xsoProperty).SchemaState = this.schemaState;
                        ((IDataObjectGeneratorContainer)property).SchemaState    = ((IDataObjectGeneratorContainer)propertyContainer).SchemaState;
                    }
                    xsoProperty.CopyFrom(property);
                }
            }
            foreach (IProperty property2 in propertyContainer.Children)
            {
                XsoProperty xsoProperty2 = this.GetPropBySchemaLinkId(property2.SchemaLinkId) as XsoProperty;
                if (xsoProperty2 != null && xsoProperty2.Type != PropertyType.ReadOnly && xsoProperty2.State != PropertyState.NotSupported && xsoProperty2.PostProcessingDelegate != null)
                {
                    xsoProperty2.PostProcessingDelegate(property2, this.Children);
                    xsoProperty2.PostProcessingDelegate = null;
                }
            }
        }
示例#2
0
        // Token: 0x06001461 RID: 5217 RVA: 0x00075EBC File Offset: 0x000740BC
        public XsoDataObject(IList <IProperty> propertyFromSchemaLinkId, IXsoDataObjectGenerator schemaState, QueryFilter supportedClassFilter)
        {
            if (propertyFromSchemaLinkId == null)
            {
                throw new ArgumentNullException("propertyFromSchemaLinkId");
            }
            int num = 0;

            foreach (IProperty property in propertyFromSchemaLinkId)
            {
                XsoProperty          xsoProperty = (XsoProperty)property;
                PropertyDefinition[] array       = xsoProperty.GetPrefetchProperties();
                if (array != null)
                {
                    num += xsoProperty.GetPrefetchProperties().Length;
                }
            }
            this.prefetchProperties = new PropertyDefinition[num];
            int num2 = 0;

            foreach (IProperty property2 in propertyFromSchemaLinkId)
            {
                XsoProperty          xsoProperty2 = (XsoProperty)property2;
                PropertyDefinition[] array2       = xsoProperty2.GetPrefetchProperties();
                if (array2 != null)
                {
                    array2.CopyTo(this.prefetchProperties, num2);
                    num2 += array2.Length;
                }
            }
            this.propertyFromSchemaLinkId = propertyFromSchemaLinkId;
            this.schemaState          = schemaState;
            this.supportedClassFilter = supportedClassFilter;
        }
示例#3
0
 // Token: 0x06001466 RID: 5222 RVA: 0x00075FE4 File Offset: 0x000741E4
 public void Bind(object item)
 {
     this.areChildPropertyStatesSet = false;
     foreach (IProperty property in this.propertyFromSchemaLinkId)
     {
         XsoProperty xsoProperty = (XsoProperty)property;
         xsoProperty.Bind((StoreObject)item);
     }
 }
示例#4
0
 // Token: 0x0600146A RID: 5226 RVA: 0x000760E4 File Offset: 0x000742E4
 public void SetCopyDestination(IPropertyContainer dstPropertyContainer)
 {
     if (!this.areChildPropertyStatesSet)
     {
         foreach (IProperty property in this.propertyFromSchemaLinkId)
         {
             XsoProperty xsoProperty = (XsoProperty)property;
             xsoProperty.ComputePropertyState();
         }
     }
 }
示例#5
0
 // Token: 0x06001467 RID: 5223 RVA: 0x00076044 File Offset: 0x00074244
 public override void Unbind()
 {
     try
     {
         this.areChildPropertyStatesSet = false;
         foreach (IProperty property in this.propertyFromSchemaLinkId)
         {
             XsoProperty xsoProperty = (XsoProperty)property;
             xsoProperty.Unbind();
         }
     }
     finally
     {
         base.Unbind();
     }
 }
 // Token: 0x060013A1 RID: 5025 RVA: 0x00070F9C File Offset: 0x0006F19C
 public void SetChangedProperties(PropertyDefinition[] changedProperties)
 {
     if (changedProperties == null)
     {
         return;
     }
     if (changedProperties != SyncCollection.ReadFlagChangedOnly)
     {
         throw new ArgumentException("The only acceptable value for changedProperties is SyncCollection.ReadFlagChangedOnly", "changedProperties");
     }
     foreach (IProperty property in this.propertyFromSchemaLinkId)
     {
         XsoProperty xsoProperty = (XsoProperty)property;
         if (xsoProperty.StorePropertyDefinition == changedProperties[0])
         {
             this.propertyList[0].State        = PropertyState.Modified;
             this.propertyList[0].SchemaLinkId = xsoProperty.SchemaLinkId;
             break;
         }
     }
 }
示例#7
0
 // Token: 0x0600146C RID: 5228 RVA: 0x0007628C File Offset: 0x0007448C
 public void SetChangedProperties(PropertyDefinition[] changedProperties)
 {
     if (changedProperties == null)
     {
         return;
     }
     this.areChildPropertyStatesSet = true;
     for (int i = 0; i < changedProperties.Length; i++)
     {
         foreach (IProperty property in this.propertyFromSchemaLinkId)
         {
             XsoProperty xsoProperty = (XsoProperty)property;
             if (xsoProperty.StorePropertyDefinition == changedProperties[i])
             {
                 xsoProperty.State = PropertyState.Modified;
             }
             else
             {
                 xsoProperty.State = PropertyState.Unmodified;
             }
         }
     }
 }