public ActionResult Assign(int?id) { if (HttpContext.Session.GetString("Role") == null || HttpContext.Session.GetString("Role") != "Admin") { return(RedirectToAction("Index", "Home")); } FlightPersonnelViewModel personnelVM = new FlightPersonnelViewModel(); if (id != null) { personnelVM.scheduleVM = scheduleContext.GetScheduleDetails(id.Value); personnelVM.staffList = staffContext.GetAssign(id.Value); ViewData["availStaffList"] = StaffDDList(personnelVM.staffList); ViewData["roleList"] = RoleDDList(new List <SelectListItem>()); } return(View(personnelVM)); }
public ActionResult Assign(FlightPersonnelViewModel personnelVM) { ViewData["availStaffList"] = StaffDDList(personnelVM.staffList); ViewData["roleList"] = RoleDDList(new List <SelectListItem>()); if (ModelState.IsValid) { string newRole = personnelVM.crew.Role; int newStaffID = personnelVM.crew.StaffID; int newScheduleID = personnelVM.scheduleVM.ScheduleId; if (newStaffID != 0) { if (CheckVocation(newRole, newStaffID)) { if (newRole != "Flight Attendant") { if (crewContext.CheckCrew(newScheduleID, newRole)) { int oldStaffID = crewContext.GetOldID(newScheduleID, newRole); crewContext.UpdateCrew(newRole, newStaffID, newScheduleID, oldStaffID); TempData["SuccessMessage"] = "Crew successfully assigned!"; } else { crewContext.AddCrew(newScheduleID, newStaffID, newRole); TempData["SuccessMessage"] = "Crew successfully assigned!"; } } else { if (crewContext.GetAttendants(newScheduleID).Count < 3) { crewContext.AddCrew(newScheduleID, newStaffID, newRole); TempData["SuccessMessage"] = "Crew successfully updated!"; } else { for (int i = 0; i < crewContext.GetAttendants(newScheduleID).Count; i++) { //Stores in session state assigned FAs for selected FS HttpContext.Session.SetInt32("FA" + i, crewContext.GetAttendants(newScheduleID)[i].StaffID); } HttpContext.Session.SetInt32("FAScheduleID", newScheduleID); HttpContext.Session.SetInt32("FANewStaffID", newStaffID); return(RedirectToAction("UpdateFA")); } } } else { TempData["ErrorMessage"] = "Selected staff does not match selected role. Please Try Again."; return(RedirectToAction("Assign")); } } else { TempData["ErrorMessage"] = "Please select a staff member."; return(RedirectToAction("Assign")); } } else { TempData["ErrorMessage"] = "Error please try again."; return(RedirectToAction("DisplaySchedule")); } return(RedirectToAction("DisplaySchedule")); }