public void CopyFrom(SavedGameInfo gi) { Id = gi.Id; LastSaved = gi.LastSaved; Fen = gi.Fen; Comment = gi.Comment; }
public static BsonDocument ToBsonDoc(this SavedGameInfo gameInfo) { return(new BsonDocument { { "id", gameInfo.Id }, { "date", gameInfo.LastSaved.Value.ToString("dd-MM-yyyy HH:mm:ss") }, { "fen", gameInfo.Fen }, { "comment", gameInfo.Comment } }); }
private void AddGame(SavedGameInfo gameInfo) { var users = PersistanceManager.GetCollection(); var x = users.UpdateOneAsync( Builders <BsonDocument> .Filter.Eq("name", Name), Builders <BsonDocument> .Update.Push("savedGames", gameInfo.ToBsonDoc()) ).Result; SavedGames.Add(gameInfo); }
public void SaveGame(SavedGameInfo gameInfo) { if (SavedGames.Any(g => g.Id == gameInfo.Id)) { UpdateGame(gameInfo); } else { AddGame(gameInfo); } }
public void DeleteGame(SavedGameInfo gameInfo) { var users = PersistanceManager.GetCollection(); var x = users.UpdateOneAsync( Builders <BsonDocument> .Filter.Eq("name", Name), Builders <BsonDocument> .Update.Pull("savedGames", new BsonDocument { { "id", gameInfo.Id } }) ).Result; SavedGames.RemoveAll(g => g.Id == gameInfo.Id); }
private static List <SavedGameInfo> GetSavedGames(BsonDocument userBson) { var savedGames = new List <SavedGameInfo>(); var savedGamesBson = userBson.Elements.First(e => e.Name == "savedGames"); var savedGamesBsonArray = savedGamesBson.Value.AsBsonArray; foreach (var savedGameBson in savedGamesBsonArray) { var gameInfo = new SavedGameInfo { Id = savedGameBson["id"].AsString, Comment = savedGameBson["comment"].AsString, Fen = savedGameBson["fen"].AsString, LastSaved = DateTime.Parse(savedGameBson["date"].AsString) }; savedGames.Add(gameInfo); } return(savedGames); }
private void UpdateGame(SavedGameInfo gameInfo) { DeleteGame(gameInfo); AddGame(gameInfo); }