/// <summary> /// /// </summary> /// <returns></returns> public Simulation GetSimulationElement() { Simulation result = null; if (Simulations.Count > CurrentSimIndex) { result = Simulations[CurrentSimIndex]; CurrentSimIndex++; } if (result != null) { result.Index = Simulations.IndexOf(result) + 1; } return(result); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HLBackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { HLBackGroundWorker hlbw = (HLBackGroundWorker)sender; List <object> Arguments = e.Argument as List <object>; Simulation sim = (Simulation)Arguments[0]; //hlbw.Sim = SimulationFactory.GenerateSimulationXML(simElement, InputDataModels); //hlbw.Sim.Id = SimulationElements.IndexOf(simElement) + 1; hlbw.Sim = sim; hlbw.Sim.Index = Simulations.IndexOf(sim) + 1; //Setup output controllers if (OutputType == OutputType.CSVOutput) { hlbw.Sim.OutputModelController = new CSVOutputModelController(hlbw.Sim, OutputPath); } else if (OutputType == OutputType.SQLiteOutput) { hlbw.Sim.OutputModelController = new SQLiteOutputModelController(hlbw.Sim, SQLConn); //HLRDB.Simulation DBSim = new HLRDB.Simulation { Id = hlbw.Sim.Id, Name = hlbw.Sim.Name }; //DBSim.Data = new List<HLRDB.Data>(); //DBSim.Models = new List<Model>(); //foreach (InputModel im in hlbw.Sim.InputModels) //{ // DBSim.Models.Add(new HLRDB.Model { Name = im.Name, Type = im.GetType().ToString(), Content = "" }); //} //DBContext.Simulations.Add(new HLRDB.Simulation { Id = hlbw.Sim.Id, Name = hlbw.Sim.Name }); //DBContext.SaveChanges(); } else if (OutputType == OutputType.NetCDF) { //hlbw.Sim.OutputModelController = new NetCDFOutputModelController(hlbw.Sim, HLNC); } hlbw.Sim.Run(); }