// Method to list comments for a specific status. private async Task <StatusDetailsViewModel> GetViewModelFromStatus(Status status) { StatusDetailsViewModel viewModel = new StatusDetailsViewModel(); viewModel.Status = status; List <Comment> comments = await _context.Comments .Where(x => x.MyStatus == status).ToListAsync(); viewModel.Comments = comments; return(viewModel); }
public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } Status status = await _context.Statuses .SingleOrDefaultAsync(m => m.StatusID == id); if (status == null) { return(NotFound()); } StatusDetailsViewModel viewModel = await GetViewModelFromStatus(status); return(View(viewModel)); // Returns the details view with the added comment. }
public async Task <IActionResult> Details([Bind("StatusID, Remark")] StatusDetailsViewModel viewModel) { if (ModelState.IsValid) { Comment comment = new Comment(); comment.Remark = viewModel.Remark; Status status = await _context.Statuses .SingleOrDefaultAsync(m => m.StatusID == viewModel.StatusID); if (status == null) { return(NotFound()); } comment.MyStatus = status; _context.Comments.Add(comment); await _context.SaveChangesAsync(); viewModel = await GetViewModelFromStatus(status); } return(View(viewModel)); }