Example #1
0
        /// <summary>
        /// Exits the handler.
        /// </summary>
        private void ExitHandler()
        {
            /* TODO: Set the Server in Maintenance Mode for 10 minutes.
             * TODO: Save all players...
             * TODO: Save all alliances...
             * TODO: Clean Up the Memcached Server.
             * TODO: Close. */
            Debug.Write("The Server is currently saving all players and clans, before shutting down.");
            this.Logger.Debug("The Server is currently saving all players and clans, before shutting down.");

            using (GRS_MySQL Database = new GRS_MySQL())
            {
                foreach (ClientAvatar _Player in ResourcesManager.Players.Values)
                {
                    Players _Data = Database.Players.Find(_Player.GetId());

                    _Data.Status  = (int)_Player.GetStatus();
                    _Data.Rank    = (int)_Player.GetRank();
                    _Data.Avatar  = _Player.Serialize().ToString();
                    _Data.Objects = _Player.Deck.Serialize().ToString();
                }

                Database.SaveChanges();
            }
        }
        /// <summary>
        /// Creates a player document in database.
        /// </summary>
        public void CreatePlayer(int HighID, int LowID, string JSON)
        {
            if (!string.IsNullOrEmpty(JSON))
            {
                using (GRS_MySQL MySQL = new GRS_MySQL())
                {
                    MySQL.Players.Add(new Players
                    {
                        HighID = HighID,
                        LowID  = LowID,
                        Data   = JSON
                    });

                    MySQL.SaveChanges();
                }
            }
        }