コード例 #1
0
ファイル: DetailsPageViewModel.cs プロジェクト: Gaborori/GoT
        public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> state)
        {
            var bookUrl = (string)parameter;
            var service = new BookService();

            Book = await service.GetBookAsync(bookUrl);


            var characterService = new CharacterService();

            foreach (var item in book.povCharacters)
            {
                var character = await characterService.GetCharacterAsync(item);

                PovCharacters.Add(character);
            }

            await base.OnNavigatedToAsync(parameter, mode, state);
        }
コード例 #2
0
        /// <summary>
        /// When navigated to the page, gets the book details via api request, and then some url-base data requested too
        /// </summary>
        /// <param name="parameter"></param>
        /// <param name="mode"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> state)
        {
            try
            {
                var bookUrl = (string)parameter;
                var service = new ThroneService();
                Book = await service.GetBookAsync(bookUrl);

                if (Book.PovCharacters.Length != 0)
                {
                    PovCharacters.Clear();
                    foreach (String url in Book.PovCharacters)
                    {
                        Character newCharacter = await service.GetCharacterAsync(url);

                        PovCharacters.Add(newCharacter);
                    }
                }

                if (Book.Characters.Length != 0)
                {
                    Characters.Clear();
                    foreach (String url in Book.Characters)
                    {
                        Character newCharacter = await service.GetCharacterAsync(url);

                        Characters.Add(newCharacter);
                    }
                }

                await base.OnNavigatedToAsync(parameter, mode, state);
            }
            catch (RedirectMainException)
            {
                NavigationService.Navigate(typeof(MainPage));
            }
        }