Example #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");
            }
        }
Example #2
0
 // load khi lan dau tien xem
 private async void FisrtLoad()
 {
     DanhSachTruyen.Clear();
     if (await _settingService.IsHaveFavorite())
     {
         await LoadingFavorite();
     }
     else
     {
         await LoadingTheLoaiCommand.Execute();
     }
 }
Example #3
0
        /// <summary>
        /// Tìm kiếm các truyện phân trang theo phân trang và tìm kiếm
        /// Author       :   HoangNM - 01/04/2019 - create
        /// </summary>
        /// <param name="condition">Đối tượng chứa điều kiện tìm kiếm</param>
        /// <returns>Danh sách các truyện đã tìm kiếm được. Exception nếu có lỗi</returns>
        public DanhSachTruyen GetListTruyen(int index)
        {
            try
            {
                DanhSachTruyen listTruyen = new DanhSachTruyen();

                // Lấy các thông tin dùng để phân trang
                listTruyen.Paging = new Paging(context.Truyens.Count(x => !x.DelFlag), index);
                // Tìm kiếm và lấy dữ liệu theo trang
                listTruyen.listTruyen = context.Truyens.Where(x => !x.DelFlag).OrderBy(x => x.Id)
                                        .Skip((listTruyen.Paging.CurrentPage - 1) * listTruyen.Paging.NumberOfRecord)
                                        .Take(listTruyen.Paging.NumberOfRecord).Select(x => new Truyen
                {
                    Id             = x.Id,
                    TenTruyen      = x.TenTruyen,
                    TenKhac        = x.TenKhac,
                    Id_ChuKy       = x.Id_ChuKy,
                    Id_TrangThai   = x.Id_TrangThai,
                    TrangThai      = x.TrangThaiTruyen.TenTrangThai,
                    Id_Nhom        = x.Id_Nhom,
                    TenNhom        = x.NhomDich.TenNhomDich,
                    AnhDaiDien     = x.AnhDaiDien,
                    AnhBia         = x.AnhBia,
                    NamPhatHanh    = x.NamPhatHanh,
                    MoTa           = x.MoTa,
                    DanhSachTacGia = x.LuuTacGias.Where(y => !y.DelFlag).Select(y => new TacGia
                    {
                        Id        = y.TacGia.Id,
                        TenTacGia = y.TacGia.TenTacGia
                    }).ToList(),
                    DanhSachTheLoai = x.LuuLoaiTruyens.Where(y => !y.DelFlag).Select(y => new TheLoai
                    {
                        Id         = y.LoaiTruyen.Id,
                        TenTheLoai = y.LoaiTruyen.TenTheLoai,
                        MoTa       = y.LoaiTruyen.Mota
                    }).ToList()
                }).ToList();

                return(listTruyen);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Example #4
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");
            }
        }
Example #5
0
        public DanhSachTruyen XuLyTruyenCuaNhom(int index, int idNhomDich)
        {
            DanhSachTruyen listTruyen = new DanhSachTruyen();

            // Lấy các thông tin dùng để phân trang
            listTruyen.Paging = new Paging(context.Truyens.Count(x => x.Id_Nhom == idNhomDich && !x.DelFlag), index);
            // Tìm kiếm và lấy dữ liệu theo trang
            listTruyen.listTruyen = context.Truyens.Where(x => x.Id_Nhom == idNhomDich && !x.DelFlag).OrderBy(x => x.Id)
                                    .Skip((listTruyen.Paging.CurrentPage - 1) * listTruyen.Paging.NumberOfRecord)
                                    .Take(listTruyen.Paging.NumberOfRecord).Select(x => new Truyen
            {
                Id           = x.Id,
                TenTruyen    = x.TenTruyen,
                Id_ChuKy     = x.Id_ChuKy,
                Id_TrangThai = x.Id_TrangThai,
                TenNhom      = x.NhomDich.TenNhomDich,
                AnhDaiDien   = x.AnhDaiDien
            }).ToList();

            return(listTruyen);
        }
Example #6
0
        private async Task <bool> LoadingFavorite()
        {
            if (await _settingService.IsHaveFavorite())
            {
                if (!IsLoading)
                {
                    IsLoading = true;
                    DanhSachTruyen.Clear();
                    TheLoaiDangXem = Wrapper.TagTruyen.Favorite;
                    var list = await _settingService.ListFavoriteSong();

                    foreach (var truyenKey in list)
                    {
                        DanhSachTruyen.Add(TruyenSqlFavoriteData.Convert(truyenKey));
                    }
                    IsLoading = false;
                }
                return(true);
            }

            return(false);
        }