public override async Task <IEnumerable <ITraktShow> > ReadArrayAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(IEnumerable <ITraktShow>))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartArray) { var movieReader = new ShowObjectJsonReader(); //var traktShowReadingTasks = new List<Task<ITraktShow>>(); var traktShows = new List <ITraktShow>(); //traktShowReadingTasks.Add(movieReader.ReadObjectAsync(jsonReader, cancellationToken)); ITraktShow traktShow = await movieReader.ReadObjectAsync(jsonReader, cancellationToken); while (traktShow != null) { traktShows.Add(traktShow); //traktShowReadingTasks.Add(movieReader.ReadObjectAsync(jsonReader, cancellationToken)); traktShow = await movieReader.ReadObjectAsync(jsonReader, cancellationToken); } //var readShows = await Task.WhenAll(traktShowReadingTasks); //return (IEnumerable<ITraktShow>)readShows.GetEnumerator(); return(traktShows); } return(await Task.FromResult(default(IEnumerable <ITraktShow>))); }
public override async Task <ITraktMostPWCShow> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktMostPWCShow))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var showObjectReader = new ShowObjectJsonReader(); ITraktMostPWCShow traktMostPWCShow = new TraktMostPWCShow(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.MOST_PWC_SHOW_PROPERTY_NAME_WATCHER_COUNT: traktMostPWCShow.WatcherCount = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.MOST_PWC_SHOW_PROPERTY_NAME_PLAY_COUNT: traktMostPWCShow.PlayCount = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.MOST_PWC_SHOW_PROPERTY_NAME_COLLECTED_COUNT: traktMostPWCShow.CollectedCount = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.MOST_PWC_SHOW_PROPERTY_NAME_COLLECTOR_COUNT: traktMostPWCShow.CollectorCount = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.MOST_PWC_SHOW_PROPERTY_NAME_SHOW: traktMostPWCShow.Show = await showObjectReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktMostPWCShow); } return(await Task.FromResult(default(ITraktMostPWCShow))); }
public override async Task <ITraktRecentlyUpdatedShow> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktRecentlyUpdatedShow))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var showObjectReader = new ShowObjectJsonReader(); ITraktRecentlyUpdatedShow traktRecentlyUpdatedShow = new TraktRecentlyUpdatedShow(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.RECENTLY_UPDATED_SHOW_PROPERTY_NAME_UPDATED_AT: { var value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { traktRecentlyUpdatedShow.RecentlyUpdatedAt = value.Second; } break; } case JsonProperties.RECENTLY_UPDATED_SHOW_PROPERTY_NAME_SHOW: traktRecentlyUpdatedShow.Show = await showObjectReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktRecentlyUpdatedShow); } return(await Task.FromResult(default(ITraktRecentlyUpdatedShow))); }
public override async Task <ITraktTrendingShow> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktTrendingShow))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var showObjectReader = new ShowObjectJsonReader(); ITraktTrendingShow traktTrendingShow = new TraktTrendingShow(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.TRENDING_SHOW_PROPERTY_NAME_WATCHERS: traktTrendingShow.Watchers = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.TRENDING_SHOW_PROPERTY_NAME_SHOW: traktTrendingShow.Show = await showObjectReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktTrendingShow); } return(await Task.FromResult(default(ITraktTrendingShow))); }
public override async Task <ITraktMostAnticipatedShow> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var showObjectReader = new ShowObjectJsonReader(); ITraktMostAnticipatedShow traktMostAnticipatedShow = new TraktMostAnticipatedShow(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_LIST_COUNT: traktMostAnticipatedShow.ListCount = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.PROPERTY_NAME_SHOW: traktMostAnticipatedShow.Show = await showObjectReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktMostAnticipatedShow); } return(await Task.FromResult(default(ITraktMostAnticipatedShow))); }