コード例 #1
0
        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");
            }
        }
コード例 #2
0
        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ị");
            }
        }
コード例 #3
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        #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();
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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");
            }
        }
コード例 #9
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        #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;
        }
コード例 #10
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");
            }
        }
コード例 #11
0
        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);
        }