public bool add(String gate, DailyFlights fligth) { List <FreeTimes> list = FlightsPool.availableTimes[gate]; FreeTimes item = null; foreach (FreeTimes value in list) { if (fligth.ArrivalTime >= value.StartTime && fligth.DepartueTime <= value.EndTime) { item = value; break; } } if (item != null) { list.Remove(item); if (fligth.ArrivalTime > item.StartTime) { list.Add(new FreeTimes(item.StartTime, fligth.ArrivalTime)); } if (fligth.DepartueTime < item.EndTime) { list.Add(new FreeTimes(fligth.DepartueTime, item.EndTime)); } FlightsPool.todayFlights[gate].Add(fligth); return(true); } return(false); }
public void cancel(string gate, DailyFlights fligth) { List <FreeTimes> list = FlightsPool.availableTimes[gate]; FreeTimes findItem = null; bool findFlg = false; List <FreeTimes> removedList = new List <FreeTimes>(); foreach (FreeTimes value in list) { if (fligth.ArrivalTime == value.EndTime && findFlg == false) { value.EndTime = fligth.DepartueTime; findFlg = true; findItem = value; } else if (findFlg == true && findItem.EndTime == value.StartTime) { findItem.EndTime = value.EndTime; removedList.Add(value); } } if (findFlg == false) { list.Add(new FreeTimes(fligth.ArrivalTime, fligth.DepartueTime)); } else { FlightsPool.availableTimes[gate] = list.Except(removedList).ToList(); } FlightsPool.todayFlights[gate].Remove(fligth); }
public ActionResult AddFlight() { DailyFlights df = new DailyFlights(); GateDAO dao = new GateDAO(); foreach (Gate item in dao.gatesList) { df.listGates.Add(new SelectListItem { Text = item.GateName, Value = item.GateNumber }); } return(View(df)); }
public ActionResult AddFlight(DailyFlights df) { if (ModelState.IsValid) { GateDAO dao = new GateDAO(); bool isAdded = dao.add(df.GateNumber, df); if (isAdded) { return(RedirectToAction("Index")); } } return(View(df)); }
public ActionResult EditFlight(string gateNumber, string flightNumber) { if (String.IsNullOrEmpty(flightNumber)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } GateDAO dao = new GateDAO(); DailyFlights df = dao.get(flightNumber); if (df == null) { return(HttpNotFound()); } return(View(df)); }
public IHttpActionResult PutFlight(DailyFlights dailyFlight) { IHttpActionResult result = null; GateDAO dao = new GateDAO(); bool isUpdated = dao.update(dailyFlight.GateNumber, dailyFlight.ArrivalTime, dailyFlight.DepartueTime, dailyFlight.FlightNumber); if (isUpdated) { result = Ok(dailyFlight); } else { result = NotFound(); } return(result); }
public DailyFlights get(string flightNumber) { DailyFlights result = null; foreach (Gate gate in gatesList) { foreach (DailyFlights item in FlightsPool.todayFlights[gate.GateNumber]) { if (item.FlightNumber.Equals(flightNumber)) { result = item; result.GateNumber = gate.GateNumber; break; } } } return(result); }
public IHttpActionResult GetFlight(string id) { IHttpActionResult result; DailyFlights df = null; GateDAO dao = new GateDAO(); df = dao.get(id); if (df != null) { result = Ok(df); } else { result = NotFound(); } return(result); }
public bool update(String gate, TimeSpan arrivalTime, TimeSpan departueTime, string flightNumber) { List <DailyFlights> list = FlightsPool.todayFlights[gate]; DailyFlights oldItem = null; bool result = false; foreach (DailyFlights value in list) { if (value.FlightNumber == flightNumber) { oldItem = value; break; } } if (oldItem != null) { cancel(gate, oldItem); DailyFlights newItem = new DailyFlights(arrivalTime, departueTime, flightNumber); result = add(gate, newItem); if (!result) { gate = FlightsPool.getAnotherGateName(gate); if (gate != null) { result = add(gate, newItem); if (result == false) { add(gate, oldItem); } } else { add(gate, oldItem); } } } return(result); }
public IHttpActionResult Delete(string id) { IHttpActionResult result = null; GateDAO dao = new GateDAO(); // Get the flight DailyFlights df = dao.get(id); // Did we find the flight? if (df.FlightNumber != null) { // Delete the flight dao.cancel(df.GateNumber, df); result = Ok(true); } else { result = NotFound(); } return(result); }