public ParameterIdentificationFeedback GetFeedbackFor(ParameterIdentification parameterIdentification) { lock (_locker) { var feedback = _cache[parameterIdentification]; if (feedback == null) { feedback = new ParameterIdentificationFeedback(parameterIdentification); _cache.Add(parameterIdentification, feedback); } return(feedback); } }
public void Edit(ParameterIdentificationFeedback parameterIdentificationFeedback) { _parameterIdentificationFeedback = parameterIdentificationFeedback; switch (parameterIdentificationFeedback.RunStatus) { case RunStatusId.Running: setParameterIdentificationToStarted(parameterIdentificationFeedback.ParameterIdentification); break; case RunStatusId.Canceled: // Presenter was opened after the events were triggered but actually a terminated // event is triggered after a started event was triggered and the feedback view // should evolve through both of them. If terminated is invoked directly, then the // view would should its initial state asking the user to start the parameter identification // instead of showing the terminated parameter identification and its last state. setParameterIdentificationToStarted(parameterIdentificationFeedback.ParameterIdentification); setParameterIdentificationToTerminated(); break; } _view.Display(); }