public void OnNext(Baggageband value) { if (value.AantalKoffers == 0 && WachtendeVluchten.Any()) { Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault(); WachtendeVluchten.RemoveAt(0); value.HandelNieuweVluchtAf(volgendeVlucht); volgendeVlucht.StopWaiting(); } }
public void WachtendeVluchtenNaarBand() { while (Baggagebanden.Any(bb => bb.AantalKoffers == 0) && WachtendeVluchten.Any()) { Baggageband legeBand = Baggagebanden.FirstOrDefault(bb => bb.AantalKoffers == 0); Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault(); WachtendeVluchten.RemoveAt(0); legeBand.HandelNieuweVluchtAf(volgendeVlucht); } }
public void NieuweInkomendeVlucht(string vertrokkenVanuit, int aantalKoffers) { if (Baggagebanden.Any(bb => bb.AantalKoffers == 0) && !WachtendeVluchten.Any()) { Baggageband legeBand = Baggagebanden.FirstOrDefault(bb => bb.AantalKoffers == 0); legeBand.HandelNieuweVluchtAf(new Vlucht(vertrokkenVanuit, aantalKoffers)); } else { WachtendeVluchten.Add(new Vlucht(vertrokkenVanuit, aantalKoffers)); } }
public void WachtendeVluchtenNaarBand() { while (Baggagebanden.Any(bb => bb.AantalKoffers == 0) && WachtendeVluchten.Any()) { // TODO: Straks krijgen we een update van een baggageband. 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. Baggageband legeBand = Baggagebanden.FirstOrDefault(bb => bb.AantalKoffers == 0); Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault(); WachtendeVluchten.RemoveAt(0); legeBand.HandelNieuweVluchtAf(volgendeVlucht); } }
public void OnNext(Baggageband obj) { if (!(obj is null)) { for (int i = 0; i < Baggagebanden.Count; i++) { if (Baggagebanden[i].Naam == obj.Naam) { if (Baggagebanden[i].AantalKoffers == 0 && WachtendeVluchten.Any()) { Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault(); WachtendeVluchten.RemoveAt(0); Baggagebanden[i].HandelNieuweVluchtAf(volgendeVlucht); } return; } } } }