Example #1
0
 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;
        }
Example #3
0
        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);
 }
Example #5
0
        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;
        }
Example #6
0
        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);
        }