Esempio n. 1
0
        ActionResult PerformTransition(User user, DecisionInput input, Action <Submission> action, string successText)
        {
            if (ModelState.IsValid)
            {
                using (var db = new DataContext(user))
                {
                    var submission = db.Submissions.Include(x => x.CallForSpeakers)
                                     .Include(x => x.Submitter)
                                     .SingleOrDefault(x => x.Id == input.Id &&
                                                      x.CallForSpeakers.Id == input.CallForSpeakersId &&
                                                      x.CallForSpeakers.Organizer.Id == user.Id);

                    if (submission != null)
                    {
                        action(submission);
                        db.SaveChanges();
                        Success(successText);
                    }
                    else
                    {
                        Error("Invalid submission");
                    }
                    return(RedirectToAction("Review", new { id = input.CallForSpeakersId }));
                }
            }
            return(RenderReview(user, input.CallForSpeakersId));
        }
Esempio n. 2
0
 public ActionResult Accept(User user, DecisionInput input)
 {
     return(PerformTransition(user, input, x => x.Accept(_email), "You have successfully accepted this submission."));
 }