public ActionResult Detail(string eventSlug, string sessionSlug, SubmitOrEditSession input) { input.EventSlug = eventSlug; input.SessionSlug = sessionSlug; return Execute(input) .OnSuccess(x => RedirectToAction("Index", "Sessions")) .OnFailure(x => View("CreateOrUpdate", input)); }
public ActionResult Create(string userSlug) { if(State.NoEventScheduled()) { return View("NoEventScheduled"); } if(!State.RegisteredForEvent()) { DisplayErrorMessage("Please register before submitting a session."); return RedirectToAction("Create", "Registration", new {eventSlug = State.CurrentEventSlug()}); } var createUser = new SubmitOrEditSession(); if (State.UserIsAdmin() && !userSlug.IsEmpty()) { createUser.UserSlug = userSlug; } return View("CreateOrUpdate", createUser); }
public ActionResult Index(string eventSlug, SubmitOrEditSession input) { if(State.NoEventScheduled()) { return View("NoEventScheduled"); } if(!State.RegisteredForEvent()) { DisplayErrorMessage("Please register before submitting a session."); return RedirectToAction("Create", "Registration", new {eventSlug = State.CurrentEventSlug()}); } return Execute(input) .OnSuccess(x => { DocSession.SaveChanges(); var controllerName = State.UserIsAdmin() ? "Sessions" : "Account"; var routeValues = State.UserIsAdmin() ? new { Status = SessionStatus.PendingApproval } : null; return RedirectToAction("Index", controllerName, routeValues); }) .OnFailure(x => View("CreateOrUpdate", input)); }