Exemple #1
0
        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));
        }
Exemple #2
0
 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"));
 }