コード例 #1
0
        public IActionResult Index(int id)
        {
            var talk = _db.Talks
                       .Include(x => x.Ratings)
                       .SingleOrDefault(x => x.Id == id);

            if (talk == null)
            {
                return(NotFound());
            }

            var viewModel = new TalkDetailsViewModel(talk);

            return(View(viewModel));
        }
コード例 #2
0
        public IActionResult RateTalk(int talkId, Rating newRating)
        {
            var talk = _db.Talks.SingleOrDefault(x => x.Id == talkId);

            if (talk == null)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                var viewModel = new TalkDetailsViewModel(talk);
                viewModel.Talk = talk;
                return(View("Index", viewModel));
            }

            talk.Ratings.Add(newRating);
            _db.SaveChanges();

            return(new RedirectToActionResult("Rated", "Talk", null));
        }