Exemple #1
0
        public StoredGameData FindByUserId(GetUserGameSnapshotByIdCriterion criterion)
        {
            IMongoCollection <StoredGameDataWithUserId> storedGameDataWithUserId = Database.GetCollection <StoredGameDataWithUserId>("StoredGameDataWithUserId");
            var filter = Builders <StoredGameDataWithUserId> .Filter.Eq("UserId", criterion.UserId);

            var result = storedGameDataWithUserId.Find(filter).ToList().FirstOrDefault();

            return(result == null ? null : result.StoredGameData);
        }
 public StoredGameData FindByUserId(GetUserGameSnapshotByIdCriterion criterion)
 {
     if (!File.Exists(Path.Combine("storage", "game-snapshots", criterion.UserId + ".json")))
     {
         return(null);
     }
     // deserialize JSON directly from a file
     using (StreamReader file = File.OpenText(Path.Combine("storage", "game-snapshots", criterion.UserId + ".json")))
     {
         JsonSerializer serializer = new JsonSerializer();
         serializer.TypeNameHandling = TypeNameHandling.Auto;
         return((StoredGameData)serializer.Deserialize(file, typeof(StoredGameData)));
     }
 }
Exemple #3
0
 public StoredGameData FindByUserId(GetUserGameSnapshotByIdCriterion criterion)
 {
     using (var uow = _unitOfWorkFactory.Create())
     {
         var findQuery = uow.BuildQuery();
         var entity    = findQuery.For <UserGameDataSnapshotEntity>()
                         .With(criterion);
         if (entity == null)
         {
             return(null);
         }
         return(Deserialize(entity.Data));
     }
 }