Inheritance: System.Web.UI.Page
Ejemplo n.º 1
0
            public Bilet ZdobadzNumer(Matka matka)
            {
                Bilet bilet;

                Thread.Sleep(Opoznienie * TimeBase);
                ListaSprawDostep.WaitOne();
                switch (matka.ZwrocTyp())
                {
                case Matka.Sprawa.Typ.Administracja:
                    bilet = new Bilet('A', OstatniNumerek);
                    ListaSpraw.Add(bilet);
                    break;

                case Matka.Sprawa.Typ.Finanse:
                    bilet = new Bilet('F', OstatniNumerek);
                    ListaSpraw.Add(bilet);
                    break;

                default:
                    bilet = new Bilet('U', OstatniNumerek);
                    ListaSpraw.Add(bilet);
                    break;
                }
                OstatniNumerek++;
                ListaMatek.Add(matka);
                ListaSprawDostep.ReleaseMutex();
                zajety.ReleaseMutex();
                return(bilet);
            }
Ejemplo n.º 2
0
            void NowaSprawa()
            {
                ListaSprawDostep.WaitOne();
                int  index;
                bool Flaga = false;

                switch (kompetencja)
                {
                case Kompetencje.Administracja:
                    index = ListaSpraw.FindIndex(x => x.ZwrocKolejke() == 'A');
                    if (index != -1)
                    {
                        okienko.UstawWywolanyBilet(ListaSpraw.ElementAt(index));
                        ListaSpraw.RemoveAt(index);
                        okienko.Podejdz();
                        Console.WriteLine("Urzednik nr " + ID + ": Przydzielam sprawe nr " + okienko.ZdobadzWywolanyBilet() + " w okienku " + okienko.NumerOkienka);
                    }
                    else
                    {
                        Flaga = true;
                    }
                    break;

                case Kompetencje.Finanse:
                    index = ListaSpraw.FindIndex(x => x.ZwrocKolejke() == 'F');
                    if (index != -1)
                    {
                        okienko.UstawWywolanyBilet(ListaSpraw.ElementAt(index));
                        ListaSpraw.RemoveAt(index);
                        okienko.Podejdz();
                        Console.WriteLine("Urzednik nr " + ID + ": Przydzielam sprawe nr " + okienko.ZdobadzWywolanyBilet() + " w okienku " + okienko.NumerOkienka);
                    }
                    else
                    {
                        Flaga = true;
                    }
                    break;

                default:
                    index = ListaSpraw.FindIndex(x => true);
                    if (index != -1)
                    {
                        okienko.UstawWywolanyBilet(ListaSpraw.ElementAt(index));
                        ListaSpraw.RemoveAt(index);
                        okienko.Podejdz();
                        Console.WriteLine("Urzednik nr " + ID + ": Przydzielam sprawe nr " + okienko.ZdobadzWywolanyBilet() + " w okienku " + okienko.NumerOkienka);
                    }
                    else
                    {
                        Flaga = true;
                    }
                    break;
                }
                ListaSprawDostep.ReleaseMutex();
                if (Flaga)
                {
                    SprawdzPrzerwe(15);
                }
            }