public StarOrbitalBodyHelper(StarOrbitalBody starOrbitalBody) { // _dh = new MySqlDBHelper (SensitiveData.ConnectionString); this._mdh = new MongoDBHelper(); OrbitalBody = starOrbitalBody; this.log = new Log.Logger("HOO.SvcLib", typeof(StarOrbitalBodyHelper)); }
public DBCommandResult LoadOrbitalBody(StarOrbitalBody sob) { DBCommandResult res = new DBCommandResult (); MySqlCommand com = new MySqlCommand ("ADM_GetOrbitalBodyById", _dg.Connection); com.CommandType = CommandType.StoredProcedure; MySqlParameter spSOBID = new MySqlParameter("pSOBId", sob.OBID); com.Parameters.Add(spSOBID); try { DataSet ds = _dg.GetDataSet(com); DataRow dr = ds.Tables[0].Rows[0]; sob.OBID = Convert.ToInt32(dr["OBID"]); sob.OrbitNo = Convert.ToInt32(dr["OrbitNo"]); sob.Attributes = new List<OAttribute>(); //sob.Attributes.ParentObject = sob; //sob.Attributes.Load(LoadAttributes(ds.Tables[1])); res.Tag = sob; res.ResultCode = 0; res.ResultMsg = "Ok"; } catch (Exception ex) { res.ResultCode = -2; res.ResultMsg = String.Format ("{0} ----> {1}", ex.Message, (ex.InnerException != null) ? ex.InnerException.Message : ""); } return res; }
public DBCommandResult SaveOrbitalBody(StarOrbitalBody sob) { DBCommandResult res = new DBCommandResult(); try { var stars = db.GetCollection<StarOrbitalBody>("StarOrbitalBodies"); if (sob.IsLoaded) res.Tag = stars.ReplaceOne(new BsonDocument("_id", sob._id), sob, new UpdateOptions { IsUpsert = true }); else { stars.InsertOne(sob, new InsertOneOptions { BypassDocumentValidation = false }); res.Tag = sob; } sob.IsLoaded = sob.IsSaved = true; res.ResultCode = 0; res.ResultMsg = "Ok"; } catch (Exception ex) { res.ResultCode = -2; res.ResultMsg = String.Format("{0} ----> {1}", ex.Message, (ex.InnerException != null) ? ex.InnerException.Message : ""); } return res; }
public DBCommandResult SaveOrbitalBody(StarOrbitalBody sob) { return SaveAttributes(sob); }
public DBCommandResult AddOrbitalBody(StarOrbitalBody sob) { DBCommandResult res = new DBCommandResult(); if (sob is Planet) { Planet p = (Planet)sob; MySqlCommand com = new MySqlCommand("ADM_AddStarOrbitalBody", _dg.Connection); com.CommandType = CommandType.StoredProcedure; MySqlParameter spStarId = new MySqlParameter("pStarId", p.StarId); MySqlParameter spOrbitNo = new MySqlParameter("pOrbitNo", p.OrbitNo); MySqlParameter spBodyType = new MySqlParameter("pBodyType", 1); MySqlParameter spSize = new MySqlParameter("pSize", p.Size); MySqlParameter spType = new MySqlParameter("pClass", p.Type); com.Parameters.AddRange(new MySqlParameter[] { spStarId, spSize, spOrbitNo, spType, spBodyType }); try { DataSet ds = _dg.GetDataSet(com); DataRow dr = ds.Tables[0].Rows[0]; Planet rp = new Planet(sob.StarId); rp.OBID = Convert.ToInt32(dr["OBID"]); rp.OrbitNo = Convert.ToInt32(dr["OrbitNo"]); rp.Size = (PlanetSize)Convert.ToInt32(dr["Size"]); rp.Type = (PlanetType)Convert.ToInt32(dr["Class"]); res.Tag = rp; res.ResultCode = 0; res.ResultMsg = "Ok"; } catch (Exception ex) { res.ResultCode = -2; res.ResultMsg = String.Format("{0} ----> {1}", ex.Message, (ex.InnerException != null)?ex.InnerException.Message:""); } return res; } if (sob is GasGiant) { GasGiant p = (GasGiant)sob; MySqlCommand com = new MySqlCommand("ADM_AddStarOrbitalBody", _dg.Connection); com.CommandType = CommandType.StoredProcedure; MySqlParameter spStarId = new MySqlParameter("pStarId", p.StarId); MySqlParameter spOrbitNo = new MySqlParameter("pOrbitNo", p.OrbitNo); MySqlParameter spBodyType = new MySqlParameter("pBodyType", 2); MySqlParameter spSize = new MySqlParameter("pSize", p.Size); MySqlParameter spType = new MySqlParameter("pClass", p.Class); com.Parameters.AddRange(new MySqlParameter[] { spStarId, spSize, spOrbitNo, spType, spBodyType }); try { DataSet ds = _dg.GetDataSet(com); DataRow dr = ds.Tables[0].Rows[0]; GasGiant rg = new GasGiant(sob.StarId); rg.OBID = Convert.ToInt32(dr["OBID"]); rg.OrbitNo = Convert.ToInt32(dr["OrbitNo"]); rg.Class = (GasGiantClass)Convert.ToInt32(dr["Class"]); rg.Size = (GasGiantSize)Convert.ToInt32(dr["Size"]); res.Tag = rg; res.ResultCode = 0; res.ResultMsg = "Ok"; } catch (Exception ex) { res.ResultCode = -2; res.ResultMsg = String.Format("{0} ----> {1}", ex.Message, (ex.InnerException != null)?ex.InnerException.Message:""); } return res; } if (sob is AsteroidBelt) { AsteroidBelt p = (AsteroidBelt)sob; MySqlCommand com = new MySqlCommand("ADM_AddStarOrbitalBody", _dg.Connection); com.CommandType = CommandType.StoredProcedure; MySqlParameter spStarId = new MySqlParameter("pStarId", p.StarId); MySqlParameter spOrbitNo = new MySqlParameter("pOrbitNo", p.OrbitNo); MySqlParameter spBodyType = new MySqlParameter("pBodyType", 3); MySqlParameter spSize = new MySqlParameter("pSize", p.Density); MySqlParameter spType = new MySqlParameter("pClass", p.Type); com.Parameters.AddRange(new MySqlParameter[] { spStarId, spSize, spOrbitNo, spType, spBodyType }); try { DataSet ds = _dg.GetDataSet(com); DataRow dr = ds.Tables[0].Rows[0]; AsteroidBelt ra = new AsteroidBelt(sob.StarId); ra.OBID = Convert.ToInt32(dr["OBID"]); ra.OrbitNo = Convert.ToInt32(dr["OrbitNo"]); ra.Density = (AsteroidDensity)Convert.ToInt32(dr["Size"]); ra.Type = (AsteroidType)Convert.ToInt32(dr["Class"]); res.Tag = ra; res.ResultCode = 0; res.ResultMsg = "Ok"; } catch (Exception ex) { res.ResultCode = -2; res.ResultMsg = String.Format("{0} ----> {1}", ex.Message, (ex.InnerException != null)?ex.InnerException.Message:""); } return res; } return res; }
private void LoadStarData() { System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch (); sw.Start (); if (this.ActiveUniverse != null && this.ActiveUniverse.Galaxies != null) { // var g = ActiveUniverse.Galaxies.Single (x => x.OBID == _gid); //Galaxy g = new Galaxy(); //List<Star> stars = g.Stars; //s = stars.ToArray () [MrRandom.rnd.Next (stars.Count)]; s = Channel.GenerateNewStar(ActiveUniverse._id, this._gid); ltStarName.Text = String.Format("<font style='color:{0}'>{1}</font>", _starColors[(int)s.Class], s.StarSystemName); ltStarClass.Text = s.ClassName; ltX.Text = s.Coordinates.X.ToString (); ltY.Text = s.Coordinates.Y.ToString (); ltZ.Text = s.Coordinates.Z.ToString (); imgStar.Src = String.Format("Images/Stars/{0}.png", s.Class); ltUniverse.Text = ActiveUniverse.Name; ltUniverseTick.Text = ActiveUniverse.CurrentTick.ToString (); ltUniverseTurn.Text = ActiveUniverse.CurrentTurn.ToString (); ltUniversePeriod.Text = ActiveUniverse.CurrentPeriod.ToString (); ltGalaxy.Text = "Unknown";//g.Name; gvNearestStars.DataSource = ActiveUniverse.Galaxies[0].Stars.Where (p => p._id != s._id).OrderBy (p => Math.Sqrt (Math.Pow (s.Coordinates.X - p.Coordinates.X, 2) + Math.Pow (s.Coordinates.Y - p.Coordinates.Y, 2) + Math.Pow (s.Coordinates.Z - p.Coordinates.Z, 2))).Take (5); gvNearestStars.DataBind (); /* if (!s.IsLoaded) { _sh = new StarHelper (s); _sh.RefreshOrbitalBodies (); StarOrbitalBodyHelper sobh = new StarOrbitalBodyHelper (); foreach (StarOrbitalBody sob in s.OrbitalBodies) { sobh.OrbitalBody = sob; sobh.LoadOrbitalBody (); } } */ StarOrbitalBody[] sobs = new StarOrbitalBody[10]; foreach (StarOrbitalBody sob in s.OrbitalBodies) { sobs [sob.OrbitNo] = sob; } gvOrbits.DataSource = sobs; gvOrbits.DataBind (); } sw.Stop (); TimeSpan ts = sw.Elapsed; ltLoadTime.Text = String.Format ("loaded in {0}ms", ts); }