コード例 #1
0
 public void CopyFrom(SavedGameInfo gi)
 {
     Id        = gi.Id;
     LastSaved = gi.LastSaved;
     Fen       = gi.Fen;
     Comment   = gi.Comment;
 }
コード例 #2
0
 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 }
     });
 }
コード例 #3
0
ファイル: User.cs プロジェクト: uaandrei/diss
        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);
        }
コード例 #4
0
ファイル: User.cs プロジェクト: uaandrei/diss
 public void SaveGame(SavedGameInfo gameInfo)
 {
     if (SavedGames.Any(g => g.Id == gameInfo.Id))
     {
         UpdateGame(gameInfo);
     }
     else
     {
         AddGame(gameInfo);
     }
 }
コード例 #5
0
ファイル: User.cs プロジェクト: uaandrei/diss
        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);
        }
コード例 #6
0
ファイル: User.cs プロジェクト: uaandrei/diss
        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);
        }
コード例 #7
0
ファイル: User.cs プロジェクト: uaandrei/diss
 private void UpdateGame(SavedGameInfo gameInfo)
 {
     DeleteGame(gameInfo);
     AddGame(gameInfo);
 }