public void WachtendeVluchtenNaarBand() { if (WachtendeVluchten.Count() == 0) { return; } Bagageband legeBand = Bagagebanden.FirstOrDefault(bb => bb.AantalKoffers == 0); Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault(); WachtendeVluchten.RemoveAt(0); legeBand.HandelNieuweVluchtAf(volgendeVlucht); volgendeVlucht.StopWaiting(); }
public void WachtendeVluchtenNaarBand() { while (Bagagebanden.Any(bb => bb.AantalKoffers == 0) && WachtendeVluchten.Any()) { // TODO: Straks krijgen we een update van een bagageband. Dan hoeven we alleen maar te kijken of hij leeg is. // Als dat zo is kunnen we vrijwel de hele onderstaande code hergebruiken en hebben we geen while meer nodig. Bagageband legeBand = Bagagebanden.FirstOrDefault(bb => bb.AantalKoffers == 0); Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault(); WachtendeVluchten.RemoveAt(0); legeBand.HandelNieuweVluchtAf(volgendeVlucht); } }
public void HandelNieuweVluchtAf(Vlucht vlucht) { VluchtVertrokkenVanuit = vlucht.VertrokkenVanuit; AantalKoffers = vlucht.AantalKoffers; if (_huidigeVluchtTimer != null) { _huidigeVluchtTimer.Stop(); } _huidigeVluchtTimer = new Timer(); _huidigeVluchtTimer.Interval = (int)((60.0 / _aantalKoffersPerMinuut) * 1000); _huidigeVluchtTimer.Tick += KofferVanBandGehaald; _huidigeVluchtTimer.Start(); Notify(this); }
public void HandelNieuweVluchtAf(Vlucht vlucht) { VluchtVertrokkenVanuit = vlucht.VertrokkenVanuit; AantalKoffers = vlucht.AantalKoffers; if (_huidigeVluchtTimer != null) { _huidigeVluchtTimer.Stop(); } _huidigeVluchtTimer = new Timer(); _huidigeVluchtTimer.Interval = (int)((60.0 / _aantalKoffersPerMinuut) * 1000); _huidigeVluchtTimer.Tick += KofferVanBandGehaald; _huidigeVluchtTimer.Start(); // TODO: We moeten het laten weten dat we een update hebben! }