Ejemplo n.º 1
0
 //Eğer zincirdeki halka boş değilse bir sonraki kurumun degerlendir metoduna git.
 public void next(İzinDurumu izinDurumu)
 {
     if (this.successor != null)
     {
         this.successor.talepDegerlendir(izinDurumu);
     }
     else
     {
         Console.WriteLine("İzin alamadınız, kriterleriniz uymuyor!");
     }
 }
Ejemplo n.º 2
0
 public override void talepDegerlendir(İzinDurumu izinDurumu)
 {
     if (izinDurumu.gidilecekYol < 400)
     {
         Console.WriteLine("Sayın " + izinDurumu.kisi.isim + " " + izinDurumu.kisi.soyisim + " - İzin talebi vali tarafindan onaylandi");
     }
     else
     {
         this.next(izinDurumu);
     }
 }
Ejemplo n.º 3
0
        public override void talepDegerlendir(İzinDurumu izinDurumu)
        {
            int bugünİzinVerilenKisiSayisi = 10;

            if (izinDurumu.gidilecekYol < 120 && bugünİzinVerilenKisiSayisi < 15)
            {
                Console.WriteLine("Sayın " + izinDurumu.kisi.isim + " " + izinDurumu.kisi.soyisim + " - İzin talebi kaymakam tarafindan onaylandi");
            }
            else
            {
                this.next(izinDurumu);
            }
        }
Ejemplo n.º 4
0
        public override void talepDegerlendir(İzinDurumu izinDurumu)
        {
            //Kendine özgü bir kriter belirledik, farklılık olsun diye sadece.
            //Aile eğer şüpheli korona sayisi bugün 50' den düşükse izin verebiliyor, yoksa kaymakamdan izin almasını söylüyor
            int şüpheliKoronaliSayi = 50;

            if (izinDurumu.gidilecekYol < 20 && şüpheliKoronaliSayi < 75)
            {
                Console.WriteLine("Sayın " + izinDurumu.kisi.isim + " " + izinDurumu.kisi.soyisim + " - İzin talebi aileniz tarafindan onaylandi");
            }
            else
            {
                this.next(izinDurumu);
            }
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            //Concrete Handlerlarımızı tanımladık.
            Aile     aile     = new Aile();
            Kaymakam kaymakam = new Kaymakam();
            Vali     vali     = new Vali();

            //Mesaja göre nesne sıralaması yaptık.
            aile.ustOrganizasyonaGit(kaymakam);
            kaymakam.ustOrganizasyonaGit(vali);

            //Mesajlarımızı oluşturduk ve girilen km sayisini verdik, bir tanesini shallowcopy ile kopyaladık.
            İzinDurumu izinDurumu     = new İzinDurumu(100, "Batuhan", "Subasi");
            İzinDurumu yeniIzinDurumu = (İzinDurumu)izinDurumu.ShallowCopy();

            Console.WriteLine("İzin Durumları - Shallow Copy Öncesi");
            //Mesajlarımızı halkanın ilk zincirine gönderdik.
            aile.talepDegerlendir(izinDurumu);
            aile.talepDegerlendir(yeniIzinDurumu);

            Console.WriteLine("\nİzin Durumları - Shallow Copy Sonrasi");
            yeniIzinDurumu.gidilecekYol = 10;
            yeniIzinDurumu.kisi.isim    = "Aslihan";
            aile.talepDegerlendir(izinDurumu);
            aile.talepDegerlendir(yeniIzinDurumu);

            Console.WriteLine("\n\n");

            //Mesajlarımızı oluşturduk ve girilen km sayisini verdik, bir tanesini deepcpoy ile kopyaladık.
            İzinDurumu izinDurumuCopy     = new İzinDurumu(100, "Batuhan", "Subasi");
            İzinDurumu yeniIzinDurumuCopy = (İzinDurumu)izinDurumuCopy.DeepCopy();

            Console.WriteLine("İzin Durumları - Deep Copy Öncesi");
            //Mesajlarımızı halkanın ilk zincirine gönderdik.
            aile.talepDegerlendir(izinDurumuCopy);
            aile.talepDegerlendir(yeniIzinDurumuCopy);

            Console.WriteLine("\nİzin Durumları - Deep Copy Sonrasi");
            yeniIzinDurumuCopy.gidilecekYol = 10;
            yeniIzinDurumuCopy.kisi.isim    = "Aslihan";
            aile.talepDegerlendir(izinDurumuCopy);
            aile.talepDegerlendir(yeniIzinDurumuCopy);
        }
Ejemplo n.º 6
0
 //Soyut metot, bütün miras alanlar kendi kriterlerine göre izin durumunu değerlendirecek.
 public abstract void talepDegerlendir(İzinDurumu izinDurumu);
Ejemplo n.º 7
0
        public İzinDurumu DeepCopy()
        {
            İzinDurumu deepCopyIzinDurumu = new İzinDurumu(this.gidilecekYol, kisi.isim, kisi.soyisim);

            return(deepCopyIzinDurumu);
        }