Beispiel #1
0
        async private void CheckLibrary()
        {
            Collection <Book> books = new Collection <Book>
            {
                this.Book
            };

            CalilSearch.CheckBooks(books);
        }
Beispiel #2
0
        async Task <bool> AmazonSearch(AmazonBookSearch search)
        {
            ObservableCollection <Book> books = new ObservableCollection <Book>();
            bool ret = await search.ContinueSearch(books);

            if (ret)
            {
                addResultBook(books, ResultBookList);
                SearchResultVM.CheckBooks(books);
            }
            return(ret);
        }
Beispiel #3
0
        async private void InitList(BookShelf bookshelf, ObservableCollection <Book> books)
        {
            ResultBookList = new ObservableCollection <ViewModel.SearchResultBook>();
            addResultBook(books, ResultBookList);

            SearchResultVM = new SearchResultVM {
                BookResultList = ResultBookList
            };
            this.BindingContext = SearchResultVM;

            listBook.ItemSelected += async(sender, e) =>
            {
                if (e.SelectedItem == null)
                {
                    return;
                }
                ((ListView)sender).SelectedItem = null;
                ViewModel.SearchResultBook item = e.SelectedItem as ViewModel.SearchResultBook;

                //本棚に登録済みの場合は詳細を表示しない
                if (item != null && item.IsRegistBookShelf == false)
                {
                    await Navigation.PushAsync(new BookDetailPage(bookshelf, item.CreateBook(), item.IsRegistBookShelf));
                }
            };

            listBook.ItemAppearing += async(object sender, ItemVisibilityEventArgs e) => {
                // ObservableCollection の最後が ListView の Item と一致した時に ObservableCollection にデータを追加する。
                if (ResultBookList.Last() == e.Item as SearchResultBook)
                {
                    // ObservableCollection にデータを追加する処理
                    stack.IsVisible = true;
                    await AmazonSearch(SearchContext);     // 実際の処理を入れてください。

                    stack.IsVisible = false;
                }
            };

            SearchResultVM.CheckBooks(books);
        }