Example #1
0
        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);
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
 private bool IsFirstOrEarlier(FlightTimeModel flightTimeModel)
 {
     return(_flightTimeModels.First == null || First.CompareTo(flightTimeModel) > 0);
 }
Example #4
0
 private static bool NextNodeIsntNullOrEarlier(FlightTimeModel flightTimeModel, LinkedListNode <FlightTimeModel> node)
 {
     return(node.Next != null || node.Next.Value.CompareTo(flightTimeModel) < 0);
 }