コード例 #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
        public override void CopyFrom(IProperty srcRootProperty)
        {
            IPropertyContainer propertyContainer = srcRootProperty as IPropertyContainer;

            if (propertyContainer == null)
            {
                throw new UnexpectedTypeException("IPropertyContainer", srcRootProperty);
            }
            propertyContainer.SetCopyDestination(this);
            foreach (IProperty property in propertyContainer.Children)
            {
                if (property.State != PropertyState.NotSupported)
                {
                    AirSyncProperty propBySchemaLinkId = this.GetPropBySchemaLinkId(property.SchemaLinkId);
                    if (propBySchemaLinkId is IDataObjectGeneratorContainer)
                    {
                        ((IDataObjectGeneratorContainer)propBySchemaLinkId).SchemaState = this.schemaState;
                        ((IDataObjectGeneratorContainer)property).SchemaState           = ((IDataObjectGeneratorContainer)srcRootProperty).SchemaState;
                    }
                    this.missingPropStrategy.ExecuteCopyProperty(property, propBySchemaLinkId);
                }
            }
            foreach (IProperty property2 in propertyContainer.Children)
            {
                if (property2.State != PropertyState.NotSupported)
                {
                    AirSyncProperty propBySchemaLinkId2 = this.GetPropBySchemaLinkId(property2.SchemaLinkId);
                    if (propBySchemaLinkId2 != null && propBySchemaLinkId2.PostProcessingDelegate != null)
                    {
                        propBySchemaLinkId2.PostProcessingDelegate(property2, this.Children);
                        propBySchemaLinkId2.PostProcessingDelegate = null;
                    }
                }
            }
        }
コード例 #3
0
        // Token: 0x06001384 RID: 4996 RVA: 0x000706FC File Offset: 0x0006E8FC
        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)
            {
                RecipientInfoCacheProperty recipientInfoCacheProperty = (RecipientInfoCacheProperty)this.propertyFromSchemaLinkId[property.SchemaLinkId];
                recipientInfoCacheProperty.CopyFrom(property);
            }
        }
コード例 #4
0
        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)
            {
                if (property.State != PropertyState.NotSupported && property.State != PropertyState.Unmodified && property.State != PropertyState.SetToDefault)
                {
                    EntityProperty entityProperty = (EntityProperty)this.propertyFromSchemaLinkId[property.SchemaLinkId];
                    if (entityProperty.Type != PropertyType.ReadOnly && entityProperty.State != PropertyState.NotSupported)
                    {
                        entityProperty.CopyFrom(property);
                    }
                }
            }
        }