public async Task <IActionResult> Edit(string id, [Bind("User_id,User_name,Fans_num,Blog_num,Comment_num,User_pwd,Avatar")] mb_user mb_user) { if (id != mb_user.User_id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(mb_user); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!mb_userExists(mb_user.User_id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(mb_user)); }
//利用深度优先搜索,将数据库中相应的搜索查询出来并封装 public async Task dfs(CommentDetails comment) { //查询所有当前评论的子评论 var comment2 = from b in _context.mb_comment select b; comment2 = comment2.Where(m => m.comment_id == comment.comment.ID); List <mb_comment> mb_comment = await comment2.AsNoTracking().ToListAsync(); foreach (var item in mb_comment) { mb_user user = await _context.mb_user.SingleOrDefaultAsync(b => b.User_id == item.User_publish); CommentDetails m = new CommentDetails(item, user); comment.listnum++; comment.listson.Add(m); await dfs(comment.listson[comment.listnum - 1]); } }
public async Task <IActionResult> Create([Bind("ID,User_id,User_name,Fans_num,Blog_num,Comment_num,User_pwd,Avatar")] mb_user mb_user) { if (ModelState.IsValid) { mb_user.Avatar = "../../userhead/1.png"; _context.Add(mb_user); await _context.SaveChangesAsync(); //用户标识 var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme); identity.AddClaim(new Claim(ClaimTypes.Name, mb_user.User_id)); identity.AddClaim(new Claim(ClaimTypes.Role, "User")); //用户签到 await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity)); return(RedirectToAction("Index", "Home")); } return(View(mb_user)); }
public CommentDetails(mb_comment comment, mb_user user) { this.user = user; this.listson = new List <CommentDetails>(); this.comment = comment; }
// GET: mb_blog/Details/5 public async Task <IActionResult> Details(int?id, string createid) { if (id == null) { return(NotFound()); } BlogDetails blogDetails = new BlogDetails(); //获取博客信息 var mb_blog = await _context.mb_blog .SingleOrDefaultAsync(m => m.Blog_id == id); //获取用户信息 var mb_user = await _context.mb_user. SingleOrDefaultAsync(m => m.User_id == createid); //将博客信息,和用户信息都传入blogDetails blogDetails.blog = mb_blog; blogDetails.user = mb_user; //搜索用户id=creatid的博客 var blog = from b in _context.mb_blog select b; blog = blog.Where(b => b.Create_id == createid); blogDetails.listblog = await blog.AsNoTracking().ToListAsync(); if (mb_blog == null) { return(NotFound()); } //每次有用户访问了Details,都意味着这篇博客的访问数量+1 mb_blog.PageViews++; try { _context.Update(mb_blog); await _context.SaveChangesAsync(); } catch { } //当当前用户和博客创建者已经是订阅关系了 var mb_relation = _context.mb_relationship.SingleOrDefaultAsync(m => m.UserA_id == User.Identity.Name && m.UserB_id == mb_blog.Create_id); if (mb_relation.Result != null) { ViewData["IsRelation"] = "true"; } //获取所有该博客的评论 var comment = from b in _context.mb_comment select b; comment = comment.Where(m => m.blog_id == id && m.comment_id == 0); List <mb_comment> mb_comment = await comment.AsNoTracking().ToListAsync(); List <CommentDetails> allcomment = new List <CommentDetails>(); foreach (var item in mb_comment) { mb_user user = await _context.mb_user.SingleOrDefaultAsync(m => m.User_id == item.User_publish); allcomment.Add(new CommentDetails(item, user)); } foreach (var item in allcomment) { await dfs(item); } ViewBag.CO = allcomment; return(View(blogDetails)); }