private async Task FetchNextEpisodesAsync() { var traktProgressTasks = (from show in await traktService.GetWatchedEpisodesAsync(extended: TraktExtendEnum.MIN) select new { show.Show, Progress = traktService.GetShowWatchedProgressAsync(show.Show.Ids.Trakt, extended: TraktExtendEnum.FULL_IMAGES) }).ToList(); await Task.WhenAll(from task in traktProgressTasks select task.Progress); NextEpisodes = new ObservableCollection <TraktEpisode>(from item in traktProgressTasks where item.Progress.Result.Next_Episode != null && DateTime.Parse(item.Progress.Result.Next_Episode.First_Aired, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal) <= DateTime.UtcNow select item.Progress.Result.Next_Episode); }
public override async void OnNavigatedTo(object navigationParameter, NavigationMode navigationMode, Dictionary <string, object> viewModelState) { var showId = (int)navigationParameter; Show = await traktService.GetShowAsync(showId, extended : TraktExtendEnum.FULL_IMAGES); Title = Show.Title; Poster = Show.Images.Poster.Full; Overview = Show.Overview; Rating = Show.Rating; Progress = await traktService.GetShowWatchedProgressAsync(Show.Ids.Trakt, extended : TraktExtendEnum.IMAGES); Seasons = new ObservableCollection <TraktSeason>(from season in await traktService.GetSeasonsAsync(Show.Ids.Trakt, extended: TraktExtendEnum.IMAGES) orderby season.Number descending select season); Comments = new ObservableCollection <TraktComment>(await traktService.GetShowCommentsAsync(Show.Ids.Trakt)); Related = new ObservableCollection <TraktTVShow>(await traktService.GetRelatedShowsAsync(Show.Ids.Trakt, extended: TraktExtendEnum.IMAGES)); }