Exemplo n.º 1
0
        public override void Execute(List <Event> scheduler, BloodStore bloodStorage, PatientQueue patientQ)
        {
            _type = "BT";
            int time = BUnits == 1 ? 500 : 300; // lambda statemenet N and Q are connect with T1 and T2

            for (int i = 0; i < BUnits; i++)
            {
                bloodStorage.BloodLevel++;
                bloodStorage.BloodStorageList.Add(new Blood(time));
                Utilisation temp = new Utilisation(SystemTime + time, "aUT");
                AddToScheduler(scheduler, temp); // Adds time of utilisation of Blood
                if (_flagEmergency == true)      // Enables to return exactly right units of blood from Emergency
                {
                    temp.BloodFromEmergency = true;
                }
            }
            BloodStore.Sorted(bloodStorage.BloodStorageList);
            Sorted(scheduler);
            if (time == 300)
            {
                BloodStore.OrderFlag = false;
            }                                                 // Setting right flags (makes NewOrder available)
            else
            {
                BloodStore.EmergencyFlag = false;
            }                                          // Makes EmergencyOrder available
        }
Exemplo n.º 2
0
        public override void Execute(List <Event> scheduler, BloodStore bloodStorage, PatientQueue patientQ)
        {
            Type = "ND";
            int time = Rnd.Next(11, 21);    // Gets this from generator

            time = SystemTime + time;
            Console.WriteLine("\n### NEW DONNOR ###");
            Blood.AddBlood(bloodStorage.BloodStorageList, time);                           // Adds Blood to the Storage
            BloodStore.Sorted(bloodStorage.BloodStorageList);
            AddToScheduler(scheduler, new BloodSupply(SystemTime + time, "TR", 1, false)); // Adds Transport with Blood which will arrive
            AddToScheduler(scheduler, new NewDonnor(SystemTime + time, "ND"));             // Planning new Donnor Event
            Sorted(scheduler);
        }