public ActionResult Save(NewModuleInputModel model) { if (!ModelState.IsValid) { return(View(model)); } int lastCapital = Array.FindLastIndex <char>(model.LecturerFullName.ToCharArray(), Char.IsUpper); string lastName = null; if (lastCapital >= 0) { lastName = model.LecturerFullName.Substring(lastCapital); } string firstName = model.LecturerFullName.Split(' ')[0]; int lecturerID = context.Lecturers.ToList().Find(x => x.LastName == ' ' + lastName && x.FirstName == firstName).ID; context.Modules.Add(new DataModel.Classes.Module() { ID = model.ID, ModuleCode = model.ModuleCode, ModuleName = model.ModuleName, Description = model.Description }); context.ModuleDeliveries.Add(new DataModel.Classes.ModuleDelivery() { LecturerID = lecturerID, ModuleID = model.ID, DeliveryDay = model.DeliveryDay, DeliveryTime = model.DeliveryTime, Duration = model.Duration }); context.SaveChanges(); ViewBag.Success = true; return(RedirectToAction("CreateModule")); }
public ActionResult CreateNewAttendanceSheet(CreateAttendanceSheet model) { if (!ModelState.IsValid) { return(View(model)); } int moduleID = context.Modules.ToList().Find(i => i.ModuleCode == model.ModuleCode).ID; if (!context.ModuleDeliveries.ToList().Exists(x => x.ModuleID == moduleID && x.LecturerID == lecturerID)) { TempData["ErrorMessage"] = "You cannot register attendance for this module as you do no teach it"; return(RedirectToAction("CreateAttendanceSheet")); } DataModel.Classes.ModuleAttendance attendance = new DataModel.Classes.ModuleAttendance() { ID = model.ID, ModuleID = moduleID, StudentID = model.StudentID, StartDateTime = model.StartDateTime, FinishDateTime = model.FinishDateTime }; if (context.ModuleAttendances.Contains(attendance)) { TempData["ErrorMessage"] = "You've already recorded this attendance"; return(RedirectToAction("CreateAttendanceSheet")); } context.ModuleAttendances.Add(attendance); context.SaveChanges(); return(RedirectToAction("AttendanceSheets")); }
public ActionResult Enroll(int moduleID) { string loggedStudentID = System.Web.HttpContext.Current.User.Identity.Name.Split('@')[0]; int numberOfModulesAlreadyChosen = context.Enrollments.ToList().FindAll(i => i.StudentID == loggedStudentID).Count; if (numberOfModulesAlreadyChosen >= 6) { TempData["EnrollmentMessage"] = "You've already enrolled in the maximum number of modules (6 modules)"; return(RedirectToAction("ModuleEnrollment")); } if (context.Enrollments.ToList().Exists(i => i.ModuleID == moduleID && i.StudentID == loggedStudentID)) { TempData["EnrollmentMessage"] = "You've already enrolled in that module"; return(RedirectToAction("ModuleEnrollment")); } context.EnrollmentApplications.Add(new DataModel.EnrollmentApplication() { StudentID = loggedStudentID, ModuleID = moduleID, DateApplied = DateTime.Today }); context.SaveChanges(); TempData["EnrollmentMessage"] = "You've successfuly enrolled for selected module"; return(RedirectToAction("ModuleEnrollment")); }