private async Task LoadMoreAction(object arg) { if (IsLoading) { return; } IsLoading = true; try { var morePeople = await Service.GetPeople(nextPage.Substring(nextPage.IndexOf("page="))); foreach (var p in morePeople.PeopleList) { People.Add(p); } nextPage = morePeople.NextPage; HasNextPage = nextPage != null; OnPropertyChanged("People"); } catch (Exception) { //TODO: Handle specific exception AlertHelper.ShowMessage("Error", AppResource.err_DataLoadMessage, "OK"); } IsLoading = false; }
public async Task GetData() { IsLoading = true; try { //Get the first 20 people var tasks = new List <Task <PeopleModel> >(); for (int i = 1; i <= pages; i++) { tasks.Add(Service.GetPeople("page=" + i.ToString())); } await Task.WhenAll(tasks); var tempPeople = new List <PersonModel>(); foreach (var t in tasks) { tempPeople.AddRange(t.Result.PeopleList); } People = new ObservableCollection <PersonModel>(tempPeople); nextPage = tasks.Last()?.Result.NextPage; HasNextPage = nextPage != null; } catch (Exception) { //TODO: Handle specific exception AlertHelper.ShowMessage("Error", AppResource.err_DataLoadMessage, "OK"); } IsLoading = false; }
public async Task GetData() { IsLoading = true; try { //Get Films var tempFilms = new List <FilmModel>(); if (Person.Films != null) { var tasks = new List <Task <FilmModel> >(); for (int i = 0; i < Person.Films.Count; i++) { tasks.Add(Service.GetFilm(Person.Films[i])); } foreach (var t in tasks) { tempFilms.Add(t.Result); } await Task.WhenAll(tasks); } //Get Species var tempSpecies = new List <SpeciesModel>(); if (Person.Species != null) { var tasks = new List <Task <SpeciesModel> >(); for (int i = 0; i < Person.Species.Count; i++) { tasks.Add(Service.GetSpecies(Person.Species[i])); } foreach (var t in tasks) { tempSpecies.Add(t.Result); } await Task.WhenAll(tasks); } //Get Vehicles var tempVehicles = new List <VehicleModel>(); if (Person.Vehicles != null) { var tasks = new List <Task <VehicleModel> >(); for (int i = 0; i < Person.Vehicles.Count; i++) { tasks.Add(Service.GetVehicle(Person.Vehicles[i])); } foreach (var t in tasks) { tempVehicles.Add(t.Result); } await Task.WhenAll(tasks); } //Get Starships var tempStarships = new List <StarshipModel>(); if (Person.Starships != null) { var tasks = new List <Task <StarshipModel> >(); for (int i = 0; i < Person.Starships.Count; i++) { tasks.Add(Service.GetStarship(Person.Starships[i])); } foreach (var t in tasks) { tempStarships.Add(t.Result); } await Task.WhenAll(tasks); } Films = new ObservableCollection <FilmModel>(tempFilms); Vehicles = new ObservableCollection <VehicleModel>(tempVehicles); Species = new ObservableCollection <SpeciesModel>(tempSpecies); Starships = new ObservableCollection <StarshipModel>(tempStarships); } catch (Exception) { //TODO: Handle specific exception AlertHelper.ShowMessage("Error", AppResource.err_DataLoadMessage, "OK"); } IsLoading = false; }