private static bool CheckLayerIsCanEditZD(IFeatureLayer ifeatureLayer_0) { bool result; if (result = ZDEditTools.LayerCanEdit(ifeatureLayer_0)) { result = ZDRegister.IsZDFeatureClass(ifeatureLayer_0.FeatureClass); } return(result); }
public static bool Register(IFeatureClass ifeatureClass_0, string string_0) { bool result; if (ZDRegister.IsZDFeatureClass(ifeatureClass_0)) { result = false; } else { string[] array = (ifeatureClass_0 as IDataset).Name.Split(new char[] { '.' }); ZDRegisterTable zDRegisterTable = new ZDRegisterTable(); ITable table = AppConfigInfo.OpenTable("ZDInfos"); IFeatureWorkspace featureWorkspace = (ifeatureClass_0 as IDataset).Workspace as IFeatureWorkspace; string finalName = WorkspaceOperator.GetFinalName2(featureWorkspace as IWorkspace, esriDatasetType.esriDTFeatureClass, "", array[array.Length - 1], "_His"); IRow row = table.CreateRow(); RowOperator.SetFieldValue(row, zDRegisterTable.FeatureClassNameField, array[array.Length - 1]); RowOperator.SetFieldValue(row, zDRegisterTable.ZDBHFieldName, string_0); RowOperator.SetFieldValue(row, zDRegisterTable.RegisterDateFieldName, System.DateTime.Now); RowOperator.SetFieldValue(row, zDRegisterTable.HistoryFeatureClassName, finalName); string workspaceConnectInfo = WorkspaceOperator.GetWorkspaceConnectInfo((ifeatureClass_0 as IDataset).Workspace); RowOperator.SetFieldValue(row, zDRegisterTable.GDBConnectInfoName, workspaceConnectInfo); RowOperator.SetFieldValue(row, zDRegisterTable.GuidName, System.Guid.NewGuid().ToString()); row.Store(); (ifeatureClass_0 as IDataset).Name.Split(new char[] { '.' }); IFields fields = (ifeatureClass_0.Fields as IClone).Clone() as IFields; IField field = new ESRI.ArcGIS.Geodatabase.Field(); (field as IFieldEdit).Name_2 = "OriginOID_"; (field as IFieldEdit).AliasName_2 = "原始宗地编号"; (field as IFieldEdit).Type_2 = esriFieldType.esriFieldTypeInteger; (fields as IFieldsEdit).AddField(field); IFeatureClass featureClass = featureWorkspace.CreateFeatureClass(finalName, fields, null, null, esriFeatureType.esriFTSimple, "shape", ""); if ((featureWorkspace as IWorkspace).Type == esriWorkspaceType.esriRemoteDatabaseWorkspace) { IVersionedObject3 versionedObject = featureClass as IVersionedObject3; if (versionedObject != null) { versionedObject.RegisterAsVersioned3(false); } } result = true; } return(result); }
public static bool HasZDLayer(IMap imap_0) { bool result = false; IEnumLayer enumLayer = imap_0.get_Layers(null, true); enumLayer.Reset(); ILayer layer = enumLayer.Next(); while (layer != null && (!(layer is IFeatureLayer) || !(result = ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)))) { layer = enumLayer.Next(); } return(result); }
public static IFeatureLayer GetFirstZDLayer(IMap imap_0) { IEnumLayer enumLayer = imap_0.get_Layers(null, true); enumLayer.Reset(); IFeatureLayer result; for (ILayer layer = enumLayer.Next(); layer != null; layer = enumLayer.Next()) { if (layer is IFeatureLayer && ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)) { result = (layer as IFeatureLayer); return(result); } } result = null; return(result); }
private static void CheckGroupLayer(System.Collections.Generic.List <IFeatureLayer> list_0, ICompositeLayer icompositeLayer_0) { for (int i = 0; i < icompositeLayer_0.Count; i++) { ILayer layer = icompositeLayer_0.get_Layer(i); if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayer(list_0, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer item = layer as IFeatureLayer; if (ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)) { list_0.Add(item); } } } }
public static System.Collections.Generic.List <IFeatureLayer> GetZDLayers(IMap imap_0) { System.Collections.Generic.List <IFeatureLayer> list = new System.Collections.Generic.List <IFeatureLayer>(); for (int i = 0; i < imap_0.LayerCount; i++) { ILayer layer = imap_0.get_Layer(i); if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayer(list, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer item = layer as IFeatureLayer; if (ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)) { list.Add(item); } } } return(list); }