public async Task <IActionResult> PutUserNovelList(NovelList novelList) { var name = User.FindFirstValue(ClaimTypes.Name); var user = await _context.User.FirstOrDefaultAsync(a => a.UserName == name); novelList.UserId = user.Id; var novelListItem = await _context.NovelList.FirstOrDefaultAsync(a => a.NovelItemId == novelList.NovelItemId && a.UserId == user.Id); var novelItem = await _context.NovelItem.FirstOrDefaultAsync(a => a.Id == novelListItem.NovelItemId); if (novelList.UserRating >= 1 && novelList.UserRating <= 10 && novelList.UserProgress >= 0 && novelList.UserProgress <= novelItem.EpisodeCount) { novelListItem.UserRating = novelList.UserRating; novelListItem.UserProgress = novelList.UserProgress; if (novelListItem.UserProgress == novelItem.EpisodeCount) { // Set to complete novelListItem.CompleteStatus = (CompleteStatusNovel)1; } else if (novelListItem.UserProgress > 0) { // Set to reading novelListItem.CompleteStatus = (CompleteStatusNovel)2; } _context.Entry(novelListItem).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Ok("Updated list")); } else { return(BadRequest()); } }
private void OnAdd3() { if (NovelList.Any(R => R.Code == Code3)) { SelectedNovel = NovelList.FirstOrDefault(R => R.Code == Code3); Code3 = ""; MessageBox.Show("이미 등록된 소설입니다."); return; } var novel = new Novel { Type = NovelType.Kakuyomu, Code = Code3 }; NovelList.Add(novel); Code3 = ""; UpdateCount++; SelectedNovel = novel; }
private void Display() { string sql = "SELECT * FROM Novels"; DataSet data = connector.query(sql); NovelList.DataSource = data; NovelList.DataBind(); }
public ActionResult DeleteConfirmed(int id) { NovelList novelList = db.NovelLists.Find(id); db.NovelLists.Remove(novelList); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// 提取总榜网页信息 /// </summary> private void ExtractingTotalRankData() { ParallelLoopResult result = Parallel.ForEach(OriginHtml.ToArray(), (htmlContent, state, i) => { foreach (var item in HtmlAnalysis.AnalysisTotalRank(htmlContent)) { NovelList.Add(item); } }); }
public ActionResult Edit([Bind(Include = "Id,Name,Chapter,Genre")] NovelList novelList) { if (ModelState.IsValid) { db.Entry(novelList).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(novelList)); }
private void RedDetails(NovelList Info) { var list = GetDetails(Info); Dispatcher.Invoke(() => { d.Close(); Dialog.Show(new TextDialog(list)); }); }
public ActionResult Create([Bind(Include = "Id,Name,Chapter,Genre")] NovelList novelList) { if (ModelState.IsValid) { db.NovelLists.Add(novelList); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(novelList)); }
private void OnDeleteNovel() { if (SelectedNovel == null) { return; } NovelList.Remove(SelectedNovel); if (NovelList.Count > 0) { SelectedNovel = NovelList[0]; } }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } NovelList novelList = db.NovelLists.Find(id); if (novelList == null) { return(HttpNotFound()); } return(View(novelList)); }
private NovelDetails GetDetails(NovelList Info) { NovelDetails novelDetails = new NovelDetails(); novelDetails.Name = Info.Name; novelDetails.NovelId = Info.NovelId; novelDetails.Url = Info.Url; novelDetails.Cover = Info.Cover; novelDetails.Author = Info.Author; var _introduction = biqudu.GetIntroduction(Info.Url); string Content = _introduction.Trim(); Content = Content.Replace(" ", ""); novelDetails.Introduction = Content; return(novelDetails); }
public async Task <IActionResult> Top() { var username = User.FindFirstValue(ClaimTypes.Name); if (username == null) { var noUserViewModel = new UserNovelListViewModel(); var topNovelNoUserList = await _context.NovelItem.OrderByDescending(a => a.Rating).ToListAsync <NovelItem>(); noUserViewModel.NovelInfoList = topNovelNoUserList; return(View(noUserViewModel)); } var user = await _context.User.FirstOrDefaultAsync(a => a.UserName == username); var userId = user.Id; var novelList = await _context.NovelItem.OrderByDescending(a => a.Rating).ToListAsync <NovelItem>(); var userStats = new List <NovelList>(); foreach (var novel in novelList) { var userScore = await _context.NovelList.FirstOrDefaultAsync(a => a.NovelItemId == novel.Id && a.UserId == userId); if (userScore == null) { var notOnList = new NovelList { UserRating = 0, UserProgress = 0, CompleteStatus = 0 }; userStats.Add(notOnList); } else { userStats.Add(userScore); } } var viewModel = new UserNovelListViewModel { User = user, NovelInfoList = novelList, UserNovelList = userStats }; return(View(viewModel)); }
/// <summary> /// 搜索 /// </summary> /// <param name="Name"></param> /// <param name="Path"></param> /// <returns></returns> public static List <NovelList> GetSearchList(string Name = "凡人修仙传", string Path = "") { List <NovelList> novelLists = new List <NovelList>(); string url = "http://www.biqudu.tv/s.php?q=" + Name; HtmlWeb web = new HtmlWeb(); web.OverrideEncoding = Encoding.GetEncoding("utf-8"); //从url中加载 HtmlDocument doc = web.Load(url); try { var allList = doc.DocumentNode.SelectNodes("//*[@id='nr']").ToList(); int i = 1; foreach (var item in allList) { NovelList novelList = new NovelList(); HtmlDocument adoc = new HtmlDocument(); adoc.LoadHtml(item.InnerHtml); var List = adoc.DocumentNode.SelectNodes("//td").ToList(); novelList.Id = i; novelList.Name = List[0].SelectSingleNode("//*[@class='odd']/a").InnerText; novelList.Url = List[0].SelectSingleNode("//*[@class='odd']/a").Attributes["href"].Value; novelList.LastChapter = List[1].InnerText; novelList.Author = List[2].InnerText; novelList.Number = List[3].InnerText; novelList.UpdateTime = List[4].InnerText; novelList.Status = List[5].InnerText; novelList.NovelId = novelList.Url.Split('/')[3]; var idArr = novelList.NovelId.Split('_'); string ImgUrl = $"http://www.biqudu.tv/files/article/image/{idArr[0]}/{idArr[1]}/{idArr[1]}s.jpg"; novelList.Cover = DownloadFileImg(ImgUrl, $"{idArr[1]}s.jpg", Path + "Img/bqd/"); i++; novelLists.Add(novelList); } return(novelLists); } catch (Exception) { return(novelLists); } }
private void Worker_RunDownloadHomePageCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Cancelled) { MessageBox.Show("任务已取消"); CurrentDownloadHomePageMessage = "【任务已取消】"; CurrentDownloadHomePageProgress = 0d; } else if (e.Error != null) { MessageBox.Show(e.Error.Message + Environment.NewLine + e.Error.Source + Environment.NewLine + e.Error.StackTrace); } else { NovelList.RemoveAll(p => p == null); ExtractingHomePageData(); NovelList.RemoveAll(p => p.Intro == string.Empty || p.Intro == null); InsertOrUpdateDate(); CurrentDownloadHomePageMessage = "【任务完成】"; CurrentDownloadHomePageProgress = 100d; } IsWorkNotRuning = true; }
public async Task <IActionResult> PostUserNovelList(NovelList novelList) { var name = User.FindFirstValue(ClaimTypes.Name); var user = await _context.User.FirstOrDefaultAsync(a => a.UserName == name); novelList.UserId = user.Id; var currentNovelList = await _context.NovelList.Where(a => a.UserId == user.Id).ToListAsync <NovelList>(); foreach (var listItem in currentNovelList) { if (listItem.NovelItemId == novelList.NovelItemId) { return(BadRequest("Item already on list")); } } _context.NovelList.Add(novelList); var updateNovel = await _context.NovelItem.FirstOrDefaultAsync(a => a.Id == novelList.NovelItemId); updateNovel.Members += 1; _context.Entry(updateNovel).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Ok("Added to list")); }
private void OnClosing() { Config.NovelList = NovelList.ToList(); Config.Save(); }