Exemple #1
0
        //[ValidateAntiForgeryToken]

        public ActionResult Edit(EditContestBindingModel model, int id)
        {
            var contestToEdit = this.Data.Contests.Find(id);

            if (ModelState.IsValid)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (contestToEdit == null)
            {
                return(this.RedirectToAction("Error404", "Home"));
            }

            if (model.Name != null)
            {
                contestToEdit.Name = model.Name;
            }

            contestToEdit.DeadlineStrategy = model.DeadlineStrategy;
            if (model.EndDate != null)
            {
                contestToEdit.EndDate = model.EndDate;
            }

            if (model.ParticipantsLimit != null)
            {
                contestToEdit.ParticipantsLimit = model.ParticipantsLimit;
            }

            this.Data.SaveChanges();

            return(this.View());
        }
        //[ValidateAntiForgeryToken]

        public ActionResult Edit(EditContestBindingModel model, int id)
        {
            var contestToEdit = this.Data.Contests.Find(id);

            if (ModelState.IsValid)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            if (contestToEdit == null)
            {
                return this.RedirectToAction("Error404", "Home");
            }

            if (model.Name != null)
            {
                contestToEdit.Name = model.Name;
            }

            contestToEdit.DeadlineStrategy = model.DeadlineStrategy;
            if (model.EndDate != null)
            {
                contestToEdit.EndDate = model.EndDate;
            }

            if (model.ParticipantsLimit != null)
            {
                contestToEdit.ParticipantsLimit = model.ParticipantsLimit;
            }

            this.Data.SaveChanges();

            return this.View();
        }
        public ActionResult Manage(int id, EditContestBindingModel model)
        {
            if (model == null)
            {
                HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.NotAcceptable);
                message.Content = new StringContent(Messages.MissingContestData);
                throw new System.Web.Http.HttpResponseException(message);
            }

            if (!ModelState.IsValid)
            {
                return this.View(model);
            }

            var contest = this.Data.Contests.Find(id);
            if (contest == null)
            {
                HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.NotFound);
                message.Content = new StringContent(Messages.ContestNotFound);
                throw new System.Web.Http.HttpResponseException(message);
            }
            contest.Title = model.Title;
            contest.Description = model.Description;
            contest.EndDate = model.EndDate;
            contest.StartDate = model.StartDate;
            contest.Thumbnail = model.Thumbnail;

            for (int i = 0; i < contest.Prizes.Count; i++)
            {
                contest.Prizes.ElementAt(i).Name = model.Prizes.ElementAt(i).Name;
                contest.Prizes.ElementAt(i).Description = model.Prizes.ElementAt(i).Description;
            }
            this.Data.SaveChanges();
            return this.RedirectToAction("GetContestById", "Contests", new { id = id });
        }
        public ActionResult EditContest(EditContestBindingModel model)
        {
            if (ModelState.IsValid)
            {
                var currentUserId = User.Identity.GetUserId();
                var currentUser = this.Data.Users.Find(currentUserId);
                var contest = this.Data.Contests.Find(model.Id);
                if (contest == null)
                {
                    return this.RedirectToAction("Profile", "Users");
                }

                contest.Title = model.Title;
                contest.Description = model.Description;
                contest.ParticipationStrategy = model.ParticipationStrategy;
                contest.NumberOfParticipants = model.NumberOfParticipants;
                contest.DeadlineStrategy = model.DeadlineStrategy;
                contest.Deadline = model.Deadline;
                contest.PrizeCount = model.PrizeCount;
                contest.PrizeValues = model.PrizeValues*2;
                contest.RewardStrategy = model.RewardStrategy;
                contest.VotingStrategy = model.VotingStrategy;

                this.Data.SaveChanges();

                this.TempData["message-edit-contest-success"] = "You successfully edited contest!";

                return RedirectToAction("ContestDetails", "Contests", new { id = contest.Id });
            }
            
            return RedirectToAction("Profile", "Users");
        }