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))); } }
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)); } }