public bool UpdateContest(string name, ManageContestBindingModel model) { Contest contest = this.db.Contests.FindFirst(c => c.Owner.AppUser.UserName == name && c.Id == model.Id); if (contest == null) { return(false); } if (model.IsActive) { contest.EndDate = model.EndDate; contest.Description = model.Description; contest.Title = model.Title; contest.StartDate = DateTime.Now; } contest.IsActive = model.IsActive; try { this.db.SaveChanges(); } catch (DbEntityValidationException) { return(false); } return(true); }
public ActionResult ManageContestStatus(ManageContestBindingModel model) { if (ModelState.IsValid) { bool isUpdated = this.service.UpdateContest(User.Identity.Name, model); if (isUpdated) { string status = model.IsActive ? "activated" : "deactivated"; this.AddNotification($"{model.Title} contest has been {status}!", NotificationType.SUCCESS); return(RedirectToAction("Contests", "Partner", new { Area = "", Id = model.Id })); } } this.AddNotification($"{model.Title} contest has NOT been updated!", NotificationType.ERROR); return(RedirectToAction("Contests", "Partner", new { Area = "", Id = model.Id })); }
public ActionResult ManageContest(int contestId) { ManageContestBindingModel model = this.service.GetContestToManage(User.Identity.Name, contestId); return(this.View(model)); }