diff options
| author | Michael <[email protected]> | 2017-05-21 09:53:59 -0400 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-05-21 09:53:59 -0400 |
| commit | ba7bfaabc530efd23e327fb3eb61ca72027384d1 (patch) | |
| tree | d3ed302bb7787585aab929c011a6759aa8d7c833 /Project-Unite/Controllers/ContestsController.cs | |
| parent | 746cb59f560fff853c5129b1ec3e217543a4de42 (diff) | |
| download | project-unite-ba7bfaabc530efd23e327fb3eb61ca72027384d1.tar.gz project-unite-ba7bfaabc530efd23e327fb3eb61ca72027384d1.tar.bz2 project-unite-ba7bfaabc530efd23e327fb3eb61ca72027384d1.zip | |
disqualification
Diffstat (limited to 'Project-Unite/Controllers/ContestsController.cs')
| -rw-r--r-- | Project-Unite/Controllers/ContestsController.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Project-Unite/Controllers/ContestsController.cs b/Project-Unite/Controllers/ContestsController.cs index fd0c39f..a99b342 100644 --- a/Project-Unite/Controllers/ContestsController.cs +++ b/Project-Unite/Controllers/ContestsController.cs @@ -121,6 +121,41 @@ namespace Project_Unite.Controllers } + [RequiresAdmin] + public ActionResult Disqualify(string id) + { + var db = new ApplicationDbContext(); + var c = db.ContestEntries.FirstOrDefault(x => x.Id == id); + if (c == null) + return new HttpStatusCodeResult(404); + var model = new DisqualifySubmissionViewModel(); + model.Entry = id; + return View(model); + } + + [RequiresAdmin] + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult Disqualify(DisqualifySubmissionViewModel model) + { + if (!ModelState.IsValid) + return View(model); + var db = new ApplicationDbContext(); + var e = db.ContestEntries.FirstOrDefault(x => x.Id == model.Entry); + if (e == null) + return new HttpStatusCodeResult(404); + e.Disqualified = true; + e.DisqualifiedBy = User.Identity.GetUserId(); + e.DisqualifiedReason = model.Reason; + db.SaveChanges(); + + NotificationDaemon.NotifyUser(User.Identity.GetUserId(), e.AuthorId, "Submission disqualified.", $@"We have disqualified your contest submission ""{e.Name}"". + +<strong>Reason:</strong> {e.DisqualifiedReason}"); + + return RedirectToAction("ViewSubmission", new { id = model.Entry }); + } + public ActionResult RemoveVote(string id) { string uid = User.Identity.GetUserId(); |
