private void ClearDataSchemaItemFilter(DataSchemaItem item) { if (!item.HasLoadedChildren) { return; } item.SetFilter((DataSchemaItemFilter)null); foreach (DataSchemaItem dataSchemaItem in Enumerable.OfType <DataSchemaItem>((IEnumerable)item.Children)) { this.ClearDataSchemaItemFilter(dataSchemaItem); } }
public void ProcessChildren(DataSchemaItem dataSchemaItem) { DataSchemaNodePath dataSchemaNodePath = dataSchemaItem.DataSchemaNodePath; DataSchemaNode dataSchemaNode = dataSchemaNodePath.Node; bool flag = true; while (dataSchemaNode.IsCollection && dataSchemaNode.CollectionItem != null && dataSchemaNode.CollectionItem.Type != typeof(object)) { dataSchemaNode = dataSchemaNode.CollectionItem; } if (dataSchemaNode.Type == typeof(string) && !(dataSchemaItem.DataSchemaNodePath.Schema is XmlSchema)) { flag = false; } else if (dataSchemaItem.SampleType is SampleBasicType) { flag = false; } else if (dataSchemaNode != dataSchemaNodePath.Node) { SampleCollectionType sampleCollectionType = dataSchemaNodePath.Node.SampleType as SampleCollectionType; if (sampleCollectionType != null && sampleCollectionType.ItemSampleType is SampleBasicType) { flag = false; } } if (flag) { foreach (DataSchemaNode node in dataSchemaNode.Children) { DataSchemaItem dataSchemaItem1 = new DataSchemaItem(dataSchemaNodePath.GetExtendedPath(node), this, this.model, this.itemSelectionContext); dataSchemaItem.AddChild((DataModelItemBase)dataSchemaItem1); } } if (this.lastFilter == null) { return; } dataSchemaItem.SetFilter(this.lastFilter); }