示例#1
0
        public void Guncelle(ISikayet sikayet)
        {
            Thread thread = new Thread(() => Git(sikayet.Konum));

            // Git(sikayet.Konum);
            thread.Start();
        }
示例#2
0
        // observer metodudur sikayet geldiginde calisir
        public void Guncelle(ISikayet sikayet)
        {
            // polis asenkron olarak gezdigi icin ilk once polisin devriyesini durdurur sonra olay yerine gider
            devriyeGez.Suspend();

            SetOlayYerineGit(sikayet);
            olayYerineGit.Start();

            Form1.RaporEkle(string.Format("[polis] [ihbar alindi] [{0},{1}] -> [{2},{3}] | {4} {5}", Konum.X, Konum.Y, sikayet.Konum.X, sikayet.Konum.Y, Ad, Soyad));
        }
示例#3
0
        public void SikayetKaydi(ISikayet sikayet)
        {
            // sistemin calismasi buna bagli bunun sirasinin degismesi durumunda ornegin, sikayeti eklemeden once haberver cagirilirsa hataya dusecek. bu yuzden template uygulayip bu siranin bozulmamasini sagliyoruz.
            SikayetEkle(sikayet);

            // rapora ekle
            RaporaEkle(sikayet);

            // sikayet alindiginda kesin haber verilecek ama polis merkezi olursa polislere haber verilecek, ambulans merkezi olursa saglikcilara haber verilecek
            HaberVer();
        }
示例#4
0
 // asenkron olarak gidilecek konumu ayarlar
 void SetOlayYerineGit(ISikayet sikayet)
 {
     MesgulMu      = true;
     olayYerineGit = new Thread(() =>
     {
         Git(sikayet.Konum);
         MesgulMu = false;
         Form1.RaporEkle(string.Format("[{2}] - [{0},{1}] sorun cozuldu", sikayet.Konum.X, sikayet.Konum.Y, sikayet.GetType().Name));
         DevriyeGez();
         PolisMerkezi.GetInstance().HaberVer();
     });
 }
示例#5
0
 public abstract void RaporaEkle(ISikayet sikayet);
示例#6
0
 private void SikayetEkle(ISikayet sikayet)
 {
     _sikayetler.Enqueue(sikayet);
 }
示例#7
0
 public override void RaporaEkle(ISikayet sikayet)
 {
     // polis raporuna ekler
     Form1.RaporEkle(string.Format("[{0}] [{1},{2}] sikayeti alindi", sikayet.GetType().Name, sikayet.Konum.X, sikayet.Konum.Y));
 }
 public void SikayetEt(ISikayet sikayet)
 {
     Console.WriteLine("Sikayet edildi. [{0}]", sikayet.GetType().Name);
     Merkez.SikayetKaydi(sikayet);
 }
示例#9
0
 // polis merkezi singleton mu degil mi bu tür alt sistemleri dusunmeye ihtiyac kalmiyor.
 public void SikayetEt(ISikayet sikayet)
 {
     polisMerkezi.SikayetKaydi(sikayet);
 }
 public void SikayetKaydi(ISikayet sikayet)
 {
     _sikayetler.Enqueue(sikayet);
     Console.WriteLine("Sikayet kaydi alindi. [{0}]", sikayet.GetType().Name);
     HaberVer();
 }
示例#11
0
 public void SikayetEt(ISikayet sikayet)
 {
     merkez.SikayetKaydi(sikayet);
 }