public List <Book> GetCacheData() { List <Book> books = null; if (string.IsNullOrEmpty(AppSettingService.GetUserId())) { return(null); } books = DbBookShelf.GetBooks(AppDataPath.GetAppCacheDbPath(), AppSettingService.GetUserId()); return(books); }
public void OnSetHadReadCommand(object obj) { var item = obj as Book; if (item == null || !item.IsNew) { return; } item.IsNew = false; item.LastReadChapterName = item.NewestChapterName; DbBookShelf.InsertOrUpdateBook(AppDataPath.GetAppCacheDbPath(), item, AppSettingService.GetUserId()); }
private async void RemoveItemFromShelf(Book item) { var url = SoduPageValue.BookShelfPage + "?id=" + item.BookId; var html = await GetHtmlData2(url, false, false); if (html.Contains("取消收藏成功")) { ToastHelper.ShowMessage(item.BookName + "已从在线书架移除"); Books.Remove(item); DbBookShelf.RemoveBook(AppDataPath.GetAppCacheDbPath(), item, AppSettingService.GetUserId()); } else { ToastHelper.ShowMessage(item.BookName + "移除失败"); } }
public async Task <bool> CompareWithLocalCache(List <Book> list) { var result = false; await Task.Run(() => { try { if (list == null || list.Count == 0) { return; } var localCathes = DbBookShelf.GetBooks(AppDataPath.GetAppCacheDbPath(), AppSettingService.GetUserId()); if (localCathes == null || localCathes.Count == 0) { DbBookShelf.InsertOrUpdateBooks(AppDataPath.GetAppCacheDbPath(), list, AppSettingService.GetUserId()); return; } foreach (var book in list) { var item = localCathes.FirstOrDefault(b => b.BookId == book.BookId); if (item == null) { continue; } book.IsNew = !ReplaceChar(book.NewestChapterName).Equals(ReplaceChar(item.LastReadChapterName)); book.LastReadChapterName = item.LastReadChapterName; } result = true; DbBookShelf.InsertOrUpdateBooks(AppDataPath.GetAppCacheDbPath(), list, AppSettingService.GetUserId()); } catch (Exception ex) { Debug.WriteLine(ex.Message + "\n" + ex.StackTrace); result = false; } }); return(result); }
public void GetCacheData() { if (!CookieHelper.CheckLogin()) { return; } Task.Run(() => { if (string.IsNullOrEmpty(AppSettingService.GetUserId())) { return; } var books = DbBookShelf.GetBooks(AppDataPath.GetAppCacheDbPath(), AppSettingService.GetUserId()); DispatcherHelper.CheckBeginInvokeOnUI(() => { books.ForEach(p => Books.Add(p)); }); }); }
public async void OnAddToOnlineShelfCommand(object obj) { if (!App.IsPro) { ToastHelper.ShowMessage("这是专业版功能,购买专业版即可使用"); return; } var book = obj as Book; if (book == null) { return; } if (!ViewModelInstance.Instance.Main.IsLogin && ViewModelInstance.Instance.Setting.IsPro) { ToastHelper.ShowMessage("您尚未登陆,请登录后操作"); return; } if (ViewModelInstance.Instance.OnLineBookShelf.Books.FirstOrDefault(p => p.BookId == book.BookId) != null) { return; } var url = string.Format(SoduPageValue.AddToShelfPage, book.BookId); var html = await GetHtmlData2(url, false, false); if (html.Contains("{\"success\":true}")) { var temp = book.Clone(); temp.LastReadChapterName = temp.NewestChapterName; var result = DbBookShelf.InsertOrUpdateBook(AppDataPath.GetAppCacheDbPath(), temp, AppSettingService.GetKeyValue(SettingKey.UserName) as string); ViewModelInstance.Instance.OnLineBookShelf.Books.Insert(0, temp); ToastHelper.ShowMessage($"成功添加{book.BookName}到在线书架"); } else { ToastHelper.ShowMessage(book.BookName + " 添加至个人书架失败"); } }
public bool CompareWithLocalCache(List <Book> onlineList, List <Book> localList) { var result = false; try { if (onlineList == null || onlineList.Count == 0) { return(false); } if (localList == null || localList.Count == 0) { return(false); } var userId = AppSettingService.GetUserId(); foreach (var book in onlineList) { var item = localList.FirstOrDefault(b => b.BookId == book.BookId); if (item == null) { continue; } book.IsNew = !ReplaceChar(book.NewestChapterName).Equals(ReplaceChar(item.LastReadChapterName)); book.LastReadChapterName = item.LastReadChapterName; } if (onlineList.Any(p => p.IsNew)) { result = true; } DbBookShelf.InsertOrUpdateBooks(AppDataPath.GetAppCacheDbPath(), onlineList, userId); } catch (Exception ex) { Debug.WriteLine(ex.Message + "\n" + ex.StackTrace); result = false; } return(result); }