public override async Task <ITraktSyncHistoryPostShowSeason> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktSyncHistoryPostShowSeason))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var episodeArrayJsonReader = new SyncHistoryPostShowEpisodeArrayJsonReader(); ITraktSyncHistoryPostShowSeason syncHistoryPostShowSeason = new TraktSyncHistoryPostShowSeason(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.SYNC_HISTORY_POST_SHOW_SEASON_PROPERTY_NAME_WATCHED_AT: { Pair <bool, DateTime> value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { syncHistoryPostShowSeason.WatchedAt = value.Second; } break; } case JsonProperties.SYNC_HISTORY_POST_SHOW_SEASON_PROPERTY_NAME_NUMBER: { Pair <bool, int> value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { syncHistoryPostShowSeason.Number = value.Second; } break; } case JsonProperties.SYNC_HISTORY_POST_SHOW_SEASON_PROPERTY_NAME_EPISODES: syncHistoryPostShowSeason.Episodes = await episodeArrayJsonReader.ReadArrayAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(syncHistoryPostShowSeason); } return(await Task.FromResult(default(ITraktSyncHistoryPostShowSeason))); }
public override async Task <ITraktSyncRatingsPostShowEpisode> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktSyncRatingsPostShowEpisode))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { ITraktSyncRatingsPostShowEpisode syncRatingsPostShowEpisode = new TraktSyncRatingsPostShowEpisode(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.SYNC_RATINGS_POST_SHOW_EPISODE_PROPERTY_NAME_RATED_AT: { Pair <bool, DateTime> value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { syncRatingsPostShowEpisode.RatedAt = value.Second; } break; } case JsonProperties.SYNC_RATINGS_POST_SHOW_EPISODE_PROPERTY_NAME_RATING: syncRatingsPostShowEpisode.Rating = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.SYNC_RATINGS_POST_SHOW_EPISODE_PROPERTY_NAME_NUMBER: { Pair <bool, int> value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { syncRatingsPostShowEpisode.Number = value.Second; } break; } default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(syncRatingsPostShowEpisode); } return(await Task.FromResult(default(ITraktSyncRatingsPostShowEpisode))); }
public override async Task <ITraktPersonShowCreditsCastItem> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var showObjectReader = new ShowObjectJsonReader(); ITraktPersonShowCreditsCastItem showCreditsCastItem = new TraktPersonShowCreditsCastItem(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_CHARACTERS: showCreditsCastItem.Characters = await JsonReaderHelper.ReadStringArrayAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_EPISODE_COUNT: { var value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { showCreditsCastItem.EpisodeCount = value.Second; } break; } case JsonProperties.PROPERTY_NAME_SERIES_REGULAR: showCreditsCastItem.SeriesRegular = await jsonReader.ReadAsBooleanAsync(cancellationToken); break; case JsonProperties.PROPERTY_NAME_SHOW: showCreditsCastItem.Show = await showObjectReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(showCreditsCastItem); } return(await Task.FromResult(default(ITraktPersonShowCreditsCastItem))); }
public override async Task <ITraktSyncHistoryPostShowEpisode> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { ITraktSyncHistoryPostShowEpisode syncHistoryPostShowEpisode = new TraktSyncHistoryPostShowEpisode(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_WATCHED_AT: { Pair <bool, DateTime> value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { syncHistoryPostShowEpisode.WatchedAt = value.Second; } break; } case JsonProperties.PROPERTY_NAME_NUMBER: { Pair <bool, int> value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { syncHistoryPostShowEpisode.Number = value.Second; } break; } default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(syncHistoryPostShowEpisode); } return(await Task.FromResult(default(ITraktSyncHistoryPostShowEpisode))); }
public override async Task <ITraktShowCrewMember> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var personReader = new PersonObjectJsonReader(); ITraktShowCrewMember traktShowCrewMember = new TraktShowCrewMember(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_JOBS: traktShowCrewMember.Jobs = await JsonReaderHelper.ReadStringArrayAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_EPISODE_COUNT: { var value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { traktShowCrewMember.EpisodeCount = value.Second; } break; } case JsonProperties.PROPERTY_NAME_PERSON: traktShowCrewMember.Person = await personReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktShowCrewMember); } return(await Task.FromResult(default(ITraktShowCrewMember))); }
public override async Task <ITraktUserCustomListItemsPostShowSeason> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktUserCustomListItemsPostShowSeason))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var episodeArrayJsonReader = new UserCustomListItemsPostShowEpisodeArrayJsonReader(); ITraktUserCustomListItemsPostShowSeason customListItemsPostShowSeason = new TraktUserCustomListItemsPostShowSeason(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.USER_CUSTOM_LIST_ITEMS_POST_SHOW_SEASON_PROPERTY_NAME_NUMBER: { Pair <bool, int> value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { customListItemsPostShowSeason.Number = value.Second; } break; } case JsonProperties.USER_CUSTOM_LIST_ITEMS_POST_SHOW_SEASON_PROPERTY_NAME_EPISODES: customListItemsPostShowSeason.Episodes = await episodeArrayJsonReader.ReadArrayAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(customListItemsPostShowSeason); } return(await Task.FromResult(default(ITraktUserCustomListItemsPostShowSeason))); }
public override async Task <ITraktSyncWatchlistPostShowSeason> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var episodeArrayJsonReader = new ArrayJsonReader <ITraktSyncWatchlistPostShowEpisode>(); ITraktSyncWatchlistPostShowSeason syncWatchlistPostShowSeason = new TraktSyncWatchlistPostShowSeason(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_NUMBER: { Pair <bool, int> value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { syncWatchlistPostShowSeason.Number = value.Second; } break; } case JsonProperties.PROPERTY_NAME_EPISODES: syncWatchlistPostShowSeason.Episodes = await episodeArrayJsonReader.ReadArrayAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(syncWatchlistPostShowSeason); } return(await Task.FromResult(default(ITraktSyncWatchlistPostShowSeason))); }
public override async Task <ITraktUserHiddenItemsPostShowSeason> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { ITraktUserHiddenItemsPostShowSeason hiddenItemsPostShowSeason = new TraktUserHiddenItemsPostShowSeason(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_NUMBER: { Pair <bool, int> value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { hiddenItemsPostShowSeason.Number = value.Second; } break; } default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(hiddenItemsPostShowSeason); } return(await Task.FromResult(default(ITraktUserHiddenItemsPostShowSeason))); }
public override async Task <ITraktSyncCollectionPostShowEpisode> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { ITraktSyncCollectionPostShowEpisode traktSyncCollectionPostShowEpisode = new TraktSyncCollectionPostShowEpisode(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_NUMBER: { Pair <bool, int> value = await JsonReaderHelper.ReadIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { traktSyncCollectionPostShowEpisode.Number = value.Second; } break; } case JsonProperties.PROPERTY_NAME_COLLECTED_AT: { Pair <bool, DateTime> value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { traktSyncCollectionPostShowEpisode.CollectedAt = value.Second; } break; } case JsonProperties.PROPERTY_NAME_MEDIA_TYPE: traktSyncCollectionPostShowEpisode.MediaType = await JsonReaderHelper.ReadEnumerationValueAsync <TraktMediaType>(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_RESOLUTION: traktSyncCollectionPostShowEpisode.MediaResolution = await JsonReaderHelper.ReadEnumerationValueAsync <TraktMediaResolution>(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_AUDIO: traktSyncCollectionPostShowEpisode.Audio = await JsonReaderHelper.ReadEnumerationValueAsync <TraktMediaAudio>(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_AUDIO_CHANNELS: traktSyncCollectionPostShowEpisode.AudioChannels = await JsonReaderHelper.ReadEnumerationValueAsync <TraktMediaAudioChannel>(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_3D: traktSyncCollectionPostShowEpisode.ThreeDimensional = await jsonReader.ReadAsBooleanAsync(cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktSyncCollectionPostShowEpisode); } return(await Task.FromResult(default(ITraktSyncCollectionPostShowEpisode))); }