private async void Loading(int pageIndex) { if (_isSearch) { Search(_currentSearchQuery); } if (TheLoaiDangXem == Wrapper.TagTruyen.Favorite) { await LoadingFavorite(); return; } if (!IsLoading) { IsLoading = true; var currentTheload = TheLoaiDangXem; var wrapper = WrapperCreator.Create(TrangDocTruyen); var result = await wrapper.GetTopTruyen(pageIndex, currentTheload); DanhSachTruyen.Clear(); if (result != null) { foreach (var truyen in result.ListTruyen) { DanhSachTruyen.Add(truyen); } MaxPageIndex = result.MaxPageIndex; } IsLoading = false; this.OnPropertyChanged("DanhSachTruyen"); } }
public void TestLSBGetByTag() { Assert.AreEqual(TagTruyen.DoThi.ToLsbString(), "đô+thị"); var top = WrapperCreator.Create(SiteTruyen.LuongSonBac); var result = Task.Run(() => top.GetTopTruyen(1, TagTruyen.DoThi)).Result; foreach (var truyen in result.ListTruyen) { Assert.AreEqual(truyen.Category, "Đô Thị"); } }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #region Constructors /// <summary> /// Constructs a virtualized list over an underlying data object. /// </summary> /// <param name="underlyingDataObject">The underlying object over which wrappers will be created.</param> /// <param name="dataObjectCount"> /// The number of "items" in the underlying object. Also the number of wrappers to be created. /// </param> /// <param name="wrapperCreator"> /// A delegate that will create wrapper objects given an index into the underlying object. /// </param> public LazyObservableCollection ( TData underlyingDataObject, int dataObjectCount, WrapperCreator <TData, TWrapper> wrapperCreator ) { _underlyingDataObject = underlyingDataObject; _count = dataObjectCount; _wrapperCreator = wrapperCreator; this.SubscribeToEvents(); }
public void TestLSBSearch() { Assert.AreEqual(TagTruyen.DoThi.ToLsbString(), "đô+thị"); var top = WrapperCreator.Create(SiteTruyen.LuongSonBac); var result = Task.Run(() => top.SearchTruyen("thiên", 1)).Result; Assert.AreNotEqual(result.ListTruyen.Count, 0); var first = result.ListTruyen[0]; Assert.IsNotNull(first.Author); Assert.IsNotNull(first.Title); Debug.WriteLine("Tìm kiếm " + first.Author); }
public void TestTungHoanhGetChapter() { var top = WrapperCreator.Create(SiteTruyen.TungHoanh); var truyen = new Truyen(SiteTruyen.TruyenConvert); truyen.TruyenUrl = "http://tunghoanh.com/huan-luyen-vien-huyen-thoai-Cqaaaab.html"; var result = Task.Run(() => top.GetChapterNumber(truyen, 22)).Result; Assert.AreEqual(result.IndexStartOfChapter, 22, " Chỉ số bị sai"); var chapter = result.ListChapter[0]; Debug.WriteLine("Nội dung " + chapter.NoiDung); }
public void TestTruyenConvertGetChapter() { var top = WrapperCreator.Create(SiteTruyen.TruyenConvert); var truyen = new Truyen(SiteTruyen.TruyenConvert); truyen.TruyenUrl = "http://truyencv.com/thien-vuc-thuong-khung/"; var result = Task.Run(() => top.GetChapterNumber(truyen, 22)).Result; Assert.AreEqual(result.IndexStartOfChapter, 22, " Chỉ số bị sai"); var chapter = result.ListChapter[0]; Debug.WriteLine("Nội dung " + chapter.NoiDung); }
public void TestLSBGetChapter() { var top = WrapperCreator.Create(SiteTruyen.LuongSonBac); var truyen = new Truyen(SiteTruyen.LuongSonBac); truyen.TruyenUrl = "trieu-hoan-than-binh-tac-gia-ha-nhat-dich-lanh-134355858.html"; var result = Task.Run(() => top.GetChapterNumber(truyen, 22)).Result; Assert.AreEqual(result.IndexStartOfChapter, 2, " Chỉ số bị sai"); var chapter = result.ListChapter[result.IndexStartOfChapter]; Assert.AreEqual(chapter.TenChuong, "Ngươi là Độc Cô Nhai ?", "Chương bị sai"); Debug.WriteLine("Tìm kiếm " + chapter.TenChuong); }
public void TestLSBGetListChapter() { var top = WrapperCreator.Create(SiteTruyen.LuongSonBac); var num = rand.Next(10); var result = Task.Run(() => top.GetTopTruyen()).Result; var truyen = result.ListTruyen[num]; truyen.CurrentPageRead = 2; truyen.MaxPageTruyen = 10; Task.Run(() => truyen.LoadCurrentListChapter()).Wait(); for (int i = 0; i < 10; i++) { var chap = truyen.GetChapterByIndex(i); Assert.AreEqual(i, chap.IndexNumberPageOfChapter, "So chuong danh dau k0 bang nhau"); } }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #region Protected Surface protected virtual void Dispose(bool disposeManaged) { if (disposeManaged) { this.UnsubscribeFromEvents(); // Call dispose on the wrapper items and clean up the list DisposeItems(_wrapperDictionary); _wrapperDictionary = null; // Stop holding-on to the wrapper creator delegate _wrapperCreator = null; } // Stop holding-on to the underlying collection (might be a native COM object, so do this regardless) _underlyingDataObject = default(TData); _count = 0; }
public async void Search(string query) { if (!IsLoading) { IsLoading = true; IsSearch = true; _currentSearchQuery = query; var wrapper = WrapperCreator.Create(TrangDocTruyen); var result = await wrapper.SearchTruyen(query, CurrentPageIndex); DanhSachTruyen.Clear(); foreach (var truyen in result.ListTruyen) { DanhSachTruyen.Add(truyen); } MaxPageIndex = result.MaxPageIndex; IsLoading = false; this.OnPropertyChanged("DanhSachTruyen"); } }
public void TestTungHoanhtGetTop() { var top = WrapperCreator.Create(SiteTruyen.TungHoanh); var result = Task.Run(() => top.GetTopTruyen()).Result; Assert.AreNotEqual(result.ListTruyen.Count, 0); Assert.AreNotEqual(result.MaxPageIndex, 0); Debug.WriteLine("MaxPage" + result.MaxPageIndex); Debug.WriteLine("MaxPage" + result.MaxPageIndex); var first = result.ListTruyen[7]; Assert.IsNotNull(first.Author); Assert.IsNotNull(first.Title); first.CurrentPageRead = 2; first.MaxPageTruyen = 10; //Task.Run(() => first.LoadCurrentListChapter()).Wait(); //var chap = first.GetChapterByIndex(1); //Assert.IsNotNull(chap, "Chapter Is Null"); //Assert.AreNotEqual(first.NumberView, 0); //Assert.AreNotEqual(first.MaxPageTruyen, 0); }