private void deleteExtendedAtrributesRecord(string mapUnit) { if (m_theWorkspace == null) { MessageBox.Show("Please open a working space!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } /// Connect with the Extended Attribute table ExtendedAttributesAccess extAttrAccess = new ExtendedAttributesAccess(m_theWorkspace); /// Search for the extended attributes record for this map unit extAttrAccess.AddExtendedAttributes("OwnerID = '" + mapUnit + "'"); if (extAttrAccess.ExtendedAttributesDictionary.Count != 0) { ExtendedAttributesAccess.ExtendedAttributes anExtendedAttributes = extAttrAccess.ExtendedAttributesDictionary.First().Value; extAttrAccess.DeleteExtendedAttributes(anExtendedAttributes); } }
private void saveAge() { if (m_theWorkspace == null) { MessageBox.Show("Please open a working space!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (txtMapUnitAbbreviation.Text == "") { MessageBox.Show("Please select a valid map unit!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } /// --------------------------------------------------------------------------------------------------------- /// <start> Settings to save geologic events changes -------------------------------------------------------- /// Connect with the Geologic Events table GeologicEventsAccess geoEvtsAccess = new GeologicEventsAccess(m_theWorkspace); geoEvtsAccess.AddGeologicEvents(); Dictionary<string, GeologicEventsAccess.GeologicEvents> deleteGeologicEventsDictionary = new Dictionary<string, GeologicEventsAccess.GeologicEvents>(); foreach (KeyValuePair<string, GeologicEventsAccess.GeologicEvents> anOldGeologicEventsEntry in geoEvtsAccess.GeologicEventsDictionary) { /// Identify if the old record still exits in the new dictionary /// If not, delete this record if (!m_GeologicEventsDictionary.ContainsKey(anOldGeologicEventsEntry.Key)) { deleteGeologicEventsDictionary.Add(anOldGeologicEventsEntry.Key, anOldGeologicEventsEntry.Value); } } foreach (KeyValuePair<string, GeologicEventsAccess.GeologicEvents> anDeleteGeologicEventsEntry in deleteGeologicEventsDictionary) { GeologicEventsAccess.GeologicEvents thisGeoEvt = anDeleteGeologicEventsEntry.Value; /// Remove item from the evet list for this map unit if (liEvts4ThisUnit.Items.Contains(thisGeoEvt.AgeDisplay)) { liEvts4ThisUnit.Items.Remove(thisGeoEvt.AgeDisplay); string thisGeoEvtID = m_EvtListDictionary[thisGeoEvt.AgeDisplay]; foreach (KeyValuePair<string, ExtendedAttributesAccess.ExtendedAttributes> anExtAttrEntry in m_ExtendedAttributesDictionary) { ExtendedAttributesAccess.ExtendedAttributes thisExtAttr = anExtAttrEntry.Value; if (thisExtAttr.ValueLinkID == thisGeoEvtID) { string thisID = anExtAttrEntry.Key; m_ExtendedAttributesDictionary.Remove(thisID); } } } geoEvtsAccess.DeleteGeologicEvents(thisGeoEvt); } geoEvtsAccess.GeologicEventsDictionary = m_GeologicEventsDictionary; geoEvtsAccess.SaveGeologicEvents(); /// Reset variable m_GeologicEventsDictionary and m_EvtListDictionary geoEvtsAccess = new GeologicEventsAccess(m_theWorkspace); geoEvtsAccess.AddGeologicEvents(); m_GeologicEventsDictionary = geoEvtsAccess.GeologicEventsDictionary; m_EvtListDictionary.Clear(); foreach (KeyValuePair<string, GeologicEventsAccess.GeologicEvents> aGeologicEventsEntry in geoEvtsAccess.GeologicEventsDictionary) { m_EvtListDictionary.Add(aGeologicEventsEntry.Value.AgeDisplay, aGeologicEventsEntry.Key); } /// <end> --------------------------------------------------------------------------------------------------- /// --------------------------------------------------------------------------------------------------------- /// --------------------------------------------------------------------------------------------------------- /// <start> Settings to save extended attributes changes ---------------------------------------------------- /// connect with the Extended Attributes table ExtendedAttributesAccess extAttrAccess = new ExtendedAttributesAccess(m_theWorkspace); /// Search for the related record in the extended attribute table with the old map unit value extAttrAccess.AddExtendedAttributes(("OwnerID = '" + m_initMapUnit + "'")); Dictionary<string, ExtendedAttributesAccess.ExtendedAttributes> deleteExtendedAttributesDictionary = new Dictionary<string, ExtendedAttributesAccess.ExtendedAttributes>(); foreach (KeyValuePair<string, ExtendedAttributesAccess.ExtendedAttributes> anOldExtendedAttributesEntry in extAttrAccess.ExtendedAttributesDictionary) { /// Identify if the old record still exits in the new dictionary /// If not, delete this record if (!m_ExtendedAttributesDictionary.ContainsKey(anOldExtendedAttributesEntry.Key)) { deleteExtendedAttributesDictionary.Add(anOldExtendedAttributesEntry.Key, anOldExtendedAttributesEntry.Value); } } foreach (KeyValuePair<string, ExtendedAttributesAccess.ExtendedAttributes> anDeleteExtendedAttributesEntry in deleteExtendedAttributesDictionary) { ExtendedAttributesAccess.ExtendedAttributes thisExtAttr = anDeleteExtendedAttributesEntry.Value; extAttrAccess.DeleteExtendedAttributes(thisExtAttr); } extAttrAccess.ExtendedAttributesDictionary = m_ExtendedAttributesDictionary; extAttrAccess.SaveExtendedAttributes(); /// <end> --------------------------------------------------------------------------------------------------- /// --------------------------------------------------------------------------------------------------------- initEmptyAgeEventTab(); }
private void btnAgeChangeAccept_Click(object sender, EventArgs e) { if (liEvts.SelectedIndex == -1) { return; } if (m_theWorkspace == null) { return; } if (liEvts4ThisUnit.Items.Contains(liEvts.SelectedItem.ToString())) { return; } liEvts4ThisUnit.Items.Add(liEvts.SelectedItem.ToString()); string ownerId = m_EvtListDictionary[liEvts.SelectedItem.ToString()]; /// Generate a new Extended Attribute record ExtendedAttributesAccess extAttrAccess = new ExtendedAttributesAccess(m_theWorkspace); string thisExtAttrId = extAttrAccess.NewExtendedAttributes(m_initMapUnit, null, null, null, ownerId, null, commonFunctions.GetCurrentDataSourceID(), null); ExtendedAttributesAccess.ExtendedAttributes thisExtAttr = extAttrAccess.ExtendedAttributesDictionary.First().Value; m_ExtendedAttributesDictionary.Add(thisExtAttrId, thisExtAttr); }
/// <summary> /// Set values for the age event tabs /// The values are from Extended Attributes table and Geologic Events table /// </summary> private void initAgeEventTab(string mapUnit) { m_initMapUnit = mapUnit; if (m_theWorkspace == null) { MessageBox.Show("Please open a working space!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } /// Connect with the Extended Attribute table ExtendedAttributesAccess extAttrAccess = new ExtendedAttributesAccess(m_theWorkspace); /// Search the extended attributes records for this map unit extAttrAccess.AddExtendedAttributes("OwnerID = '" + mapUnit + "'"); m_ExtendedAttributesDictionary = extAttrAccess.ExtendedAttributesDictionary; foreach (KeyValuePair<string, ExtendedAttributesAccess.ExtendedAttributes> anExtendedAttributeEntry in extAttrAccess.ExtendedAttributesDictionary) { ExtendedAttributesAccess.ExtendedAttributes thisExtendedAttribute = anExtendedAttributeEntry.Value; string vLinkId = thisExtendedAttribute.ValueLinkID; if (vLinkId != null) { /// Connect with Geologic Events table GeologicEventsAccess geoEvtsAccess = new GeologicEventsAccess(m_theWorkspace); geoEvtsAccess.AddGeologicEvents("GeologicEvents_ID = '" + vLinkId + "'"); if (geoEvtsAccess.GeologicEventsDictionary.Count != 0) { GeologicEventsAccess.GeologicEvents thisGeologicEvent = geoEvtsAccess.GeologicEventsDictionary.First().Value; liEvts4ThisUnit.Items.Add(thisGeologicEvent.AgeDisplay); } } } }