Beispiel #1
0
        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);
            //}

            var volgendeVlucht = WachtendeVluchten.FirstOrDefault();

            var legeBand = Baggagebanden.FirstOrDefault(band => band.AantalKoffers == 0);

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

            WachtendeVluchten.RemoveAt(0);

            legeBand.HandelNieuweVluchtAf(volgendeVlucht);
        }
Beispiel #2
0
        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);
            //}

            var nextFlight = WachtendeVluchten.FirstOrDefault();

            var emptyBand = Baggagebanden.FirstOrDefault(band => band.AantalKoffers == 0);

            if (nextFlight == null || emptyBand == null)
            {
                return;
            }

            WachtendeVluchten.RemoveAt(0);

            nextFlight.StopWaiting();

            emptyBand.HandelNieuweVluchtAf(nextFlight);
        }
        public void WachtendeVluchtenNaarBand(Bagageband band)
        {
            var volgendeVlucht = WachtendeVluchten.FirstOrDefault();

            WachtendeVluchten.RemoveAt(0);

            band.HandelNieuweVluchtAf(volgendeVlucht);
        }
 public void OnNext(Baggageband value)
 {
     if (value.AantalKoffers == 0 && WachtendeVluchten.Any())
     {
         Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault();
         WachtendeVluchten.RemoveAt(0);
         value.HandelNieuweVluchtAf(volgendeVlucht);
         volgendeVlucht.StopWaiting();
     }
 }
Beispiel #5
0
        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);
            }
        }
Beispiel #6
0
        public void OnNext(Baggageband value)
        {
            if (value.AantalKoffers <= 0 && WachtendeVluchten.Count > 0)
            {
                Baggageband legeBand       = value;
                Vlucht      volgendeVlucht = WachtendeVluchten.FirstOrDefault();
                WachtendeVluchten.RemoveAt(0);

                legeBand.HandelNieuweVluchtAf(volgendeVlucht);
            }
        }
Beispiel #7
0
        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);
            }
        }
Beispiel #8
0
        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();
        }
Beispiel #9
0
        public void WachtendeVluchtenNaarBand(Baggageband value)
        {
            //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.
            if (value.AantalKoffers == 0 && WachtendeVluchten.Any())
            {
                Baggageband legeBand       = value;
                Vlucht      volgendeVlucht = WachtendeVluchten.FirstOrDefault();
                WachtendeVluchten.RemoveAt(0);

                legeBand.HandelNieuweVluchtAf(volgendeVlucht);
            }
            //}
        }
Beispiel #10
0
 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;
             }
         }
     }
 }
Beispiel #11
0
        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);
            }
        }