예제 #1
0
        private static RiverSystemScenario CreateEmptyScenario(Options options)
        {
            var project           = RiverSystemProject.CreateProject("Created Project");
            var scenario          = new RiverSystemScenario(project);
            var scenarioContainer = new RiverSystemScenarioContainer(scenario);

            project.AddScenario(scenarioContainer);

            return(scenario);
        }
예제 #2
0
        private static RiverSystemScenario LoadScenario(Options options, string fn)
        {
            var project_dir = Path.GetDirectoryName(fn);

            if (project_dir == "")
            {
                project_dir = ".";
            }
            Directory.SetCurrentDirectory(project_dir);

            RiverSystemProject project = LoadProject(fn, options);

            Show(project.Name);

            RiverSystemScenarioContainer scenario;
            var allScenarios = project.GetRSScenarios();

            if (options.AvailableScenarios)
            {
                Show(String.Join(Environment.NewLine, allScenarios.Select(s => s.ScenarioName)));
                Environment.Exit(0);
            }

            if (options.ScenarioToLoad == null)
            {
                scenario = allScenarios[0];
            }
            else
            {
                int scenarioNumber = -1;
                if (int.TryParse(options.ScenarioToLoad, out scenarioNumber))
                {
                    scenario = allScenarios[scenarioNumber - 1];
                }
                else
                {
                    scenario = Enumerable.FirstOrDefault(allScenarios, s => s.ScenarioName == options.ScenarioToLoad);
                }
            }
            return(scenario.riverSystemScenario);
        }