Ejemplo n.º 1
0
        public bool WaitForRoom(Boss boss)
        {
            Random rand = new Random();
            int patience = rand.Next(0, 41);
            bool entered = false;

            Console.WriteLine(this.name + "  Poczekam " + patience / 2 + " minut na wolne miejsce w poczekalni");
            System.Timers.Timer timer = new System.Timers.Timer();
            timer.Elapsed += (sender, e) =>
            {
                patience--;
                if (patience > 0)
                {
                    entered = HandleRoom(boss);
                    if (entered == true)
                    {
                        Console.WriteLine(this.name + "  Zanim wyszedłem pojawiło się miejsce w poczekalni. Wchodzę do poczekalni.");
                        timer.Stop();
                    }
                }
                else
                {
                    Console.WriteLine(this.name + "  Skończyła mi się cierpliwość. Wychodzę.");
                    entered = false;
                    timer.Stop();
                }
            };
            timer.Interval = 500;
            timer.Enabled = true;

            return entered;
        }
Ejemplo n.º 2
0
        private static void CreateClient(Boss boss, int counter)
        {
            Client client = new Client(counter, boss);
            if (client.manicure_wanted)
                Console.WriteLine("Przybył klient " + client.name + " na strzyżenie i manicure");
            else
                Console.WriteLine("Przybył klient " + client.name + " tylko na strzyżenie");

            client.Start();
        }
Ejemplo n.º 3
0
 bool HandleRoom(Boss boss)
 {
     if (boss.waiting_room.Count < boss.waiting_room.Capacity - 1)
     {
         boss.waiting_room.Add(this);
         return true;
     }
     else
     {
         return false;
     }
 }
Ejemplo n.º 4
0
        public Client(int _name, Boss _boss)
        {
            name = _name;
            Random rand = new Random();
            int temp = rand.Next(0, 3);
            if (temp == 0)
                manicure_wanted = true;
            else
                manicure_wanted = false;

            boss = _boss;
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            int counter = -1;

            Logic logic = new Logic();
            logic.TakeNumbers(out logic.liczbaFryzjerow, out logic.liczbaManikiurzystek, out logic.pojemnoscPoczekalni);
            Console.WriteLine("Licbza fryzjerów: " + logic.liczbaFryzjerow);
            Console.WriteLine("Liczba manikiurzystek: " + logic.liczbaManikiurzystek);
            Console.WriteLine("Pojemność poczekalni: " + logic.pojemnoscPoczekalni);

            Boss szefu = new Boss(logic.liczbaFryzjerow, logic.liczbaManikiurzystek, logic.pojemnoscPoczekalni);

            System.Timers.Timer timer = new System.Timers.Timer();
            timer.Elapsed += (sender, e) => { counter++; HandleTimerElapsed(szefu, counter); };
            timer.Interval = 1000;
            timer.Enabled = true;

            if (Console.Read() == 'q')
                timer.Enabled = false;

            Console.ReadKey();
        }
Ejemplo n.º 6
0
 public Barber(int _name, Boss _boss)
 {
     name = _name;
     boss = _boss;
 }
Ejemplo n.º 7
0
 static void HandleTimerElapsed(Boss boss, int counter)
 {
     CreateClient(boss, counter);
 }
Ejemplo n.º 8
0
 public Manicurist(int _name, Boss _boss)
 {
     name = _name;
     boss = _boss;
 }