コード例 #1
0
 public void OnNext(Baggageband value)
 {
     if (value.AantalKoffers == 0 && WachtendeVluchten.Any())
     {
         Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault();
         WachtendeVluchten.RemoveAt(0);
         value.HandelNieuweVluchtAf(volgendeVlucht);
         volgendeVlucht.StopWaiting();
     }
 }
コード例 #2
0
ファイル: Aankomsthal.cs プロジェクト: jordywollaars/DPint
        public void OnNext(Baggageband value)
        {
            Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault();

            if (volgendeVlucht != null)
            {
                volgendeVlucht.StopWaiting();
            }

            WachtendeVluchtenNaarBand(value);
        }
コード例 #3
0
ファイル: Aankomsthal.cs プロジェクト: StevenvdWinkel/IDPAT
        public void WachtendeVluchtenNaarBand()
        {
            // 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();

            if (WachtendeVluchten.Count > 0)
            {
                WachtendeVluchten.RemoveAt(0);
                volgendeVlucht.StopWaiting();
                legeBand.HandelNieuweVluchtAf(volgendeVlucht);
            }
        }
コード例 #4
0
        public void WachtendeVluchtenNaarBand()
        {
            Baggageband legeBand       = Baggagebanden.FirstOrDefault(bb => bb.AantalKoffers == 0);
            Vlucht      volgendeVlucht = WachtendeVluchten.FirstOrDefault();

            if (legeBand == null || volgendeVlucht == null)
            {
                return;
            }

            WachtendeVluchten.RemoveAt(0);
            volgendeVlucht.StopWaiting();
            legeBand.HandelNieuweVluchtAf(volgendeVlucht);
        }
コード例 #5
0
ファイル: Aankomsthal.cs プロジェクト: StevenvdWinkel/IDPAT
        public void NieuweInkomendeVlucht(string vertrokkenVanuit, int aantalKoffers)
        {
            // TODO: Het proces moet straks automatisch gaan, dus als er lege banden zijn moet de vlucht niet in de wachtrij.
            // Dan moet de vlucht meteen naar die band.

            // Denk bijvoorbeeld aan: Baggageband legeBand = Baggagebanden.FirstOrDefault(b => b.AantalKoffers == 0);
            Vlucht nieuweVlucht = new Vlucht(vertrokkenVanuit, aantalKoffers);

            WachtendeVluchten.Add(nieuweVlucht);

            Baggageband legeBand       = Baggagebanden.FirstOrDefault(bb => bb.AantalKoffers == 0);
            Vlucht      volgendeVlucht = WachtendeVluchten.FirstOrDefault();

            if (legeBand != null && volgendeVlucht != null)
            {
                volgendeVlucht.StopWaiting();
                WachtendeVluchten.RemoveAt(0);

                legeBand.HandelNieuweVluchtAf(volgendeVlucht);
            }
        }