public void AddFlight(FlightModel flight) { _flightsRepository.Add(flight); FlightTimeModel timeModel = new FlightTimeModel(flight.ID, flight.Time); if (flight.IsDeparture) { _departureFlightsTimeManager.Add(timeModel); } else { _landingFlightsTimeManager.Add(timeModel); } }
public void Add(FlightTimeModel flightTimeModel) { lock (_lockObject) { if (IsFirstOrEarlier(flightTimeModel)) { _flightTimeModels.AddFirst(flightTimeModel); StartTimer(); } else { var tmp = _flightTimeModels.First; while (NextNodeIsntNullOrEarlier(flightTimeModel, tmp)) { tmp = tmp.Next; } _flightTimeModels.AddAfter(tmp, flightTimeModel); } } }
private bool IsFirstOrEarlier(FlightTimeModel flightTimeModel) { return(_flightTimeModels.First == null || First.CompareTo(flightTimeModel) > 0); }
private static bool NextNodeIsntNullOrEarlier(FlightTimeModel flightTimeModel, LinkedListNode <FlightTimeModel> node) { return(node.Next != null || node.Next.Value.CompareTo(flightTimeModel) < 0); }