public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> state) { //gets the requested character string url = (string)parameter; var client = new GoTService(); CurrentCharacter = await client.GetCharacterByUrlAsync(url); //First we need to check if the father data exists, if yes, the app makes a new call to the API to get the father's name if (CurrentCharacter.Father != "") { Character father = await client.GetCharacterByUrlAsync(CurrentCharacter.Father); FatherName = father.Name; } if (CurrentCharacter.Mother != "") { Character mother = await client.GetCharacterByUrlAsync(CurrentCharacter.Mother); MotherName = mother.Name; } if (CurrentCharacter.Spouse != "") { Character spouse = await client.GetCharacterByUrlAsync(CurrentCharacter.Spouse); SpouseName = spouse.Name; } foreach (var house in CurrentCharacter.Allegiances) { House h = await client.GetHouseByUrlAsync(house); //types are needed for navigation _allegiances.Add(h); //name is shown on the UI Allegiances.Add(h.Name); } foreach (var bookName in CurrentCharacter.Books) { Book b = await client.GetBookByUrlAsync(bookName); _books.Add(b); BookNames.Add(b.Name); } foreach (var povBookName in CurrentCharacter.PovBooks) { Book b = await client.GetBookByUrlAsync(povBookName); _povBooks.Add(b); PovBookNames.Add(b.Name); } await base.OnNavigatedToAsync(parameter, mode, state); }
//Függvény, ami meghívódik, ha a CharacterDetailsPage lesz az aktív View public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> state) { //Egy új service indítása, a paraméterben kapott karakter adatainak betöltése string url = (string)parameter; GoTService service = new GoTService(); Character = await service.GetAsync <Character>(new Uri(url)); if (!Character.Father.Equals("")) { var father = await service.GetAsync <Character>(new Uri(Character.Father)); Father = father.Name; } if (!Character.Mother.Equals("")) { var mother = await service.GetAsync <Character>(new Uri(Character.Mother)); Mother = mother.Name; } if (Character.Spouse.Length > 0) { var spouse = await service.GetAsync <Character>(new Uri(Character.Spouse)); Spouse = spouse.Name; } if (!Character.Titles[0].Equals("")) { string titles = ""; foreach (string title in Character.Titles) { titles += title + ", "; } Titles = DeleteLastComa(titles); } if (!Character.Aliases[0].Equals("")) { string aliases = ""; foreach (string alias in Character.Aliases) { aliases += alias + ", "; } Aliases = DeleteLastComa(aliases); } if (Character.Books.Length > 0) { foreach (var bookURL in Character.Books) { var book = await service.GetAsync <Book>(new Uri(bookURL)); this.BookArray.Add(book); } } else { BookArray.Add(new Book { Name = "N/A" }); } if (Character.PovBooks.Length > 0) { foreach (var povBookURL in Character.PovBooks) { var povBook = await service.GetAsync <Book>(new Uri(povBookURL)); this.PovBookArray.Add(povBook); } } else { PovBookArray.Add(new Book { Name = "N/A" }); } if (Character.Allegiances.Length > 0) { foreach (var houseURL in Character.Allegiances) { var house = await service.GetAsync <House>(new Uri(houseURL)); this.Allegiances.Add(house); } } else { Allegiances.Add(new House { Name = "N/A" }); } if (!Character.TvSeries[0].Equals("")) { string series = ""; foreach (var season in Character.TvSeries) { series += season + "\n"; } TvSeries = series; } if (!Character.Playedby[0].Equals("")) { string playedBy = ""; foreach (var actor in Character.Playedby) { playedBy += actor + ", "; } PlayedBy = DeleteLastComa(playedBy); } await base.OnNavigatedToAsync(parameter, mode, state); }