public IActionResult AssignAircraft(int?id) { if ((HttpContext.Session.GetString("Role") == null) || (HttpContext.Session.GetString("Role") != "Admin")) { return(RedirectToAction("Index", "Login")); } if (id != null) { ViewData["flightList"] = GetFlights(id.Value); Aircraft aircraft = aircraftContext.FindAircraft(id.Value); AircraftAssignViewModel aircraftAssignViewModel = new AircraftAssignViewModel { AircraftID = aircraft.AircraftID, AircraftModel = aircraft.AircraftModel, NumBusinessSeat = aircraft.NumBusinessSeat, NumEconomySeat = aircraft.NumEconomySeat, status = aircraft.Status }; return(View(aircraftAssignViewModel)); } else { return(RedirectToAction("DisplayAircraft")); } }
public IActionResult AssignAircraft(AircraftAssignViewModel aircraft) { ViewData["flightList"] = GetFlights(aircraft.AircraftID); if (ModelState.IsValid && aircraft.status != "Under Maintenance") { aircraftContext.Assign(aircraft.AircraftID, Convert.ToInt32(aircraft.flightSchedule)); return(RedirectToAction("DisplayAircraft")); } else { return(View(aircraft)); } }
protected override ValidationResult IsValid( object value, ValidationContext validationContext) { AircraftAssignViewModel aircraft = (AircraftAssignViewModel)validationContext.ObjectInstance; if (aircraft.status == "Under Maintenance") { return(new ValidationResult("Aircraft selected is under maintenance ")); } if (aircraftContext.CheckFlight(aircraft.AircraftID, Convert.ToInt32(aircraft.flightSchedule))) //checks for conflicts in timings when assignment flight schedules { return(new ValidationResult("This aircraft a flight schedule that conflicts with selected flight schedule")); } return(ValidationResult.Success); }