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