Пример #1
0
        public async Task <IActionResult> Upvotes(int id)
        {
            Report  report = _reportRepository.GetReportsById(id);
            Upvotes temp   = _upvotesRepository.UpvoteExists(report, await _userManager.GetUserAsync(User));

            // if upvote doesn't exist already
            if (temp == null)
            {
                Upvotes newUpvote = new Upvotes()
                {
                    Reporter = await _userManager.GetUserAsync(User),
                    Report   = report
                };
                _upvotesRepository.AddUpvote(newUpvote);
                _reportRepository.IncrementUpvote(id);
            }
            else // upvote already exists, therefore remove the upvote
            {
                _upvotesRepository.UndoUpvote(report, await _userManager.GetUserAsync(User));
                _reportRepository.DecrementUpvote(id);
            }

            return(RedirectToAction("ReportDetails", new { id }));
        }