private async Task InitAsync(Film film) { IsLoading = true; if (film != null) { Film = film; Species.Clear(); foreach (var specy in film.species) { var currentSpecy = await _speciesRepository.GetSpecieAsync(specy) ?? await _dataService.GetSingleByUrl <Specie>(specy); Species.Add(currentSpecy); } Species = Species.OrderBy(item => item.name).ToObservableCollection(); Starships.Clear(); foreach (var starship in film.starships) { var currentStarship = await _starshipRepository.GetStarshipAsync(starship) ?? await _dataService.GetSingleByUrl <Starship>(starship); Starships.Add(currentStarship); } Starships = Starships.OrderBy(item => item.name).ToObservableCollection(); Vehicles.Clear(); foreach (var vehicle in film.vehicles) { var currentVehicle = await _vehiclesRepository.GetVehicleAsync(vehicle) ?? await _dataService.GetSingleByUrl <Vehicle>(vehicle); Vehicles.Add(currentVehicle); } Vehicles = Vehicles.OrderBy(item => item.name).ToObservableCollection(); People.Clear(); foreach (var character in film.characters) { var currentPeople = await _peopleRepository.GetPeopleAsync(character) ?? await _dataService.GetSingleByUrl <People>(character); People.Add(currentPeople); } People = People.OrderBy(item => item.name).ToObservableCollection(); Planets.Clear(); foreach (var planet in film.planets) { var currentPlanet = await _planetRepository.GetPlanetAsync(planet) ?? await _dataService.GetSingleByUrl <Planet>(planet); Planets.Add(currentPlanet); } Planets = Planets.OrderBy(item => item.name).ToObservableCollection(); } IsLoading = false; }