public static IFeatureLayer GetFirstZDLayer(IMap imap_0) { IFeatureLayer featureLayer; IEnumLayer layers = imap_0.Layers[null, true]; layers.Reset(); ILayer layer = layers.Next(); while (true) { if (layer == null) { featureLayer = null; break; } else if (!(layer is IFeatureLayer) || !ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)) { layer = layers.Next(); } else { featureLayer = layer as IFeatureLayer; break; } } return(featureLayer); }
private static bool CheckLayerIsCanEditZD(IFeatureLayer ifeatureLayer_0) { bool flag = ZDEditTools.LayerCanEdit(ifeatureLayer_0); bool flag1 = flag; if (flag) { flag1 = ZDRegister.IsZDFeatureClass(ifeatureLayer_0.FeatureClass); } return(flag1); }
public static void StartZDEdit() { ZDEditTools.StartEditDateTime = DateTime.Now; IMap editMap = Editor.EditMap; List <IFeatureLayer> featureLayers = new List <IFeatureLayer>(); for (int i = 0; i < editMap.LayerCount; i++) { ILayer layer = editMap.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayerEdit(featureLayers, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDEditTools.CheckLayerIsCanEditZD(featureLayer)) { featureLayers.Add(featureLayer); } } } if (featureLayers.Count == 0) { MessageBox.Show("当前没有可编辑的宗地图层!"); } else if (featureLayers.Count != 1) { frmSelectEditZD _frmSelectEditZD = new frmSelectEditZD() { FeatureLayers = featureLayers }; if (_frmSelectEditZD.ShowDialog() == DialogResult.OK) { ZDEditTools.ZDFeatureLayer = _frmSelectEditZD.SelectFeatureLayer; ZDEditTools.ZDFeatureClass = ZDEditTools.ZDFeatureLayer.FeatureClass; ZDEditTools.ZDHisFeatureClass = ZDRegister.GetHistoryFeatureClass(ZDEditTools.ZDFeatureClass); ZDEditTools.FireStartZDEdit(); } } else { ZDEditTools.ZDFeatureLayer = featureLayers[0]; ZDEditTools.ZDFeatureClass = ZDEditTools.ZDFeatureLayer.FeatureClass; ZDEditTools.ZDHisFeatureClass = ZDRegister.GetHistoryFeatureClass(ZDEditTools.ZDFeatureClass); ZDEditTools.FireStartZDEdit(); } }
private static void CheckGroupLayer(List <IFeatureLayer> list_0, ICompositeLayer icompositeLayer_0) { for (int i = 0; i < icompositeLayer_0.Count; i++) { ILayer layer = icompositeLayer_0.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayer(list_0, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)) { list_0.Add(featureLayer); } } } }
private static void WriteHistoryLine(IFeature ifeature_0, IFeature ifeature_1, IFeature ifeature_2, int int_0, DateTime dateTime_0) { string[] strArrays = (ZDEditTools.ZDFeatureClass as IDataset).Name.Split(new char[] { '.' }); ZDHistoryTable zDHistoryTable = new ZDHistoryTable(); IRow row = ZDEditTools.ZDChangeHisInfoTable.CreateRow(); RowOperator.SetFieldValue(row, zDHistoryTable.ChageDateFieldName, dateTime_0); RowOperator.SetFieldValue(row, zDHistoryTable.ChangeTypeFieldName, int_0); RowOperator.SetFieldValue(row, zDHistoryTable.OrigineZDOIDName, ifeature_0.OID); RowOperator.SetFieldValue(row, zDHistoryTable.NewZDOIDName, ifeature_1.OID); if (ifeature_2 != null) { RowOperator.SetFieldValue(row, zDHistoryTable.HisZDOIDName, ifeature_2.OID); } RowOperator.SetFieldValue(row, zDHistoryTable.ZDFeatureClassName, strArrays[(int)strArrays.Length - 1]); RowOperator.SetFieldValue(row, zDHistoryTable.ZDRegisterGuidName, ZDRegister.GetRegisterZDGuid(ZDEditTools.ZDFeatureClass)); row.Store(); }
public static bool HasZDLayer(IMap imap_0) { bool flag = false; IEnumLayer layers = imap_0.Layers[null, true]; layers.Reset(); for (ILayer i = layers.Next(); i != null; i = layers.Next()) { if (i is IFeatureLayer) { bool flag1 = ZDRegister.IsZDFeatureClass((i as IFeatureLayer).FeatureClass); flag = flag1; if (flag1) { break; } } } return(flag); }
public static List <IFeatureLayer> GetZDLayers(IMap imap_0) { List <IFeatureLayer> featureLayers = new List <IFeatureLayer>(); for (int i = 0; i < imap_0.LayerCount; i++) { ILayer layer = imap_0.Layer[i]; if (layer is IGroupLayer) { ZDEditTools.CheckGroupLayer(featureLayers, layer as ICompositeLayer); } else if (layer is IFeatureLayer) { IFeatureLayer featureLayer = layer as IFeatureLayer; if (ZDRegister.IsZDFeatureClass((layer as IFeatureLayer).FeatureClass)) { featureLayers.Add(featureLayer); } } } return(featureLayers); }