private void buttonOK_Click(object sender, RoutedEventArgs e) { if (VerifySelection()) { projectSetup = SaveMonitorSetup(); ProjectSetupDataStroageUtil.StoreProjectSetup(m_doc, projectSetup); this.DialogResult = true; } }
public Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements) { m_app = commandData.Application; m_doc = m_app.ActiveUIDocument.Document; try { MonitorProjectSetup projectSetup = ProjectSetupDataStroageUtil.GetProjectSetup(m_doc); SettingWindow settingWindow = new SettingWindow(m_doc, projectSetup); if (settingWindow.ShowDialog() == true) { projectSetup = settingWindow.ProjectSetup; settingWindow.Close(); if (projectSetup.IsMonitorOn) { List <MonitorMessage> errorMessages = VerifyDoorParameters(projectSetup); if (errorMessages.Count > 0) { MessageWindow msgWindow = new MessageWindow(errorMessages); if (msgWindow.ShowDialog() == true) { List <MonitorMessage> selectedMessages = msgWindow.SelectedItems; msgWindow.Close(); ShowElements(selectedMessages); } } } AppCommand.Instance.RefreshMonitorSetup(m_doc, projectSetup); } } catch (Exception ex) { MessageBox.Show("Failed to execute Setting Commands.\n" + ex.Message, "Setting Command", MessageBoxButton.OK, MessageBoxImage.Warning); } return(Result.Succeeded); }
private void RegisterDoorUpdaterOnOpen(object source, DocumentOpenedEventArgs args) { if (null != args.Document) { Document doc = args.Document; MonitorProjectSetup projectSetup = ProjectSetupDataStroageUtil.GetProjectSetup(doc); if (projectSetup.IsMonitorOn) { #if RELEASE2013 if (!UpdaterRegistry.IsUpdaterRegistered(doorUpdater.GetUpdaterId())) { doorUpdater.Register(doc, projectSetup); } #elif RELEASE2014 || RELEASE2015 || RELEASE2016 || RELEASE2017 if (!UpdaterRegistry.IsUpdaterRegistered(doorUpdater.GetUpdaterId(), doc)) { doorUpdater.Register(doc, projectSetup); } #endif args.Document.DocumentClosing += UnregisterDoorUpdaterOnClose; } } }
public void Execute(UpdaterData data) { try { Document doc = data.GetDocument(); MonitorProjectSetup projectSetup = ProjectSetupDataStroageUtil.GetProjectSetup(doc); if (data.GetModifiedElementIds().Count > 0) { ElementId doorId = data.GetModifiedElementIds().First(); FamilyInstance doorInstance = doc.GetElement(doorId) as FamilyInstance; if (null != doorInstance) { #if RELEASE2013 || RELEASE2014 Parameter pushParameter = doorInstance.get_Parameter(pushParamName); #elif RELEASE2015 || RELEASE2016 || RELEASE2017 Parameter pushParameter = doorInstance.LookupParameter(pushParamName); #endif if (null != pushParameter) { if (data.IsChangeTriggered(doorId, Element.GetChangeTypeParameter(pushParameter))) { string pushValue = pushParameter.AsValueString(); if (!pushValue.Contains("Approach")) { AppCommand.Instance.IsDoorFail = true; AppCommand.Instance.FailingDoorId = doorId; DialogResult dr = MessageBox.Show(pushValue + " is not a correct value for the parameter " + pushParamName, "Invalid Door Parameter.", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } #if RELEASE2013 || RELEASE2014 Parameter pullParameter = doorInstance.get_Parameter(pullParamName); #elif RELEASE2015 || RELEASE2016 || RELEASE2017 Parameter pullParameter = doorInstance.LookupParameter(pullParamName); #endif if (null != pullParameter) { if (data.IsChangeTriggered(doorId, Element.GetChangeTypeParameter(pullParameter))) { string pullValue = pullParameter.AsValueString(); if (!pullValue.Contains("Approach")) { AppCommand.Instance.IsDoorFail = true; AppCommand.Instance.FailingDoorId = doorId; DialogResult dr = MessageBox.Show(pullValue + " is not a correct value for the parameter " + pullParamName, "Invalid Door Parameter.", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } #if RELEASE2013 || RELEASE2014 Parameter caParameter = doorInstance.get_Parameter(stateCAParamName); #elif RELEASE2015 || RELEASE2016 || RELEASE2017 Parameter caParameter = doorInstance.LookupParameter(stateCAParamName); #endif if (null != caParameter) { if (data.IsChangeTriggered(doorId, Element.GetChangeTypeParameter(caParameter))) { int caValue = caParameter.AsInteger(); int projectVal = Convert.ToInt32(projectSetup.IsStateCA); if (caValue != projectVal) { caParameter.Set(projectVal); } } } } } else if (data.GetAddedElementIds().Count > 0) { ElementId doorId = data.GetAddedElementIds().First(); FamilyInstance doorInstance = doc.GetElement(doorId) as FamilyInstance; if (null != doorInstance) { #if RELEASE2013 || RELEASE2014 Parameter caParameter = doorInstance.get_Parameter(stateCAParamName); #elif RELEASE2015 || RELEASE2016 || RELEASE2017 Parameter caParameter = doorInstance.LookupParameter(stateCAParamName); #endif if (null != caParameter) { int caValue = caParameter.AsInteger(); int projectVal = Convert.ToInt32(projectSetup.IsStateCA); if (caValue != projectVal) { caParameter.Set(projectVal);//default value 1 } } } } } catch (Exception ex) { MessageBox.Show("Failed to execute the door updater.\n" + ex.Message, "DoorUpdater:Execute", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }