Beispiel #1
0
        // 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);
        }
Beispiel #2
0
        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.
        }
Beispiel #3
0
        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));
        }