private void OnSelectedMppsChanged(ModalityPerformedProcedureStepDetail newSelection) { if (_selectedMpps != null) { // save changes to existing data first SaveData(); } _selectedMpps = newSelection; UpdateActionEnablement(); EventsHelper.Fire(_selectedMppsChanged, this, EventArgs.Empty); }
private void StopPerformedProcedureStep() { // bail if no selected step (this shouldn't ever happen) if (_selectedMpps == null) { return; } // bail on validation errors if (this.HasValidationErrors) { ShowValidation(true); return; } // if downtime recovery mode, need to get the time from the user DateTime?endTime = _selectedMpps.StartTime; if (DowntimeRecovery.InDowntimeRecoveryMode) { if (!DateTimeEntryComponent.PromptForTime(this.Host.DesktopWindow, SR.TitleCompletedTime, false, ref endTime)) { return; } } try { SaveData(); CompleteModalityPerformedProcedureStepResponse response = null; Platform.GetService <IModalityWorkflowService>( service => { var request = new CompleteModalityPerformedProcedureStepRequest(_selectedMpps) { CompletedTime = DowntimeRecovery.InDowntimeRecoveryMode ? endTime : null }; response = service.CompleteModalityPerformedProcedureStep(request); }); RefreshProcedurePlanTree(response.ProcedurePlan); _mppsTable.Items.Replace( mppsSummary => mppsSummary.ModalityPerformendProcedureStepRef.Equals(_selectedMpps.ModalityPerformendProcedureStepRef, true), response.StoppedMpps); // Refresh selection _selectedMpps = response.StoppedMpps; UpdateActionEnablement(); _mppsTable.Sort(); // notify pages that selection has been updated EventsHelper.Fire(_selectedMppsChanged, this, EventArgs.Empty); NotifyPerformedProcedureStepComplete(); } catch (Exception e) { ExceptionHandler.Report(e, this.Host.DesktopWindow); } }
private void DiscontinuePerformedProcedureStep() { // bail if no selected step (this shouldn't ever happen) if (_selectedMpps == null) { return; } // confirm with user that they really want to do this if (this.Host.DesktopWindow.ShowMessageBox(SR.MessageConfirmDiscontinueSelectedProcedures, MessageBoxActions.YesNo) == DialogBoxAction.No) { return; } // if downtime recovery mode, need to get the time from the user DateTime?endTime = _selectedMpps.StartTime; if (DowntimeRecovery.InDowntimeRecoveryMode) { if (!DateTimeEntryComponent.PromptForTime(this.Host.DesktopWindow, SR.TitleDiscontinuedTime, false, ref endTime)) { return; } } try { SaveData(); DiscontinueModalityPerformedProcedureStepResponse response = null; Platform.GetService <IModalityWorkflowService>( service => { var request = new DiscontinueModalityPerformedProcedureStepRequest(_selectedMpps) { DiscontinuedTime = DowntimeRecovery.InDowntimeRecoveryMode ? endTime : null }; response = service.DiscontinueModalityPerformedProcedureStep(request); }); RefreshProcedurePlanTree(response.ProcedurePlan); _mppsTable.Items.Replace( mpps => mpps.ModalityPerformendProcedureStepRef.Equals(_selectedMpps.ModalityPerformendProcedureStepRef, true), response.DiscontinuedMpps); // Refresh selection _selectedMpps = response.DiscontinuedMpps; UpdateActionEnablement(); _mppsTable.Sort(); // notify pages that selection has been updated EventsHelper.Fire(_selectedMppsChanged, this, EventArgs.Empty); NotifyPerformedProcedureStepComplete(); } catch (Exception e) { ExceptionHandler.Report(e, this.Host.DesktopWindow); } }
internal void AddPerformedProcedureStep(ModalityPerformedProcedureStepDetail mpps) { _mppsTable.Items.Add(mpps); _mppsTable.Sort(); }