//Creates lastValueProperties Property Set which stores fields and values for last value method private void constructFieldArray() { // Assume we are in an edit session if (ArcMap.Editor.EditWorkspace == null) { return; } // Open defaults table IDataset dataset = m_dynDefaults as IDataset; IQueryFilter qFilter = new QueryFilterClass(); qFilter.WhereClause = "ValueMethod = 'LAST_VALUE'"; lastValueProperties = new PropertySetClass(); if (m_dynDefaults != null) { ICursor tabCursor = m_dynDefaults.Search(qFilter, true); IRow row = tabCursor.NextRow(); while (row != null) { object objRow = row.get_Value(dynTargetField); object nullObject = null; lastValueProperties.SetProperty(objRow.ToString(), nullObject); row = tabCursor.NextRow(); } } }
public static void createLastValuePropertySet() { try { if (AAState._dt == null) return; object nullObject = null; if (AAState.lastValueProperties == null || _clearLastValue == true) { AAState.lastValueProperties = new PropertySetClass(); } if (AAState._dt.Columns["ON_CHANGEGEO"] == null) { MessageBox.Show(A4LGSharedFunctions.Localizer.GetString("AttributeAssistantEditorMess_1c")); } if (AAState._dt.Columns["ON_CHANGE"] == null) { MessageBox.Show(A4LGSharedFunctions.Localizer.GetString("AttributeAssistantEditorMess_1d")); } if (AAState._dt.Columns["ON_CREATE"] == null) { MessageBox.Show(A4LGSharedFunctions.Localizer.GetString("AttributeAssistantEditorMess_1e")); } if (AAState._dt.Columns["ON_MANUAL"] == null) { MessageBox.Show(A4LGSharedFunctions.Localizer.GetString("AttributeAssistantEditorMess_1f")); } DataView dv = new DataView(AAState._dt); dv.RowFilter = "ValueMethod = 'LAST_VALUE'"; string[] args; foreach (DataRowView drv in dv) { if (drv["FIELDNAME"].ToString() == "SHAPE") { MessageBox.Show(A4LGSharedFunctions.Localizer.GetString("AttributeAssistantEditorMess_1g")); } else { if (_clearLastValue) { LastValueEntry lstV = new LastValueEntry(); lstV.Value = nullObject; lstV.On_ChangeAtt = Globals.toBoolean(drv["ON_CHANGE"].ToString()); if (drv.DataView.Table.Columns["ON_CHANGEGEO"] != null) { lstV.On_ChangeGeo = Globals.toBoolean(drv["ON_CHANGEGEO"].ToString()); } lstV.On_Create = Globals.toBoolean(drv["ON_CREATE"].ToString()); lstV.On_Manual = Globals.toBoolean(drv["ON_MANUAL"].ToString()); AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), lstV); lstV = null; } else { string valData = drv["VALUEINFO"].ToString().Trim(); if (valData.Contains(Environment.NewLine)) { valData = valData.Substring(0, valData.IndexOf(Environment.NewLine)); } if (valData.Trim() == "") { nullObject = null; } else { args = valData.Split('|'); if (args.Length == 2) { nullObject = args[1] as System.Object; } } try { object temp = AAState.lastValueProperties.GetProperty(drv["FIELDNAME"].ToString()); if (nullObject != null && temp == null) { LastValueEntry lstV = new LastValueEntry(); lstV.Value = nullObject; lstV.On_ChangeAtt = Globals.toBoolean(drv["ON_CHANGE"].ToString()); if (drv.DataView.Table.Columns["ON_CHANGEGEO"] != null) { lstV.On_ChangeGeo = Globals.toBoolean(drv["ON_CHANGEGEO"].ToString()); } lstV.On_Create = Globals.toBoolean(drv["ON_CREATE"].ToString()); lstV.On_Manual = Globals.toBoolean(drv["ON_MANUAL"].ToString()); AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), lstV); lstV = null; } } catch { LastValueEntry lstV = new LastValueEntry(); lstV.Value = nullObject; lstV.On_ChangeAtt = Globals.toBoolean(drv["ON_CHANGE"].ToString()); if (drv.DataView.Table.Columns["ON_CHANGEGEO"] != null) { lstV.On_ChangeGeo = Globals.toBoolean(drv["ON_CHANGEGEO"].ToString()); } lstV.On_Create = Globals.toBoolean(drv["ON_CREATE"].ToString()); lstV.On_Manual = Globals.toBoolean(drv["ON_MANUAL"].ToString()); AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), lstV); lstV = null; } } } } } catch (Exception ex) { MessageBox.Show(A4LGSharedFunctions.Localizer.GetString("AttributeAssistantEditorChain1") + ex.Message); } }
public static void createLastValuePropertySet() { try { object nullObject = null; if (AAState.lastValueProperties == null || _clearLastValue == true) { AAState.lastValueProperties = new PropertySetClass(); } if (AAState._dt.Columns["ON_CHANGEGEO"] == null) { MessageBox.Show("Dynamic value table is missing the ON_CHANGEGEO Column"); } if (AAState._dt.Columns["ON_CHANGE"] == null) { MessageBox.Show("Dynamic value table is missing the ON_CHANGE Column"); } if (AAState._dt.Columns["ON_CREATE"] == null) { MessageBox.Show("Dynamic value table is missing the ON_CREATE Column"); } if (AAState._dt.Columns["ON_MANUAL"] == null) { MessageBox.Show("Dynamic value table is missing the ON_MANUAL Column"); } DataView dv = new DataView(AAState._dt); dv.RowFilter = "ValueMethod = 'LAST_VALUE'"; string[] args; foreach (DataRowView drv in dv) { if (drv["FIELDNAME"].ToString() == "SHAPE") { MessageBox.Show("You have specified SHAPE in a last value entry in the Attribute Assistant, this is not supported"); } else { if (_clearLastValue) { LastValueEntry lstV = new LastValueEntry(); lstV.Value = nullObject; lstV.On_ChangeAtt = Globals.toBoolean(drv["ON_CHANGE"].ToString()); if (drv.DataView.Table.Columns["ON_CHANGEGEO"] != null) { lstV.On_ChangeGeo = Globals.toBoolean(drv["ON_CHANGEGEO"].ToString()); } lstV.On_Create = Globals.toBoolean(drv["ON_CREATE"].ToString()); lstV.On_Manual = Globals.toBoolean(drv["ON_MANUAL"].ToString()); AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), lstV); lstV = null; } else { string valData = drv["VALUEINFO"].ToString().Trim(); if (valData.Contains(Environment.NewLine)) { valData = valData.Substring(0, valData.IndexOf(Environment.NewLine)); } if (valData.Trim() == "") { nullObject = null; } else { args = valData.Split('|'); if (args.Length == 2) { nullObject = args[1] as System.Object; } } try { object temp = AAState.lastValueProperties.GetProperty(drv["FIELDNAME"].ToString()); if (nullObject != null && temp == null) { LastValueEntry lstV = new LastValueEntry(); lstV.Value = nullObject; lstV.On_ChangeAtt = Globals.toBoolean(drv["ON_CHANGE"].ToString()); if (drv.DataView.Table.Columns["ON_CHANGEGEO"] != null) { lstV.On_ChangeGeo = Globals.toBoolean(drv["ON_CHANGEGEO"].ToString()); } lstV.On_Create = Globals.toBoolean(drv["ON_CREATE"].ToString()); lstV.On_Manual = Globals.toBoolean(drv["ON_MANUAL"].ToString()); AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), lstV); lstV = null; } } catch { LastValueEntry lstV = new LastValueEntry(); lstV.Value = nullObject; lstV.On_ChangeAtt = Globals.toBoolean(drv["ON_CHANGE"].ToString()); if (drv.DataView.Table.Columns["ON_CHANGEGEO"] != null) { lstV.On_ChangeGeo = Globals.toBoolean(drv["ON_CHANGEGEO"].ToString()); } lstV.On_Create = Globals.toBoolean(drv["ON_CREATE"].ToString()); lstV.On_Manual = Globals.toBoolean(drv["ON_MANUAL"].ToString()); AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), lstV); lstV = null; } } } } } catch (Exception ex) { MessageBox.Show("createLastValueProperrtySet: " + ex.Message); } }
/// <summary> /// Signals the telecom workspace helpers objects to stop listening for edits etc. /// </summary> /// <param name="save">Should any edits be saved</param> private void m_editEvents_OnStopEditing(Boolean save) { _logHelper.addLogEntry(DateTime.Now.ToString(), "INFO", "On stop editing"); try { _logHelper.addLogEntry(DateTime.Now.ToString(), "INFO", "Stopped editing telecom workspace."); // ------------------------------------- // Hide the cable configuration window // ------------------------------------- //UID dockWinID = new UIDClass(); //dockWinID.Value = @"esriTelcoTools_FiberCableConfigWindow"; //IDockableWindow dockWindow = ArcMap.DockableWindowManager.GetDockableWindow(dockWinID); //dockWindow.Show(false); // ------------------------------------ // Stop the helpers to deal with // telecom workspace editing. // ------------------------------------ _logHelper.addLogEntry(DateTime.Now.ToString(), "INFO", "Stopping telecom helpers."); _fiberCableHelper.onStopEditing(); _fiberDeviceHelper.onStopEditing(); // If we are dealing with non-shapefile, non-coverage data no need to remove // event handlers since no GDB relationships etc can exist. if (ArcMap.Editor.EditWorkspace.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace || ArcMap.Editor.EditWorkspace.Type == esriWorkspaceType.esriLocalDatabaseWorkspace) { // -------------------------------------------- // Stop listening for feature template changes // -------------------------------------------- Events5.OnCurrentTemplateChanged -= new IEditEvents5_OnCurrentTemplateChangedEventHandler(Events5_OnCurrentTemplateChanged); // ----------------------------- // Stop listening for deletions // ----------------------------- Events.OnDeleteFeature -= new IEditEvents_OnDeleteFeatureEventHandler(Events_OnDeleteFeature); // ----------------------------------- // Stop listening for Dynamic Values changes // ----------------------------------- Events.OnChangeFeature += new IEditEvents_OnChangeFeatureEventHandler(m_editEvents_OnChangeFeature); Events.OnCreateFeature += new IEditEvents_OnCreateFeatureEventHandler(m_editEvents_OnCreateFeature); } if (!save) { lastValueProperties = null; } // --------------------------------------- // Remove non feature class event tracking // --------------------------------------- if (null != _nonFeatureObjClassEvents) { for (int i = _nonFeatureObjClassEvents.Count - 1; i > -1; i--) { ESRI.ArcGIS.Geodatabase.IObjectClassEvents_Event nonFtClassOCE = _nonFeatureObjClassEvents[i]; nonFtClassOCE.OnCreate -= new IObjectClassEvents_OnCreateEventHandler(m_editEvents_OnCreateFeature); nonFtClassOCE.OnChange -= new IObjectClassEvents_OnChangeEventHandler(m_editEvents_OnChangeFeature); _nonFeatureObjClassEvents.Remove(nonFtClassOCE); } _nonFeatureObjClassEvents = null; } } catch (Exception ex) { _logHelper.addLogEntry(DateTime.Now.ToString(), "ERROR", "Error on stop editing.", ex.ToString()); MessageBox.Show("Error: \n" + ex.ToString()); } }
//Creates lastValueProperties Property Set which stores fields and values for last value method private void constructFieldArray() { // Assume we are in an edit session if (ArcMap.Editor.EditWorkspace == null) return; // Open defaults table IDataset dataset = m_dynDefaults as IDataset; IQueryFilter qFilter = new QueryFilterClass(); qFilter.WhereClause = "ValueMethod = 'LAST_VALUE'"; lastValueProperties = new PropertySetClass(); if (m_dynDefaults != null) { ICursor tabCursor = m_dynDefaults.Search(qFilter, true); IRow row = tabCursor.NextRow(); while (row != null) { object objRow = row.get_Value(dynTargetField); object nullObject = null; lastValueProperties.SetProperty(objRow.ToString(), nullObject); row = tabCursor.NextRow(); } } }
public static void createLastValueProperrtySet() { try { object nullObject = null; if (AAState.lastValueProperties == null || _clearLastValue == true) { AAState.lastValueProperties = new PropertySetClass(); } DataView dv = new DataView(AAState._dt); dv.RowFilter = "ValueMethod = 'LAST_VALUE'"; string[] args; foreach (DataRowView drv in dv) { if (drv["FIELDNAME"].ToString() == "SHAPE") { MessageBox.Show("You have specified SHAPE in a last value entry in the Attribute Assistant, this is not supported"); } else { if (_clearLastValue) AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), nullObject); else { string valData = drv["VALUEINFO"].ToString().Trim(); if (valData.Contains(Environment.NewLine)) { valData = valData.Substring(0, valData.IndexOf(Environment.NewLine)); } if (valData.Trim() == "") { nullObject = null; } else { args = valData.Split('|'); if (args.Length == 2) { nullObject = args[1] as System.Object; } } try { object temp = AAState.lastValueProperties.GetProperty(drv["FIELDNAME"].ToString()); if (nullObject != null && temp == null) { AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), nullObject); } } catch { AAState.lastValueProperties.SetProperty(drv["FIELDNAME"].ToString(), nullObject); } } } } } catch (Exception ex) { MessageBox.Show("createLastValueProperrtySet: " + ex.Message); } }
public static void createLastValueProperrtySet() { try { object nullObject = null; if (AAState.lastValueProperties == null || _clearLastValue == true) { AAState.lastValueProperties = new PropertySetClass(); } DataView dv = new DataView(AAState._dt); dv.RowFilter = "ValueMethod = 'LAST_VALUE'"; foreach (DataRowView drv in dv) { if (drv[dynTargetField].ToString() == "SHAPE") { MessageBox.Show("You have specified SHAPE in a last value entry in the Attribute Assistant, this is not supported"); } else { if (_clearLastValue) AAState.lastValueProperties.SetProperty(drv[dynTargetField].ToString(), nullObject); else { try { object temp = AAState.lastValueProperties.GetProperty(drv[dynTargetField].ToString()); } catch { AAState.lastValueProperties.SetProperty(drv[dynTargetField].ToString(), nullObject); } } } } } catch (Exception ex) { MessageBox.Show("GetView: " + ex.Message); } }
/// <summary> /// Signals the telecom workspace helpers objects to stop listening for edits etc. /// </summary> /// <param name="save">Should any edits be saved</param> private void m_editEvents_OnStopEditing(Boolean save) { _logHelper.addLogEntry(DateTime.Now.ToString(), "INFO", "On stop editing"); try { _logHelper.addLogEntry(DateTime.Now.ToString(), "INFO", "Stopped editing telecom workspace."); // ------------------------------------- // Hide the cable configuration window // ------------------------------------- //UID dockWinID = new UIDClass(); //dockWinID.Value = @"esriTelcoTools_FiberCableConfigWindow"; //IDockableWindow dockWindow = ArcMap.DockableWindowManager.GetDockableWindow(dockWinID); //dockWindow.Show(false); // ------------------------------------ // Stop the helpers to deal with // telecom workspace editing. // ------------------------------------ _logHelper.addLogEntry(DateTime.Now.ToString(), "INFO", "Stopping telecom helpers."); _fiberCableHelper.onStopEditing(); _fiberDeviceHelper.onStopEditing(); // If we are dealing with non-shapefile, non-coverage data no need to remove // event handlers since no GDB relationships etc can exist. if (ArcMap.Editor.EditWorkspace.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace || ArcMap.Editor.EditWorkspace.Type == esriWorkspaceType.esriLocalDatabaseWorkspace) { // -------------------------------------------- // Stop listening for feature template changes // -------------------------------------------- Events5.OnCurrentTemplateChanged -= new IEditEvents5_OnCurrentTemplateChangedEventHandler(Events5_OnCurrentTemplateChanged); // ----------------------------- // Stop listening for deletions // ----------------------------- Events.OnDeleteFeature -= new IEditEvents_OnDeleteFeatureEventHandler(Events_OnDeleteFeature); // ----------------------------------- // Stop listening for Dynamic Values changes // ----------------------------------- Events.OnChangeFeature += new IEditEvents_OnChangeFeatureEventHandler(m_editEvents_OnChangeFeature); Events.OnCreateFeature += new IEditEvents_OnCreateFeatureEventHandler(m_editEvents_OnCreateFeature); } if (!save) { lastValueProperties = null; } // --------------------------------------- // Remove non feature class event tracking // --------------------------------------- if (null != _nonFeatureObjClassEvents) { for (int i = _nonFeatureObjClassEvents.Count - 1; i > -1; i--) { ESRI.ArcGIS.Geodatabase.IObjectClassEvents_Event nonFtClassOCE = _nonFeatureObjClassEvents[i]; nonFtClassOCE.OnCreate -= new IObjectClassEvents_OnCreateEventHandler(m_editEvents_OnCreateFeature); nonFtClassOCE.OnChange -= new IObjectClassEvents_OnChangeEventHandler(m_editEvents_OnChangeFeature); _nonFeatureObjClassEvents.Remove(nonFtClassOCE); } _nonFeatureObjClassEvents = null; } } catch (Exception ex) { _logHelper.addLogEntry(DateTime.Now.ToString(), "ERROR", "Error on stop editing.", ex.ToString()); MessageBox.Show("Error: \n" + ex.ToString()); } }