public async Task <bool> SetData(PlayerProgressSet lookup)
        {
            var searchRequest = new BsonDocument
            {
            };

            var profile = (await profileRepository.Lookup(lookup.profileLookup)).FirstOrDefault();
            var game    = (await gameRepository.Lookup(lookup.gameLookup)).FirstOrDefault();

            searchRequest["gameid"]    = game.Id;
            searchRequest["profileid"] = profile.Id;

            if (lookup.pageKey != null)
            {
                searchRequest["pageKey"] = lookup.pageKey;
            }

            var updateData = new BsonDocument {
            };

            foreach (var item in lookup.SetData)
            {
                updateData[item.Key.ToString()] = item.Value.ToString();
            }
            var updateRequest = new BsonDocument(
                "$set", updateData
                );
            var result = (await collection.UpdateOneAsync(searchRequest, updateRequest));

            return(result.IsAcknowledged && result.IsModifiedCountAvailable && result.ModifiedCount > 0);
        }
Пример #2
0
 public Task <bool> SetPlayerProgress([FromBody] PlayerProgressSet request)
 {
     return(((PlayerProgressRepository)playerProgressRepository).SetData(request));
 }