/// <summary> /// Event when OK button is pressed /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void buttonOK_Click(object sender, RoutedEventArgs args) { // Update Classification if it has changed or the mandatory fields are filled. If mandatory fields are not filled we will ignore the classification. if (!m_newClassification.IsUnchanged(m_savedClassification)) { if (!m_newClassification.AreMandatoryFieldsFilled()) { fillMandatoryFields(m_newClassification); } IFCClassificationMgr.UpdateClassification(IFCCommandOverrideApplication.TheDocument, m_newClassification); } Close(); }
/// <summary> /// Event when OK button is pressed /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void buttonOK_Click(object sender, RoutedEventArgs args) { // Saved changes to both Address Tab items and File Header Tab items if they have changed if (m_newAddressItem.isUnchanged(m_savedAddressItem) == false) { m_newAddress.UpdateAddress(IFCCommandOverrideApplication.TheDocument, m_newAddressItem); } if (m_newFileHeaderItem.isUnchanged(m_savedFileHeaderItem) == false) { m_newFileHeader.UpdateFileHeader(IFCCommandOverrideApplication.TheDocument, m_newFileHeaderItem); } if (m_newAddressItem.UpdateProjectInformation == true) { // Format IFC address and update it into Project Information: Project Address String address = null; String geographicMapLocation = null; bool addNewLine = false; if (String.IsNullOrEmpty(m_newAddressItem.AddressLine1) == false) { address += string.Format("{0}\r\n", m_newAddressItem.AddressLine1); } if (String.IsNullOrEmpty(m_newAddressItem.AddressLine2) == false) { address += string.Format("{0}\r\n", m_newAddressItem.AddressLine2); } if (String.IsNullOrEmpty(m_newAddressItem.POBox) == false) { address += string.Format("{0}\r\n", m_newAddressItem.POBox); } if (String.IsNullOrEmpty(m_newAddressItem.TownOrCity) == false) { address += string.Format("{0}", m_newAddressItem.TownOrCity); addNewLine = true; } if (String.IsNullOrEmpty(m_newAddressItem.RegionOrState) == false) { address += string.Format(", {0}", m_newAddressItem.RegionOrState); addNewLine = true; } if (String.IsNullOrEmpty(m_newAddressItem.PostalCode) == false) { address += string.Format(" {0}", m_newAddressItem.PostalCode); addNewLine = true; } if (addNewLine == true) { address += string.Format("\r\n"); addNewLine = false; } if (String.IsNullOrEmpty(m_newAddressItem.Country) == false) { address += string.Format("{0}\r\n", m_newAddressItem.Country); } if (String.IsNullOrEmpty(m_newAddressItem.InternalLocation) == false) { address += string.Format("\r\n{0}: {1}\r\n", Properties.Resources.InternalAddress, m_newAddressItem.InternalLocation); } if (String.IsNullOrEmpty(m_newAddressItem.TownOrCity) == false) { geographicMapLocation = m_newAddressItem.TownOrCity; } if (String.IsNullOrEmpty(m_newAddressItem.RegionOrState) == false) { if (String.IsNullOrEmpty(geographicMapLocation) == false) { geographicMapLocation = geographicMapLocation + ", " + m_newAddressItem.RegionOrState; } else { geographicMapLocation = m_newAddressItem.RegionOrState; } } if (String.IsNullOrEmpty(m_newAddressItem.Country) == false) { if (String.IsNullOrEmpty(geographicMapLocation) == false) { geographicMapLocation = geographicMapLocation + ", " + m_newAddressItem.Country; } else { geographicMapLocation = m_newAddressItem.Country; } } ; Transaction transaction = new Transaction(IFCCommandOverrideApplication.TheDocument, Properties.Resources.UpdateProjectAddress); transaction.Start(); ProjectInfo projectInfo = IFCCommandOverrideApplication.TheDocument.ProjectInformation; projectInfo.Address = address; // set project address information using the IFC Address Information when requested if (String.IsNullOrEmpty(geographicMapLocation) == false) { IFCCommandOverrideApplication.TheDocument.ActiveProjectLocation.SiteLocation.PlaceName = geographicMapLocation; // Update also Revit Site location on the Map using City, State and Country when they are not null } transaction.Commit(); } // Update Classification if it has changed or the mandatory fields are filled. If mandatory fields are not filled we will ignore the classification. if (!m_newClassification.IsUnchanged(m_savedClassification)) { if (m_newClassification.AreMandatoryFieldsFilled()) { IFCClassificationMgr.UpdateClassification(IFCCommandOverrideApplication.TheDocument, m_newClassification); } else if (!m_newClassification.IsClassificationEmpty()) { m_newClassification.ClassificationTabMsg = Properties.Resources.ManditoryFieldsNotEmpty; return; } } m_newClassification.ClassificationTabMsg = null; Close(); }