public static Scenario LoadOrCreate(IMasterDatabaseService databaseService, Location location, string simAreaFolder, string scenarioFile) { var scenarioName = Path.GetFileNameWithoutExtension(scenarioFile); Console.WriteLine(string.Format("Looking for test scenario '{0}'...", scenarioName)); var scenario = databaseService.FindScenario(scenarioName); if (scenario != null) return scenario; Console.WriteLine(string.Format("Importing test scenario '{0}'...", scenarioName)); scenario = Scenario.FromNemoFile(databaseService, location, scenarioFile, simAreaFolder); databaseService.SetEnvironmentalData(scenario, (from data in location.EnvironmentalDataSets where data.SourcePlugin.PluginSubtype == PluginSubtype.Wind && ((TimePeriod)scenario.TimePeriod == (TimePeriod)data.TimePeriod) select data).FirstOrDefault()); databaseService.SetEnvironmentalData(scenario, (from data in location.EnvironmentalDataSets where data.SourcePlugin.PluginSubtype == PluginSubtype.SoundSpeed && ((TimePeriod)scenario.TimePeriod == (TimePeriod)data.TimePeriod) select data).FirstOrDefault()); databaseService.SetEnvironmentalData(scenario, (from data in location.EnvironmentalDataSets where data.SourcePlugin.PluginSubtype == PluginSubtype.Sediment select data).FirstOrDefault()); databaseService.SetEnvironmentalData(scenario, (from data in location.EnvironmentalDataSets where data.SourcePlugin.PluginSubtype == PluginSubtype.Bathymetry select data).FirstOrDefault()); return scenario; }