/// <summary> /// Mark the selected launch page as completed for the current student. /// </summary> /// <param name="ID">Invitation ID</param> /// <param name="LaunchPageID">Launch Page ID</param> /// <returns></returns> public ActionResult CompleteLaunchPage(int ID, int LaunchPageID) { tblInvitation Invitation = _ODB.tblInvitations.Where(e => e.ID == ID).SingleOrDefault(); tblLaunchPage LaunchPage = _ODB.tblLaunchPages.Where(e => e.ID == LaunchPageID).SingleOrDefault(); tblCompletedLaunchPage existingPage = Invitation.tblCompletedLaunchPages.Where(e => e.LaunchPageID == LaunchPageID).SingleOrDefault(); if (Invitation.ENumber == Current.User.ENumber || Current.User.IsAdmin) { if (existingPage == null) { tblCompletedLaunchPage CompletedPage = new tblCompletedLaunchPage(); CompletedPage.tblInvitation = Invitation; CompletedPage.tblLaunchPage = LaunchPage; CompletedPage.DateCompleted = DateTime.Now; _ODB.tblCompletedLaunchPages.AddObject(CompletedPage); _ODB.SaveChanges(); Logging.Log(Logging.LogType.Audit, string.Format("User {0} completed Launch Page ID {1} for Invitation {2}. tblCompletedLaunchPage.ID = {3}", Current.User.Username, LaunchPage.ID, Invitation.ID, CompletedPage.ID)); if (Invitation.HasPendingLaunch) { return(this.RedirectToAction <StudentController>(c => c.Launch(Invitation.ID))); } else { this.ShowPageMessage("You have completed the required LAUNCH module."); return(this.RedirectToAction <StudentController>(c => c.Invitation(Invitation.ID))); } } else { this.ShowPageError("The submitted launch page has already been completed."); } } else { this.ShowPageError("You are not authorized to view Launch material for this Invitation"); } return(this.RedirectToAction <StudentController>(c => c.Launch(Invitation.ID))); }
/// <summary> /// Allows the student to review a previously viewed & submitted launch page /// </summary> /// <param name="ID">Invitation ID</param> /// <param name="LaunchPageID">Launch Page ID</param> /// <returns></returns> public ActionResult ReviewLaunchPage(int ID, int LaunchPageID) { tblInvitation Invitation = _ODB.tblInvitations.Where(e => e.ID == ID).SingleOrDefault(); tblLaunchPage Page = null; if (Invitation.ENumber == Current.User.ENumber) { if (Invitation != null) { Page = Invitation.CompletedLaunchPages.Where(e => e.ID == LaunchPageID).SingleOrDefault(); return(View("Launch", new Tuple <tblInvitation, tblLaunchPage>(Invitation, Page))); } else { this.ShowPageError("Could not find an orientation invitation for the given ID"); } } else { this.ShowPageError("You are not authorized to view Launch material for this Invitation"); } return(this.RedirectToAction <StudentController>(c => c.Index())); }