public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } AddCounter(id); Annoucement annoucement = await _context.Annoucements .SingleOrDefaultAsync(m => m.Id == id); if (annoucement == null) { return(NotFound()); } AnnoucementDetailsViewModel viewModel = new AnnoucementDetailsViewModel(); viewModel.Annoucement = annoucement; List <Comment> comments = await _context.Comments .Where(x => x.MyAnnoucement == annoucement).ToListAsync(); viewModel.Comments = comments; return(View(viewModel)); }
public async Task <IActionResult> Details([Bind("AnnoucementID, Description")] AnnoucementDetailsViewModel viewModel) { if (ModelState.IsValid) { Comment comment = new Comment(); comment.Description = viewModel.Description; comment.User = GetCurrentUser(); comment.UserName = comment.User.UserName; Annoucement annoucement = await _context.Annoucements.SingleOrDefaultAsync(m => m.Id == viewModel.AnnoucementID); if (annoucement == null) { return(NotFound()); } comment.MyAnnoucement = annoucement; _context.Comments.Add(comment); await _context.SaveChangesAsync(); viewModel = await GetAnnoucementDetailsViewModelFromAnnoucement(annoucement); } return(View(viewModel)); }
/// <summary> /// Get the AnnoucmenetDetailsViewModel from an annoucement in the database. /// </summary> /// <param name="annoucement">The annoucement used to find the viewModel</param> /// <returns>viewModel of the annoucement</returns> private async Task <AnnoucementDetailsViewModel> GetAnnoucementDetailsViewModelFromAnnoucement(Annoucement annoucement) { AnnoucementDetailsViewModel viewModel = new AnnoucementDetailsViewModel(); viewModel.Annoucement = annoucement; List <Comment> comments = await _context.Comments .Where(x => x.MyAnnoucement == annoucement).ToListAsync(); viewModel.Comments = comments; return(viewModel); }