public void AddExperimentParameterToDatabase() { if (string.IsNullOrEmpty(_experimentParameter)) { _menuManager.DisplayErrorMessage("You must use a valid name for an experiment parameter", "Add Experiment Parameter Menu", "Launcher"); } else { _menuManager.ExperimentParameterList.Add(_experimentParameter); _launchManager.SynchroniseExperimentParametersWithDatabase(); _log.CreateExperimentParameter(_launchManager.ExperimentSettings.Name, _experimentParameter); _launchManager.UpdateParameters(); _menuManager.InstantiateAndShowMenu("Experiment Parameters Menu", "Launcher"); } }
/// <summary> /// This method allows to establish a correspondence between the parameters /// described in the database and in the experiment settings. /// /// This should be called whenever manually experiment parameters have been /// added within the EVE UI or within the Experiment Settings XML file. /// </summary> public void UpdateParameters() { var existingParams = LoggingManager.GetExperimentParameters(ExperimentSettings.Name); var requiredParams = ExperimentSettings.ParameterSettings.Parameters; foreach (var param in requiredParams) { if (!existingParams.Contains(param)) { LoggingManager.CreateExperimentParameter(ExperimentSettings.Name, param); } } foreach (var param in existingParams) { if (!requiredParams.Contains(param)) { requiredParams.Add(param); } } ExperimentSettings.ParameterSettings.Parameters = requiredParams; MenuManager.SetActiveParameters(requiredParams); }