public async Task Run(ParameterIdentification parameterIdentification) { if (!_entityValidationTask.Validate(parameterIdentification)) { return; } try { if (IsRunning) { throw new OSPSuiteException(Error.CannotStartTwoConcurrentParameterIdentifications); } using (_parameterIdentificationEngine = _parameterIdentificationEngineFactory.Create()) { var begin = SystemTime.UtcNow(); await _parameterIdentificationEngine.StartAsync(parameterIdentification); var end = SystemTime.UtcNow(); var timeSpent = end - begin; _dialogCreator.MessageBoxInfo(Captions.ParameterIdentification.ParameterIdentificationFinished(timeSpent.ToDisplay())); } } catch (OperationCanceledException) { _dialogCreator.MessageBoxInfo(Captions.ParameterIdentification.ParameterIdentificationCanceled); } finally { _executionContext.ProjectChanged(); _parameterIdentificationEngine = null; } }
protected override Task Context() { _parameterIdentificationEngineFactory = A.Fake <IParameterIdentificationEngineFactory>(); _transferOptimizedParametersToSimulationsTask = A.Fake <ITransferOptimizedParametersToSimulationsTask>(); _logger = A.Fake <ILogger>(); sut = new RunParameterIdentificationQualificationStepRunner(_parameterIdentificationEngineFactory, _transferOptimizedParametersToSimulationsTask, _logger); _parameterIdentification = new ParameterIdentification(); _runParameterIdentificationStep = new RunParameterIdentificationQualificationStep { ParameterIdentification = _parameterIdentification }; _parameterIdentificationEngine = A.Fake <IParameterIdentificationEngine>(); A.CallTo(() => _parameterIdentificationEngineFactory.Create()).Returns(_parameterIdentificationEngine); return(_completed); }