private async Task <bool> GetSeasons() { try { var query = new SeasonQuery { UserId = AuthenticationService.Current.LoggedInUserId, SeriesId = SelectedTvSeries.Id, Fields = new[] { ItemFields.ParentId, ItemFields.MediaSources, ItemFields.SyncInfo }, IsMissing = App.SpecificSettings.ShowMissingEpisodes, IsVirtualUnaired = App.SpecificSettings.ShowUnairedEpisodes }; Log.Info("Getting seasons for TV Show [{0}] ({1})", SelectedTvSeries.Name, SelectedTvSeries.Id); var seasons = await ApiClient.GetSeasonsAsync(query); Seasons = seasons.Items.OrderBy(x => x.IndexNumber).ToList(); return(true); } catch (HttpException ex) { Utils.HandleHttpException("GetSeasons()", ex, NavigationService, Log); App.ShowMessage(AppResources.ErrorSeasons); return(false); } }
public async Task <IActionResult> GetSeasons([FromQuery] SeasonQuery seasonQuery) { var seasons = await _seasonService.GetAsync(seasonQuery); var returnSeasons = _mapper.Map <PaginatedList <SeasonListDto> >(seasons); return(Ok(returnSeasons)); }
public async Task <PaginatedList <Season> > GetAsync(SeasonQuery seasonQuery) { var query = Context.Seasons.AsQueryable(); var columnsMap = new Dictionary <string, Expression <Func <Season, object> > >() { ["id"] = s => s.Id, ["name"] = s => s.Name }; query = query.Sort(seasonQuery, columnsMap); return(await PaginatedList <Season> .CreateAsync(query, seasonQuery.PageNumber, seasonQuery.PageSize)); }
public async Task GetSeasons_WhenCalled_ReturnSeasonsFromDb() { var seasonQuery = new SeasonQuery { PageNumber = 1, PageSize = 10, SortBy = "name", IsSortAscending = true }; var expectedSeasons = new PaginatedList <Season> { Pagination = new Pagination { PageNumber = 1, PageSize = 10 }, Items = new List <Season>() { new Season { Id = 1 }, new Season { Id = 2 }, new Season { Id = 3 }, } }; _seasonService.Setup(s => s.GetAsync(seasonQuery)).ReturnsAsync(expectedSeasons); var result = await _seasonsController.GetSeasons(seasonQuery); var okObjectResult = result as OkObjectResult; var okObjectResultValue = okObjectResult.Value as PaginatedList <SeasonListDto>; Assert.That(result, Is.TypeOf <OkObjectResult>()); Assert.That(okObjectResultValue, Is.Not.Null); Assert.That(okObjectResultValue.Pagination.PageNumber, Is.EqualTo(1)); Assert.That(okObjectResultValue.Pagination.PageSize, Is.EqualTo(10)); Assert.That(okObjectResultValue.Items.Count(), Is.EqualTo(3)); }
private Task <ItemsResult> GetSeasons(ItemListViewModel viewModel) { var item = ItemViewModel.Item; var query = new SeasonQuery { UserId = _sessionManager.CurrentUser.Id, Fields = new[] { ItemFields.PrimaryImageAspectRatio, ItemFields.DateCreated, ItemFields.Overview }, SeriesId = item.Id }; return(_apiClient.GetSeasonsAsync(query, CancellationToken.None)); }
public async Task GetAsync_WhenCalled_GetSeasonsFromDb() { var seasonQuery = new SeasonQuery { PageNumber = 1, PageSize = 10, SortBy = "name", IsSortAscending = true }; var expectedSeasons = new PaginatedList <Season> { Pagination = new Pagination { PageNumber = 1, PageSize = 10 }, Items = new List <Season>() { new Season { Id = 1 }, new Season { Id = 2 }, new Season { Id = 3 }, } }; _seasonRepository.Setup(s => s.GetAsync(seasonQuery)).ReturnsAsync(expectedSeasons); var result = await _seasonService.GetAsync(seasonQuery); Assert.That(result, Is.Not.Null); Assert.That(result, Is.EqualTo(expectedSeasons)); }
public async Task<PaginatedList<Season>> GetAsync(SeasonQuery seasonQuery) { return await _seasonRepository.GetAsync(seasonQuery); }