示例#1
0
        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);
        }
示例#2
0
        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 }));
        }
示例#3
0
        public ActionResult ManageContest(int contestId)
        {
            ManageContestBindingModel model = this.service.GetContestToManage(User.Identity.Name, contestId);

            return(this.View(model));
        }