Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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();
        }