public ActionResult SaveStudent(AdminEditstudentViewModel m) { Student myStudent = new Student(); try { if (ModelState.IsValid) { myStudent.code = m.Code; myStudent.firstName = m.FirstName; myStudent.lastName = m.LastName; myStudent.email = m.Email; myStudent.grade = m.Grade; myStudent.gender = m.Gender; myStudent.musicalID = m.MusicalID; myStudent.studentID = m.StudentID; List<int> DesiredRoles = new List<int>(); DesiredRoles.Add(m.RoleID); myStudent.Save(DesiredRoles); StudentTime st = new StudentTime(); st.studentID = myStudent.studentID; st.timeID = m.TimeID; if (!st.IsAvailable()) throw new Exception("Too slow! This time has filled up. Please select another time."); st.Save(); } else { m.RoleList = MusicalRole.AllRoles(m.MusicalID).Select(r => new SelectListItem() { Text = r.name, Value = r.roleID.ToString() }); m.DateList = AuditionDate.MusicalDates(m.MusicalID).Select(r => new SelectListItem() { Text = ((DateTime)r.date).ToString("MM/dd/yyyy"), Value = r.dateID.ToString() }); if (m.DateID == 0) m.DateID = m.DateList.Select(r => Int32.Parse(r.Value)).FirstOrDefault(); m.TimeList = AuditionTime.TimeSlots(m.DateID).Select(t => new SelectListItem() { Text = t.timeDescription, Value = t.timeID.ToString() }); return View("EditStudent", m); } } catch (Exception ex) { m.RoleList = MusicalRole.AllRoles(m.MusicalID).Select(r => new SelectListItem() { Text = r.name, Value = r.roleID.ToString() }); m.DateList = AuditionDate.MusicalDates(m.MusicalID).Select(r => new SelectListItem() { Text = ((DateTime)r.date).ToString("MM/dd/yyyy"), Value = r.dateID.ToString() }); if (m.DateID == 0) m.DateID = m.DateList.Select(r => Int32.Parse(r.Value)).FirstOrDefault(); m.TimeList = AuditionTime.TimeSlots(m.DateID).Select(t => new SelectListItem() { Text = t.timeDescription, Value = t.timeID.ToString() }); ModelState.AddModelError("", ex.Message); return View("EditStudent", m); } return RedirectToRoute("AdminStudents", new { musicalID = myStudent.musicalID }); }
public ActionResult EditStudent(string musicalID, string studentID) { AdminEditstudentViewModel m = new AdminEditstudentViewModel(); Student stu = new Student(Int32.Parse(studentID)); m.Code = stu.code; m.Email = stu.email; m.FirstName = stu.firstName; m.LastName = stu.lastName; m.StudentID = stu.studentID; m.MusicalID = Int32.Parse(musicalID); m.Gender = stu.gender; m.Grade = stu.grade; StudentDateTime sdt = new StudentDateTime(Int32.Parse(studentID)); m.DateID = sdt.DateID; m.TimeID = sdt.TimeID; m.RoleID = stu.RoleIDs(m.MusicalID).Select(r => r).FirstOrDefault(); m.RoleList = MusicalRole.AllRoles(Int32.Parse(musicalID)).Select(r => new SelectListItem() { Text = r.name, Value = r.roleID.ToString() }); m.DateList = AuditionDate.MusicalDates(Int32.Parse(musicalID)).Select(r => new SelectListItem() { Text=((DateTime)r.date).ToString("MM/dd/yyyy"), Value = r.dateID.ToString() }); if (m.DateID == 0) m.DateID = m.DateList.Select(r => Int32.Parse(r.Value)).FirstOrDefault(); m.TimeList = AuditionTime.TimeSlots(m.DateID).Select(t => new SelectListItem() { Text = t.timeDescription, Value = t.timeID.ToString() }); return View(m); }