示例#1
0
        public MangaItemPage(MangaList manga)
        {
            this.manga  = manga;
            this.mangas = Manga.QueryMangaItem(manga);

            InitializeComponent();

            this.BindingContext = this.manga;
            this.SetBinding(TitleProperty, "Title");
            this.listView.ItemsSource = this.mangas;
        }
示例#2
0
        public static async Task <int> FetchMangaItem(MangaList manga)
        {
            var realm = manga.Realm;

            var mangaItems = await Zang.FetchMangaItemAsync(manga);

            realm.Write(() =>
            {
                foreach (var fetchedItem in mangaItems)
                {
                    realm.Add(new MangaItem
                    {
                        Title = fetchedItem.Item1,
                        Link  = fetchedItem.Item2,
                        Manga = manga
                    });
                }
            });

            return(0);
        }
示例#3
0
        public static async Task <List <Tuple <String, String> > > FetchMangaItemAsync(MangaList manga)
        {
            var web = new HtmlWeb();
            var doc = await web.LoadFromWebAsync(manga.Link);

            var nodes = doc.DocumentNode.Descendants()
                        .Where(x => x.Id == "post")
                        .First().Descendants("div")
                        .Where(x => x.Attributes["class"].Value == "contents")
                        .First().Descendants("a");

            var titles = nodes.Select(x => x.InnerText).ToList();
            var links  = nodes.Select(x => x.Attributes["href"].Value).ToList();

            return(titles.Zip(links, (title, link) => new Tuple <String, String>(title, link))
                   .ToList());
        }
示例#4
0
        public static IQueryable <MangaItem> QueryMangaItem(MangaList manga)
        {
            var realm = manga.Realm;

            return(realm.All <MangaItem>().Where(x => x.Manga == manga));
        }