ArcGIS4LocalGovernment.AttributeAssistantEditorExtension.InitFabricState C# (CSharp) Метод

InitFabricState() публичный Метод

public InitFabricState ( ) : void
Результат void
        public void InitFabricState()
        {
            //get the fabric layers from the map
            IArray pFabricSubLayerArray;
            bool bHasFabricLayers = GetAllFabricSubLayers(out pFabricSubLayerArray);
            //bool bHasFabricLayers = GetFabricSubLayersByClass(esriCadastralFabricTable.esriCFTParcels, out pFabricSubLayerArray);
            //return the parcels fabric class as a feature class

            if (bHasFabricLayers)
            {
                AAState._fabricLayers = pFabricSubLayerArray;
                for (int i = 0; i < pFabricSubLayerArray.Count; i++)
                {
                    IFeatureLayer pFLyr = (IFeatureLayer)pFabricSubLayerArray.get_Element(i);
                    IFeatureClass featureClass = (IFeatureClass)pFLyr.FeatureClass;
                    int iObjClassID = featureClass.ObjectClassID;
                    if (AAState._fabricInMemTablesLookUp == null)
                        AAState._fabricInMemTablesLookUp = new Dictionary<int, ITable>();
                    if (AAState._fabricObjectClasses == null)
                        AAState._fabricObjectClasses = new ArrayClass();

                    if (!AAState._fabricInMemTablesLookUp.ContainsKey(iObjClassID))
                    {
                        AAState._fabricObjectClasses.Add(featureClass);
                        IWorkspace pWS = Globals.CreateInMemoryWorkspace();
                        try
                        {
                            IFields NewFields = Globals.createFieldsFromSourceFields(featureClass.Fields);
                            IDataset pDS = featureClass as IDataset;
                            ITable InMemTable = Globals.createTableInMemory(pDS.Name, NewFields, pWS);
                            if (InMemTable != null)
                                AAState._fabricInMemTablesLookUp.Add(iObjClassID, InMemTable);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Error Creating In Memory Fabric Table" + Environment.NewLine + ex.Message);
                        }
                    }
                    if (AAState._fabricObjectClassIds == null)
                        AAState._fabricObjectClassIds = new List<int>();
                    if (!AAState._fabricObjectClassIds.Contains(iObjClassID))
                        AAState._fabricObjectClassIds.Add(iObjClassID);
                }

                WireFabricEvents();

            }
        }