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); } }
//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(); }