public void UpdateGameInstance(GameInstance game)
        {
            DBGameInstance  dbGame = GetGameInstance(game.Id);
            XmlGameInstance xml    = new XmlGameInstance();

            if (dbGame != null)
            {
                dbGame.Source = xml.Serialize(game);
                db.SaveChanges();
            }
        }
        public GameInstance RestoreGameInstance(int id)
        {
            var dbGame = GetGameInstance(id);

            if (dbGame != null)
            {
                XmlGameInstance xml = new XmlGameInstance();
                return(xml.Deserialize(dbGame.Source));
            }
            return(null);
        }
        public void AddGameInstance(GameInstance game, string name, string password)
        {
            XmlGameInstance xml = new XmlGameInstance();

            DBGameInstance dbGame = new DBGameInstance
            {
                Created      = DateTime.Now,
                Source       = "",
                Name         = name,
                Password     = password == null ? "" : Crypto.HashPassword(password),
                DefinitionID = game.Definition.Id
            };

            db.GameInstances.Add(dbGame);
            db.SaveChanges();

            game.Id       = dbGame.ID;
            dbGame.Source = xml.Serialize(game);
            db.SaveChanges();
        }