示例#1
0
        public static void vadesizFaizEkle(object Yazi)
        {
            double       gelenFaiz = 0;
            string       yazi      = Convert.ToString(Yazi);
            vadesizHesap vh        = new vadesizHesap();

            if (vadesizSayac == 0) //İşlemleri 1 kez yapsın
            {
                vh.hesapBakiyesi         = ilkAnaPara;
                vadesizYeniHesapBakiyesi = ilkAnaPara;
                vadesizSayac++;
            }
            else
            {
                vh.hesapBakiyesi = vadesizYeniHesapBakiyesi;
            }

            gelenFaiz += vh.faizUygula();
            vadesizYeniHesapBakiyesi += gelenFaiz;

            if (vadesizParaArtisiniGoster)
            {
                Console.WriteLine(yazi + vh.hesapBakiyesi + " " + DateTime.Now);
            }
        }
示例#2
0
        //1. işlem
        public static void hesapAcilisi()
        {
            vadesizParaArtisiniGoster = false;
            aylikParaArtisiniGoster   = false;
            yillikParaArtisiniGoster  = false;

            bool   tcKontrol = false;
            string tcKontrol1; //length kullanmak için string oluşturduk
            long   tcKontrol2; //int yapamıyoruz boyutu yetmiyor, rakam kontrolü için oluşturdum

            vadesizHesap vh = new vadesizHesap();

            vh.hesapNo = ++hesapNolari; //ilk başta arttırıyoruz ki 1 olsun numarası
            Console.WriteLine("Ad soyad giriniz : ");
            vh.adiSoyadi = Console.ReadLine();
            Console.WriteLine("Tc no : ");
            tcKontrol1 = Console.ReadLine();
            tcKontrol  = long.TryParse(tcKontrol1, out tcKontrol2);
            while (true)
            {
                if (tcKontrol1.Length == 11 && tcKontrol == true) //Tc kontrol
                {
                    vh.tcNo = Convert.ToString(tcKontrol2);
                    break;
                }
                else
                {
                    //Console.Clear(); istenirse kullanılabilir önceki yazıları siler
                    Console.WriteLine("Tc numarası 11 haneli ve rakamlardan oluşmalıdır.");
                    Console.WriteLine("Tc no : ");
                    tcKontrol1 = Console.ReadLine();
                    tcKontrol  = long.TryParse(tcKontrol1, out tcKontrol2);
                }
            }

            Console.WriteLine("Açılış bakiyesi giriniz : ");
            double.TryParse(Console.ReadLine(), out vh.hesapBakiyesi); //bir değer girmezse 0 verir
            vh.hesapAcilisTarihi = DateTime.Today;
            vh.vadeBaslangici    = DateTime.Today;

yanlisVade: //Bu bir labeldir
            Console.WriteLine("Vade tipi? Vadesiz=1, Aylık=2, yıllık=3");
            byte vtip;

            byte.TryParse(Console.ReadLine(), out vtip);
            if (vtip == 1)
            {
                vh.hesapVadesi = vadeTipi.vadesiz;
                //gelen faiz miktarını ilk başta başlatmak için aşağıdaki kodları yazdık
                object obj = new object();
                obj        = "Vadesiz hesap bakiyesi artışı : ";
                ilkAnaPara = vh.hesapBakiyesi;
                TimerCallback tcb  = new TimerCallback(vadesizFaizEkle); //Timer için hazırlıyoruz içindeki fonksiyonu çalıştıracak
                Timer         saat = new Timer(tcb, obj, 2000, 2000);    //2 saniye sonra yazmaya başlasın 2 saniyede 1 yazsın
            }
            else if (vtip == 2)
            {
                vh.hesapVadesi = vadeTipi.aylik;

                object obj = new object();
                obj        = "Aylık hesap bakiyesi artışı : ";
                ilkAnaPara = vh.hesapBakiyesi;                         //yaratılan objenin bakiyesini tutuyoruz
                TimerCallback tcb  = new TimerCallback(aylikFaizEkle); //fonksiyona objeyi de yolluyor
                Timer         saat = new Timer(tcb, obj, 2000, 2000);
            }
            else if (vtip == 3)
            {
                vh.hesapVadesi = vadeTipi.yillik;

                object obj = new object();
                obj        = "Yıllık hesap bakiyesi artışı : ";
                ilkAnaPara = vh.hesapBakiyesi;
                TimerCallback tcb  = new TimerCallback(yillikFaizEkle);
                Timer         saat = new Timer(tcb, obj, 2000, 2000);
            }
            else
            {
                goto yanlisVade; //verilen labele gider işleme o satırdan sonra devam eder
            }
            vh.gelenFaiz = 0;

            hesapListesi.Add(vh);
            Console.WriteLine();
            Console.WriteLine("Hesap numarası " + vh.hesapNo + " olan kişinin kayıt işlemi başarıyla gerçekleştirilmiştir.");
            Console.ReadLine();
        }