public async Task <List <Starship> > GetAll() { var api = new StarWarsAPIClient(); var starships = new List <Starship>(); int pageNo = 0; while (true) { var page = await api.GetAllStarship((++pageNo).ToString()); starships.AddRange(page.results.Select(x => model.GetStarship(x))); if (!page.isNext) { break; } } return(starships); }