Esempio n. 1
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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
0
        public void WachtendeVluchtenNaarBand(Bagageband band)
        {
            var volgendeVlucht = WachtendeVluchten.FirstOrDefault();

            WachtendeVluchten.RemoveAt(0);

            band.HandelNieuweVluchtAf(volgendeVlucht);
        }
Esempio n. 4
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);

            WachtendeVluchten.Add(new Vlucht(vertrokkenVanuit, aantalKoffers));
        }
 public void OnNext(Baggageband value)
 {
     if (value.AantalKoffers == 0 && WachtendeVluchten.Any())
     {
         Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault();
         WachtendeVluchten.RemoveAt(0);
         value.HandelNieuweVluchtAf(volgendeVlucht);
         volgendeVlucht.StopWaiting();
     }
 }
Esempio n. 6
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);
            }
        }
Esempio n. 7
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);
            }
        }
Esempio n. 8
0
        public void OnNext(Baggageband value)
        {
            Vlucht volgendeVlucht = WachtendeVluchten.FirstOrDefault();

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

            WachtendeVluchtenNaarBand(value);
        }
Esempio n. 9
0
 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));
     }
 }
Esempio n. 10
0
        public void NieuweInkomendeVlucht(string vertrokkenVanuit, int aantalKoffers)
        {
            Bagageband legeBand = Bagagebanden.FirstOrDefault(b => b.AantalKoffers == 0);

            if (legeBand != null)
            {
                legeBand.HandelNieuweVluchtAf(new Vlucht(vertrokkenVanuit, aantalKoffers));
            }
            else
            {
                WachtendeVluchten.Add(new Vlucht(vertrokkenVanuit, aantalKoffers));
            }
        }
Esempio n. 11
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);
            }
        }
Esempio n. 12
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();
        }
Esempio n. 13
0
        public void NieuweInkomendeVlucht(string vertrokkenVanuit, int aantalKoffers)
        {
            Vlucht      newVlucht = new Vlucht(vertrokkenVanuit, aantalKoffers);
            Baggageband legeBand  = Baggagebanden.FirstOrDefault(b => b.AantalKoffers == 0);

            newVlucht.Subscribe(this);

            if (legeBand == null)
            {
                WachtendeVluchten.Add(newVlucht);
            }
            else
            {
                legeBand.HandelNieuweVluchtAf(newVlucht);
            }
        }
Esempio n. 14
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);
            }
            //}
        }
        public void NieuweInkomendeVlucht(string vertrokkenVanuit, int aantalKoffers)
        {
            // Het proces moet automatisch gaan, dus als er lege banden zijn moet de vlucht niet in de wachtrij.
            // Dan moet de vlucht meteen naar die band.

            var         vlucht   = new Vlucht(vertrokkenVanuit, aantalKoffers);
            Baggageband legeBand = Baggagebanden.FirstOrDefault(b => b.AantalKoffers == 0);

            if (legeBand == null)   // Geen lege banden
            {
                WachtendeVluchten.Add(vlucht);
            }
            else                    // Er is een lege band
            {
                legeBand.HandelNieuweVluchtAf(vlucht);
            }
        }
Esempio n. 16
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.

            Vlucht flight = new Vlucht(vertrokkenVanuit, aantalKoffers);

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

            if (emptyBand == null)
            {
                WachtendeVluchten.Add(flight);
            }
            else
            {
                emptyBand.HandelNieuweVluchtAf(flight);
            }
        }
Esempio n. 17
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;
             }
         }
     }
 }
Esempio n. 18
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);
            }
        }