Exemple #1
0
 /// <summary>
 /// Konstruktor matki
 /// </summary>
 /// <param name="Name"></param>
 /// <param name="sprawa"></param>
 public Matka(string Name, Sprawa sprawa)
 {
     stan                    = MozliwyStan.Kolejka;
     this.Name               = Name;
     this.sprawa             = sprawa;
     spisczasu.CzasPrzyjscia = czas.getTime();
     Console.WriteLine("Utworzona Matka " + this.Name + " o godzinie " + spisczasu.CzasPrzyjscia.ToString("T") + " ze sprawa " + this.sprawa.Typ_Sprawy + " o trudnosci " + this.sprawa.Trudnosc);
 }
Exemple #2
0
            public void Update()
            {
                switch (stan)
                {
                case MozliwyStan.Kolejka:
                    Pobierz_Bilet();
                    break;

                case MozliwyStan.Poczekalnia:
                    Podejdz_Do_Okienka();
                    break;

                case MozliwyStan.Okienko:
                    if (!sprawa.Rozwiazana)
                    {
                    }
                    else
                    {
                        Console.WriteLine("Matka " + Name + " ma rozwiazana sprawe");
                        Awansuj();
                    }
                    break;

                case MozliwyStan.Wyszla:
                    Console.WriteLine("Wyszłam, mam ID: " + Name + " | Zostałam obsłużona z numerem: " + bilet);
                    Console.WriteLine("Timestamps: ");
                    Console.WriteLine("Przyszlam o " + spisczasu.CzasPrzyjscia);
                    if (spisczasu.CzasOtrzymaniaNumerka.Year != 1)
                    {
                        Console.WriteLine("Otrzymalam numerek o " + spisczasu.CzasOtrzymaniaNumerka);
                        if (spisczasu.CzasPodejsciaDoOkienka.Year != 1)
                        {
                            Console.WriteLine("Podeszłam do okienka o " + spisczasu.CzasPodejsciaDoOkienka);
                            if (spisczasu.CzasRozwiazaniaSprawy.Year != 1)
                            {
                                Console.WriteLine("Rozwiązałam sprawe o " + spisczasu.CzasRozwiazaniaSprawy);
                            }
                            else
                            {
                                Console.WriteLine("Nie rozwiązałam sprawy");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Nie podeszłam do okienka");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Nie otrzymałam numerka");
                    }
                    break;

                default:
                    break;
                }
                if (!SimulationRunning)
                {
                    if (stan == MozliwyStan.Kolejka)
                    {
                        ListaSprawDostep.WaitOne();
                        ListaMatek.Add(this);
                        ListaSprawDostep.ReleaseMutex();
                        stan = MozliwyStan.Wyszla;
                    }
                    else if (stan == MozliwyStan.Poczekalnia)
                    {
                        stan = MozliwyStan.Wyszla;
                    }
                }
            }