Ejemplo n.º 1
0
        public DBCommandResult LoadUniverse(Universe u)
        {
            DBCommandResult res = new DBCommandResult();

            try
            {
                var resu = db.GetCollection<Universe>("Universe").Find(new BsonDocument("_id", u._id)).ToList();
                Universe ru = (resu.Count > 0) ? resu[0] : new Universe();

                DBCommandResult rg = GetAllGalaxies(ru._id);

                if (rg.ResultCode == 0)
                    ru.Galaxies = (List<Galaxy>)rg.Tag;

                ru.IsLoaded = ru.IsSaved = true;
                res.Tag = ru;
                res.ResultCode = 0;
                res.ResultMsg = "Ok";
            }
            catch (Exception ex)
            {
                res.Tag = new Universe();
                res.ResultCode = -2;
                res.ResultMsg = String.Format("{0} ----> {1}", ex.Message, (ex.InnerException != null) ? ex.InnerException.Message : "");
            }
            return res;
        }
Ejemplo n.º 2
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            u = new Universe();
            u.Name = "Test universe";
            u.Descrip = "For testing purposes only...";
            for (int i = 0; i < nudGal.Value; i++)
            {
                Galaxy g = new Galaxy((int)nudGalX.Value, (int)nudGalY.Value, (int)nudGalZ.Value);
                g.Name = "Test Milky Way";
                int j = (int)nudStars.Value;
                while (j > 0)
                {
                    Star s = new Star(g);
                    s.StarSystemName = "Alpha Test";
                    if (g.AddStar(s, ConstantParameters.MinDistanceBetweenStars))
                    {
                        int orbits = MrRandom.rnd.Next(ConstantParameters.MaxOrbitalBodiesForStar);
                        List<int> freeOrbits = new List<int>();
                        freeOrbits.AddRange(Orbits);
                        for (int k = 0; k < orbits; k++)
                        {
                            int bodyType = MrRandom.rnd.Next(3);

                            switch (bodyType)
                            {
                                case 0:
                                    Planet p = new Planet(s._id);
                                    p.Size = (PlanetSize)MrRandom.rnd.Next((int)PlanetSize.MrRandom);
                                    p.Type = (PlanetType)MrRandom.rnd.Next((int)PlanetType.MrRandom);
                                    p.OrbitNo = freeOrbits[MrRandom.rnd.Next(freeOrbits.Count)];
                                    freeOrbits.Remove(p.OrbitNo);
                                    s.OrbitalBodies.Add(p);
                                    break;
                            case 1:
                                GasGiant gg = new GasGiant (s._id);
                                    gg.Class = (GasGiantClass)MrRandom.rnd.Next ((int)GasGiantClass.MrRandom);
                                    gg.Size = (GasGiantSize)MrRandom.rnd.Next ((int)GasGiantSize.MrRandom);
                                    gg.OrbitNo = freeOrbits[MrRandom.rnd.Next(freeOrbits.Count)];
                                    freeOrbits.Remove(gg.OrbitNo);
                                    s.OrbitalBodies.Add(gg);
                                    break;
                                case 2:
                                    AsteroidBelt a = new AsteroidBelt(s._id);
                                    a.Density = (AsteroidDensity)MrRandom.rnd.Next((int)AsteroidDensity.MrRandom);
                                    a.Type = (AsteroidType)MrRandom.rnd.Next((int)AsteroidType.MrRandom);
                                    a.OrbitNo = freeOrbits[MrRandom.rnd.Next(freeOrbits.Count)];
                                    freeOrbits.Remove(a.OrbitNo);
                                    s.OrbitalBodies.Add(a);
                                    break;
                            }
                        }
                        j = j - 1;
                    }
                }
                u.Galaxies.Add(g);
            }
            ShowStats();
        }
Ejemplo n.º 3
0
 public DBCommandResult SaveUniverse(Universe u)
 {
     DBCommandResult res = new DBCommandResult();
     try
     {
         var us = db.GetCollection<Universe>("Universe");
         res.Tag = us.ReplaceOne(new BsonDocument("_id", u._id), u, new UpdateOptions { IsUpsert = 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;
 }
Ejemplo n.º 4
0
        public void Load()
        {
            DBCommandResult res = _mdh.LoadUniverse(Universe);
            if (res.ResultCode == 0)
            {
                this.Universe = (Universe)res.Tag;
                //GalaxyHelper gh = new GalaxyHelper();
                //foreach (Galaxy g in this.Universe.Galaxies)
                //{
                //    gh.Galaxy = g;
                //    gh.Load();
                //}
                //this.Universe.IsLoaded = this.Universe.IsSaved = true;

                if (this.Universe.Attributes.Count == 0)
                    InitDefaultParameters();
                //ELSE add missing attributes, if any exists.
            }
            else
            {
                throw new Exception(res.ResultMsg);
            }
        }
Ejemplo n.º 5
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     DateTime st = DateTime.Now;
     //DBHelper dh = new DBHelper(tbConnStr.Text);
     MySqlDBHelper dh = new MySqlDBHelper(SensitiveData.ConnectionString);
     DBCommandResult r = dh.AddUniverse(u);
     if (r.ResultCode < 0)
     {
         MessageBox.Show(r.ResultMsg, String.Format("Universe not saved - Code:{0}", r.ResultCode));
         return;
     }
     else
     {
         Universe ru = (Universe)r.Tag;
         foreach (Galaxy g in u.Galaxies)
         {
             g.UniverseId = ru._id;
             r = dh.AddGalaxy(g);
             if (r.ResultCode < 0)
             {
                 MessageBox.Show(r.ResultMsg, String.Format("Galaxy not saved - Code:{0}", r.ResultCode));
                 return;
             }
             else
             {
                 Galaxy rg = (Galaxy)r.Tag;
                 foreach (Star s in g.Stars)
                 {
                     s.GalaxyId = rg._id;
                     r = dh.AddStar(s);
                     if (r.ResultCode < 0)
                     {
                         MessageBox.Show(r.ResultMsg, String.Format("Star not saved - Code:{0}", r.ResultCode));
                         return;
                     }
                     else
                     {
                         Star rs = (Star)r.Tag;
                         foreach (StarOrbitalBody sob in s.OrbitalBodies)
                         {
                             sob.StarId = rs._id;
                             r = dh.AddOrbitalBody(sob);
                             if (r.ResultCode < 0)
                             {
                                 MessageBox.Show(r.ResultMsg, String.Format("Orbital Body not saved - Code:{0}", r.ResultCode));
                                 return;
                             }
                             else
                             {
                                 StarOrbitalBody rsob = (StarOrbitalBody)r.Tag;
                                 rs.OrbitalBodies.Add(rsob);
                             }
                         }
                         rg.Stars.Add(rs);
                     }
                 }
                 ru.Galaxies.Add(rg);
             }
         }
         u = ru;
     }
     MessageBox.Show((DateTime.Now - st).TotalMilliseconds.ToString(), "Data saved successfully");
     ShowStats();
 }
Ejemplo n.º 6
0
        public DBCommandResult SaveUniverse(Universe u)
        {
            DBCommandResult res = new DBCommandResult ();
            MySqlCommand com = new MySqlCommand ("GM_SaveUniverse",_dg.Connection);
            com.CommandType = CommandType.StoredProcedure;

            MySqlParameter spUniverseId = new MySqlParameter("pUID", u.OBID);
            MySqlParameter spTick = new MySqlParameter("pTick", u.CurrentTick);
            MySqlParameter spTurn = new MySqlParameter("pTurn", u.CurrentTurn);
            MySqlParameter spPeriod = new MySqlParameter("pPeriod", u.CurrentPeriod);

            com.Parameters.AddRange (new MySqlParameter[] {spUniverseId, spTick, spTurn, spPeriod});

            try
            {
                _dg.ExecuteCommand(com);
                res = SaveAttributes(u);
                res.Tag = u;
            }
            catch (Exception ex) {
                res.ResultCode = -2;
                res.ResultMsg = String.Format ("{0} ----> {1}", ex.Message, (ex.InnerException != null) ? ex.InnerException.Message : "");
            }
            return res;
        }
Ejemplo n.º 7
0
        public DBCommandResult LoadUniverse(Universe u)
        {
            DBCommandResult res = new DBCommandResult();

            MySqlCommand com = new MySqlCommand("ADM_GetUniverseById", _dg.Connection);
            com.CommandType = CommandType.StoredProcedure;
            MySqlParameter spUID = new MySqlParameter("pId", u.OBID);
            com.Parameters.Add(spUID);
            try
            {
                DataSet ds = _dg.GetDataSet(com);
                DataRow dr = ds.Tables[0].Rows[0];
                Universe resU = new Universe();
                resU.OBID = Convert.ToInt32(dr["OBID"]);
                resU.Name = Convert.ToString(dr["Name"]);
                resU.Descrip = Convert.ToString(dr["Description"]);
                resU.CurrentTick = Convert.ToInt32(dr["CurrentTick"]);
                resU.CurrentTurn = Convert.ToInt32(dr["CurrentTurn"]);
                resU.CurrentPeriod = Convert.ToInt32(dr["CurrentPeriod"]);

                resU.Attributes = new List<OAttribute>();
                //resU.Attributes.ParentObject = resU;
                //resU.Attributes.Load(LoadAttributes(ds.Tables[1]));

                foreach (DataRow gRow in ds.Tables[2].Rows)
                {
                    Galaxy g = new Galaxy();
                    g.UniverseId = resU._id;
                    g.OBID = Convert.ToInt32(gRow["OBID"]);
                    g.Name = Convert.ToString(gRow["Name"]);
                    g.DimensionX = Convert.ToInt32(gRow["DimX"]);
                    g.DimensionY = Convert.ToInt32(gRow["DimY"]);
                    g.DimensionZ = Convert.ToInt32(gRow["DimZ"]);
                    resU.Galaxies.Add(g);
                }

                res.Tag = resU;
                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;
        }
Ejemplo n.º 8
0
        public DBCommandResult GetAllUniverses()
        {
            DBCommandResult res = new DBCommandResult ();

            MySqlCommand com = new MySqlCommand ("ADM_GetAllUniverses", _dg.Connection);

            try
            {
                DataSet ds = _dg.GetDataSet(com);
                List<Universe> unis = new List<Universe>();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    Universe u = new Universe();
                    u.OBID = Convert.ToInt32(dr["OBID"]);
                    u.Descrip = Convert.ToString(dr["Description"]);
                    u.Name = Convert.ToString(dr["Name"]);
                    unis.Add(u);
                }
                res.Tag = unis;
                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;
        }
Ejemplo n.º 9
0
        public DBCommandResult AddUniverse(Universe u)
        {
            DBCommandResult res = new DBCommandResult();

            MySqlCommand com = new MySqlCommand("ADM_AddUniverse", _dg.Connection);
            com.CommandType = CommandType.StoredProcedure;
            MySqlParameter spName = new MySqlParameter("pName", u.Name);
            MySqlParameter spDescrip = new MySqlParameter("pDescrip", u.Descrip);
            com.Parameters.Add(spName);
            com.Parameters.Add(spDescrip);
            try
            {
                DataSet ds = _dg.GetDataSet(com);
                DataRow dr = ds.Tables[0].Rows[0];
                Universe resU = new Universe();
                resU.OBID = Convert.ToInt32(dr["OBID"]);
                resU.Name = Convert.ToString(dr["Name"]);
                resU.Descrip = Convert.ToString(dr["Description"]);
                res.Tag = resU;
                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;
        }
Ejemplo n.º 10
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit (e);

            if (Session ["Universe"] != null) {
                this.ActiveUniverse = (Universe)Session ["Universe"];
                this._gid = this.ActiveUniverse.Galaxies [0]._id;
            }

            if (Session ["Player"] != null) {
                this.ActivePlayer = (Player)Session ["Player"];
            }
            if (Request ["gid"] != null && long.TryParse (Request ["gid"], out _gid)) {
            }

            Channel = BackServiceHelper.ConnectToBackService();
            log = new Log.Logger("HOO.WebClient", this.GetType());
        }
Ejemplo n.º 11
0
        public Universe LoadUniverse(Universe u)
        {
            log.Entry.MethodName = "LoadUniverse";
            DBCommandResult r = _mdh.LoadUniverse(u);

            if (r.ResultCode == 0 && r.Tag is Universe)
                u = (Universe)r.Tag;
            else
                log.Error(new Exception(r.ResultMsg));

            GalaxyHelper gHelper = new GalaxyHelper();
            for (int i = 0; i < u.Galaxies.Count; i++)
            {
                gHelper.Galaxy = u.Galaxies[i];
                gHelper.Load();
                u.Galaxies[i] = gHelper.Galaxy;
            }
            return u;
        }