public NetworkControllerMembership(NetworkControllerMembership prototype) : base(prototype) { this._networkDatasetName = prototype.NetworkDatasetName; }
public NetworkControllerMembership(NetworkControllerMembership prototype) : base(prototype) { this._networkDatasetName = prototype.NetworkDatasetName; }
// // CONSTRUCTOR // public ObjectClass(IXPathNavigable path) : base(path) { // Get Navigator XPathNavigator navigator = path.CreateNavigator(); // <OIDFieldName></OIDFieldName> XPathNavigator navigatorOIDFieldName = navigator.SelectSingleNode("OIDFieldName"); if (navigatorOIDFieldName != null) { this._oidFieldName = navigatorOIDFieldName.Value; } // <CLSID></CLSID> XPathNavigator navigatorCLSID = navigator.SelectSingleNode("CLSID"); if (navigatorCLSID != null) { if (!string.IsNullOrEmpty(navigatorCLSID.Value)) { this._clsid = navigatorCLSID.Value; } } // <EXTCLSID></EXTCLSID> XPathNavigator navigatorEXTCLSID = navigator.SelectSingleNode("EXTCLSID"); if (navigatorEXTCLSID != null) { if (!string.IsNullOrEmpty(navigatorEXTCLSID.Value)) { this._extClsid = navigatorEXTCLSID.Value; } } // <AliasName></AliasName> XPathNavigator navigatorAliasName = navigator.SelectSingleNode("AliasName"); if (navigatorAliasName != null) { this._aliasName = navigatorAliasName.Value; } // <ModelName></ModelName> XPathNavigator navigatorModelName = navigator.SelectSingleNode("ModelName"); if (navigatorModelName != null) { this._modelName = navigatorModelName.Value; } // <GlobalIDFieldName></GlobalIDFieldName> XPathNavigator navigatorGlobalIDFieldName = navigator.SelectSingleNode("GlobalIDFieldName"); if (navigatorGlobalIDFieldName != null) { this._globalIDFieldName = navigatorGlobalIDFieldName.Value; } // <RasterFieldName></RasterFieldName> XPathNavigator navigatorRasterFieldName = navigator.SelectSingleNode("RasterFieldName"); if (navigatorRasterFieldName != null) { this._rasterFieldName = navigatorRasterFieldName.Value; } // <PropertySetProperty></PropertySetProperty> this._extensionProperties = new List<Property>(); XPathNodeIterator interatorPropertySetProperty = navigator.Select("ExtensionProperties/PropertyArray/PropertySetProperty"); while (interatorPropertySetProperty.MoveNext()) { // Get Property Note XPathNavigator navigatorPropertySetProperty = interatorPropertySetProperty.Current; // Create Property Object Property property = new Property(navigatorPropertySetProperty); // Store Property Object in List this._extensionProperties.Add(property); } // <SubtypeFieldName></SubtypeFieldName> XPathNavigator navigatorSubtypeFieldName = navigator.SelectSingleNode("SubtypeFieldName"); if (navigatorSubtypeFieldName != null) { this._subtypeFieldName = navigatorSubtypeFieldName.Value; } // Create ESRI Namespace Manager XmlNamespaceManager namespaceManager = new XmlNamespaceManager(navigator.NameTable); namespaceManager.AddNamespace(Xml._XSI, Xml.XMLSCHEMAINSTANCE); // <ControllerMemberships><ControllerMembership></ControllerMembership></ControllerMemberships> this._controllerMemberships = new List<ControllerMembership>(); XPathNodeIterator interatorControllerMembership = navigator.Select("ControllerMemberships/ControllerMembership"); while (interatorControllerMembership.MoveNext()) { // Get ControllerMembership XPathNavigator navigatorControllerMembership = interatorControllerMembership.Current; // Get Type XPathNavigator type = navigatorControllerMembership.SelectSingleNode(Xml._XSITYPE, namespaceManager); switch (type.Value) { case Xml._GEOMETRICNETWORKMEMBERSHIP: GeometricNetworkControllerMembership geometricNetworkControllerMembership = new GeometricNetworkControllerMembership(navigatorControllerMembership); this._controllerMemberships.Add(geometricNetworkControllerMembership); break; case Xml._TOPOLOGYMEMBERSHIP: TopologyControllerMembership topologyControllerMembership = new TopologyControllerMembership(navigatorControllerMembership); this._controllerMemberships.Add(topologyControllerMembership); break; case Xml._TERRAINMEMBERSHIP: break; case Xml._NETWORKDATASETMEMBERSHIP: NetworkControllerMembership networkControllerMembership = new NetworkControllerMembership(navigatorControllerMembership); this._controllerMemberships.Add(networkControllerMembership); break; } } // Create Fields Group TableGroup tableGroupFields = new TableGroup(); tableGroupFields.Expanded = true; tableGroupFields.Text = "Fields"; this.Groups.Add(tableGroupFields); XPathNodeIterator interatorField = navigator.Select("Fields/FieldArray/Field"); while (interatorField.MoveNext()) { // Create Field XPathNavigator navigatorField = interatorField.Current; Field field = new Field(navigatorField, this); // Add Field To Group tableGroupFields.Rows.Add(field); } // Create Indexes Group TableGroup tableGroupIndexes = new TableGroup(); tableGroupIndexes.Expanded = true; tableGroupIndexes.Text = "Indexes"; this.Groups.Add(tableGroupIndexes); XPathNodeIterator interatorIndex = navigator.Select("Indexes/IndexArray/Index"); while (interatorIndex.MoveNext()) { // Add Index XPathNavigator navigatorIndex = interatorIndex.Current; Index index = new Index(navigatorIndex); tableGroupIndexes.Groups.Add(index); // Add Field Index XPathNodeIterator interatorIndexField = navigatorIndex.Select("Fields/FieldArray/Field"); while (interatorIndexField.MoveNext()) { XPathNavigator navigatorIndexField = interatorIndexField.Current; IndexField indexField = new IndexField(navigatorIndexField); index.Rows.Add(indexField); } } }
// // CONSTRUCTOR // public ObjectClass(IXPathNavigable path) : base(path) { // Get Navigator XPathNavigator navigator = path.CreateNavigator(); // <OIDFieldName></OIDFieldName> XPathNavigator navigatorOIDFieldName = navigator.SelectSingleNode("OIDFieldName"); if (navigatorOIDFieldName != null) { this._oidFieldName = navigatorOIDFieldName.Value; } // <CLSID></CLSID> XPathNavigator navigatorCLSID = navigator.SelectSingleNode("CLSID"); if (navigatorCLSID != null) { if (!string.IsNullOrEmpty(navigatorCLSID.Value)) { this._clsid = navigatorCLSID.Value; } } // <EXTCLSID></EXTCLSID> XPathNavigator navigatorEXTCLSID = navigator.SelectSingleNode("EXTCLSID"); if (navigatorEXTCLSID != null) { if (!string.IsNullOrEmpty(navigatorEXTCLSID.Value)) { this._extClsid = navigatorEXTCLSID.Value; } } // <AliasName></AliasName> XPathNavigator navigatorAliasName = navigator.SelectSingleNode("AliasName"); if (navigatorAliasName != null) { this._aliasName = navigatorAliasName.Value; } // <ModelName></ModelName> XPathNavigator navigatorModelName = navigator.SelectSingleNode("ModelName"); if (navigatorModelName != null) { this._modelName = navigatorModelName.Value; } // <GlobalIDFieldName></GlobalIDFieldName> XPathNavigator navigatorGlobalIDFieldName = navigator.SelectSingleNode("GlobalIDFieldName"); if (navigatorGlobalIDFieldName != null) { this._globalIDFieldName = navigatorGlobalIDFieldName.Value; } // <RasterFieldName></RasterFieldName> XPathNavigator navigatorRasterFieldName = navigator.SelectSingleNode("RasterFieldName"); if (navigatorRasterFieldName != null) { this._rasterFieldName = navigatorRasterFieldName.Value; } // <PropertySetProperty></PropertySetProperty> this._extensionProperties = new List <Property>(); XPathNodeIterator interatorPropertySetProperty = navigator.Select("ExtensionProperties/PropertyArray/PropertySetProperty"); while (interatorPropertySetProperty.MoveNext()) { // Get Property Note XPathNavigator navigatorPropertySetProperty = interatorPropertySetProperty.Current; // Create Property Object Property property = new Property(navigatorPropertySetProperty); // Store Property Object in List this._extensionProperties.Add(property); } // <SubtypeFieldName></SubtypeFieldName> XPathNavigator navigatorSubtypeFieldName = navigator.SelectSingleNode("SubtypeFieldName"); if (navigatorSubtypeFieldName != null) { this._subtypeFieldName = navigatorSubtypeFieldName.Value; } // Create ESRI Namespace Manager XmlNamespaceManager namespaceManager = new XmlNamespaceManager(navigator.NameTable); namespaceManager.AddNamespace(Xml._XSI, Xml.XMLSCHEMAINSTANCE); // <ControllerMemberships><ControllerMembership></ControllerMembership></ControllerMemberships> this._controllerMemberships = new List <ControllerMembership>(); XPathNodeIterator interatorControllerMembership = navigator.Select("ControllerMemberships/ControllerMembership"); while (interatorControllerMembership.MoveNext()) { // Get ControllerMembership XPathNavigator navigatorControllerMembership = interatorControllerMembership.Current; // Get Type XPathNavigator type = navigatorControllerMembership.SelectSingleNode(Xml._XSITYPE, namespaceManager); switch (type.Value) { case Xml._GEOMETRICNETWORKMEMBERSHIP: GeometricNetworkControllerMembership geometricNetworkControllerMembership = new GeometricNetworkControllerMembership(navigatorControllerMembership); this._controllerMemberships.Add(geometricNetworkControllerMembership); break; case Xml._TOPOLOGYMEMBERSHIP: TopologyControllerMembership topologyControllerMembership = new TopologyControllerMembership(navigatorControllerMembership); this._controllerMemberships.Add(topologyControllerMembership); break; case Xml._TERRAINMEMBERSHIP: break; case Xml._NETWORKDATASETMEMBERSHIP: NetworkControllerMembership networkControllerMembership = new NetworkControllerMembership(navigatorControllerMembership); this._controllerMemberships.Add(networkControllerMembership); break; } } // Create Fields Group TableGroup tableGroupFields = new TableGroup(); tableGroupFields.Expanded = true; tableGroupFields.Text = "Fields"; this.Groups.Add(tableGroupFields); XPathNodeIterator interatorField = navigator.Select("Fields/FieldArray/Field"); while (interatorField.MoveNext()) { // Create Field XPathNavigator navigatorField = interatorField.Current; Field field = new Field(navigatorField, this); // Add Field To Group tableGroupFields.Rows.Add(field); } // Create Indexes Group TableGroup tableGroupIndexes = new TableGroup(); tableGroupIndexes.Expanded = true; tableGroupIndexes.Text = "Indexes"; this.Groups.Add(tableGroupIndexes); XPathNodeIterator interatorIndex = navigator.Select("Indexes/IndexArray/Index"); while (interatorIndex.MoveNext()) { // Add Index XPathNavigator navigatorIndex = interatorIndex.Current; Index index = new Index(navigatorIndex); tableGroupIndexes.Groups.Add(index); // Add Field Index XPathNodeIterator interatorIndexField = navigatorIndex.Select("Fields/FieldArray/Field"); while (interatorIndexField.MoveNext()) { XPathNavigator navigatorIndexField = interatorIndexField.Current; IndexField indexField = new IndexField(navigatorIndexField); index.Rows.Add(indexField); } } }