예제 #1
0
파일: Bouncer.cs 프로젝트: Tofomb/Lab6T
        public void Work(WaitingParameters wp)
        {
            Thread.Sleep(wp.getDelayToNextPatron());
            int numberOFPatron = wp.getNumberOfPatrons();

            for (int ii = 0; ii < numberOFPatron; ii++)
            {
                EnteringBar(wp);
            }
        }
예제 #2
0
파일: Bouncer.cs 프로젝트: Tofomb/Lab6T
        public void EnteringBar(WaitingParameters wp)
        {
            Patron patron = new Patron();

            patron.LeavingThePub += mw.LeavingPub;
            patron.OrderABeer    += mw.BartenderInteraction;
            patron.DrinkingBeer  += mw.SittingAndDrinking;
            patron.patronName     = GetRandomName();
            Arrival?.Invoke(patron.patronName);
            Task BeingPatron = Task.Run(() =>
            {
                Thread.Sleep(wp.getTimeForPatronToGoToTheBar());
                //
                mw.FindingEmptyChair += patron.LookingForTable;
                //
                patron.patronAct(patron);
            });
        }