public override async Task <ITraktRating> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktRating))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { ITraktRating traktRating = new TraktRating(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.RATING_PROPERTY_NAME_RATING: { var value = await JsonReaderHelper.ReadFloatValueAsync(jsonReader, cancellationToken); if (value.First) { traktRating.Rating = value.Second; } break; } case JsonProperties.RATING_PROPERTY_NAME_VOTES: traktRating.Votes = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.RATING_PROPERTY_NAME_DISTRIBUTION: traktRating.Distribution = await JsonReaderHelper.ReadDistributionAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktRating); } return(await Task.FromResult(default(ITraktRating))); }
public override async Task <ITraktUserRatingsStatistics> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktUserRatingsStatistics))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { ITraktUserRatingsStatistics userRatingsStatistics = new TraktUserRatingsStatistics(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.USER_RATINGS_STATISTICS_PROPERTY_NAME_TOTAL: userRatingsStatistics.Total = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.USER_RATINGS_STATISTICS_PROPERTY_NAME_DISTRIBUTION: userRatingsStatistics.Distribution = await JsonReaderHelper.ReadDistributionAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(userRatingsStatistics); } return(await Task.FromResult(default(ITraktUserRatingsStatistics))); }