private void btn_hesapac_Click_1(object sender, EventArgs e) { Hesap h = new Hesap(); h.hesapSahibiTC = hesapsinifi.hesapSahibiTC; h.hesapNo = musterisinifi.hesapno; h.bakiye = Convert.ToInt32(txt_bakiye.Text); if (rdb_vadeli.Checked == true) { h.hesapTuru = rdb_vadeli.Text; } else { h.hesapTuru = rdb_vadesiz.Text; } h.limit = musterisinifi.LimitBelirle(h.hesapTuru); h.acilisTarihi = DateTime.Now; h.hesapID = musterisinifi.id; musterisinifi.HesapAc(h); musterisinifi.hesapno++; MessageBox.Show("Hesap başarıyla açıldı!"); }
private void btnHesapAc_Click(object sender, EventArgs e) { int k = 0; foreach (Musteri m in Banka.Musteriler) { if (txtMusteriNoIste.Text == m.MusteriNo.ToString()) { k += 1; Hesap hesap = new Hesap(); Banka.ToplamHesapSayisi += 1; hesap.HesapNo += Banka.ToplamHesapSayisi + 1000; m.hesaplar.Add(hesap); MessageBox.Show("Hesap Açıldı. Bu Müşterinin Toplamda " + m.hesaplar.Count.ToString() + " Hesabı var.\n" + "Yeni Hesabın Numarası: " + hesap.HesapNo); if (Convert.ToInt32(nmrBaslangic.Text) != 0) { hesap.ParaYatir(Convert.ToInt32(nmrBaslangic.Text)); Islem islem = new Islem(); islem.ParaYat(hesap.HesapNo, Convert.ToInt32(nmrBaslangic.Text)); Banka.islemler.Add(islem); } } } if (k == 0) { MessageBox.Show("Müşteri Bulunamadı"); } }
public void HesapParaYatir(Hesap h, decimal miktar) { decimal odenenBorc = 0; h.bakiye += miktar; MessageBox.Show("Hesabınıza '" + miktar + "' TL eklenmiştir. \n Mevcut bakiye '" + h.bakiye + "' TL"); rapor = ("'" + miktar + "' TL yatırıldı."); tarih = DateTime.Today; h.RaporEkle(rapor, tarih); //Hesap Özetine yapılan işlem ve tarihi gönderiliyor if (h.ekBakiye < h.limit) //Ekbakiye borcu varsa { decimal borc = h.limit - h.ekBakiye; for (decimal i = h.ekBakiye; h.ekBakiye < h.limit; i += 0.1m)//Ekbakiye borcu varsa para yatırırken otomatik olarak borç ödenir { if (h.bakiye == 0.0m) { break; } else { h.bakiye -= 0.1m; odenenBorc += 0.1m; h.ekBakiye += 0.1m; } } MessageBox.Show("'" + borc + "' TL olan ek bakiye borcunuzun '" + odenenBorc + "' TL kadarı bakiyenizden tahsil edilmiştir."); rapor = "'" + borc + "' TL olan ek bakiye borcunuzun '" + odenenBorc + "' TL kadarı bakiyenizden tahsil edilmiştir."; tarih = DateTime.Today; h.RaporEkle(rapor, tarih); } }
public void HesapParaYatir(Hesap h, decimal miktar) { decimal odenenBorc = 0; h.bakiye += miktar; System.Windows.Forms.MessageBox.Show($"Hesabınıza {miktar} TL eklenmiştir. \n Mevcut bakiye: {h.bakiye} TL"); rapor = ($"Hesabınıza {miktar} TL eklenmiştir. \n Mevcut bakiye: {h.bakiye} TL"); tarih = DateTime.Today; h.RaporEkle(rapor, tarih); if (h.bakiye < h.limit) { decimal borc = h.limit - h.ekBakiye; for (decimal i = h.ekBakiye; h.ekBakiye < h.limit; i += 0.1m) { if (h.bakiye == 0.0m) { break; } else { h.bakiye -= 0.1m; odenenBorc += 0.1m; h.ekBakiye += 0.1m; } } System.Windows.Forms.MessageBox.Show($"{borc} TL Ek Bakiye borcunuzun {odenenBorc} TL kadarı bakiyenizden tahsil edilmiştir."); rapor = ($"{borc} TL Ek Bakiye borcunuzun {odenenBorc} TL kadarı bakiyenizden tahsil edilmiştir."); tarih = DateTime.Today; h.RaporEkle(rapor, tarih); } }
public void HavaleYap(double tutar, Hesap cekilecekliste, Hesap aliciliste, string musteriTip) { cekilecekliste.bakiye -= tutar; if (musteriTip == "Bireysel") { tutar *= 0.98; } aliciliste.bakiye += tutar; }
public frm_AnaSayfa() { InitializeComponent(); BankaApp = new Banka(); musterisinifi = new Musteri(); hesapsinifi = new Hesap(); raporsinifi = new Rapor(); egitimsinifi = new Egitim(); emeklisinifi = new Emekli(); ihtiyacsinifi = new Ihtiyac(); yatirimsinifi = new Yatirim(); }
public void HesapAc(int ekBakiye) //Random bir hesap numarası vererek hesap açalım { Random r = new Random(); int sayi = r.Next(100, 999); //Hesap numaramız 100 ile 999 arasında herhengi bir sayı olabilir h = new Hesap(); h.No = sayi; h.bakiye = 0; h.ekBakiye = ekBakiye; h.limit = ekBakiye; h.gunlukLimit = 750; hesaplar.Add(h); System.Windows.Forms.MessageBox.Show($"{ID} Numaralı Müşteri İçin {sayi} numaralı hesap {ekBakiye} ek bakiyesi ile açılmıştır."); }
public void HesapAc(int ekBakiye) { Random r = new Random(); //Hesap numarası için rastgele 3 haneli sayı üretiyoruz. int sayi = r.Next(100, 999); h = new Hesap(); h.No = sayi; h.bakiye = 0; h.ekBakiye = ekBakiye; h.limit = ekBakiye; h.gunlukLimit = 750; hesaplar.Add(h); MessageBox.Show("'" + ID + "' Numaralı müşteri için '" + sayi + "' numaralı hesap '" + ekBakiye + "' ek bakiyesi ile açılmıştır."); }
private void cmbara_SelectedIndexChanged(object sender, EventArgs e) { btn_ParaYatir.Enabled = true; var secilenhesapNo = Convert.ToInt32(cmbara.SelectedItem); var detayhesap = musterisinifi.Hesaplar.Where(a => a.hesapNo == secilenhesapNo).FirstOrDefault(); if (detayhesap != null) { lbl_bakiye.Text = detayhesap.bakiye.ToString();; cekilecekliste = detayhesap; } else { MessageBox.Show("Bu TCNO ya ait müşteri bilgisi bulunamadı"); } }
private void cmbAlanHesap_SelectedIndexChanged(object sender, EventArgs e) { btnhavaleYap.Enabled = true; var secilenhesapNo = Convert.ToInt32(cmbAlanHesap.SelectedItem); var detayhesap = musterisinifi.Hesaplar.Where(a => a.hesapNo == secilenhesapNo).FirstOrDefault(); if (detayhesap != null) { lbl_alanBakiye.Text = detayhesap.bakiye.ToString();; alanbilgi = detayhesap; } else { MessageBox.Show("Bu TCNO ya ait hesap bilgisi bulunamadı"); } }
private void cmbGonderenHesap_SelectedIndexChanged(object sender, EventArgs e) { cmbAlanTC.Text = "Seçiniz"; btnhavaleYap.Enabled = false; var secilenhesapNo = Convert.ToInt32(cmbGonderenHesap.SelectedItem); var detayhesap = musterisinifi.Hesaplar.Where(a => a.hesapNo == secilenhesapNo).FirstOrDefault(); var detaymus = BankaApp.musteriListesi.Where(a => a.TCKN == gonderenbilgi.hesapSahibiTC).FirstOrDefault(); if (detayhesap != null) { lbl_gonderenBakiye.Text = detayhesap.bakiye.ToString(); gonderenbilgi = detayhesap; cmbAlanTC.Enabled = true; } else { MessageBox.Show("Bu TCNO ya ait hesap bilgisi bulunamadı"); } }
public void HesapParaCek(Hesap h, decimal miktar) { if (h.ekBakiye != 0.0m && h.ekBakiye >= 0) { if (h.gunlukLimit != 0.0m && h.gunlukLimit >= 0.0m) //Günlük para çekme limiti dolmamışsa { if (h.gunlukLimit - miktar != 0.0m && h.gunlukLimit - miktar >= 0.0m) // Çekilmek istenen para çekilince günlük para çekme limiti 0'a eşit olmuyorsa ve - değere düşmüyorsa { if (h.bakiye >= miktar) //Çekilmek istenen paranın tamamı bakiyede varsa { h.bakiye -= miktar; h.gunlukLimit -= miktar;//Çekilen parayı günlük limitten düşüyoruz MessageBox.Show("Hesabınızdan '" + miktar + "' TL çekilmiştir."); } else if (h.bakiye > 0) //Bakiye 0 dan büyükse (Örneğin bakiye 30tl müşteri 80 tl kalan 50tlyi ekbakiyeden çekeceği durumda burası çalışır. { if ((miktar - h.bakiye) <= h.ekBakiye) //Çekilmek istenen bir kısmı bakiyede var ve diğer kısmı ek bakiyeden çekilecekse ek bakiye limiti yeterliyse { decimal bakiyedenCekilen, ekBakiyedenCekilen; bakiyedenCekilen = h.bakiye; //Bakiyedeki miktar alınıyor h.bakiye = 0; //Bakiye sıfırlanıyor ekBakiyedenCekilen = miktar - bakiyedenCekilen; //ekBakiyeden çekilecek para hesaplanıyor h.ekBakiye -= ekBakiyedenCekilen; //Çekilen para ekBakiyeden eksiltiliyor. h.gunlukLimit -= bakiyedenCekilen + ekBakiyedenCekilen; //Çekilen parayı günlük limitten düşüyoruz MessageBox.Show("'" + bakiyedenCekilen + "' TL bakiyeden, '" + ekBakiyedenCekilen + "' TL Ek Bakiyeden çekilmiştir."); rapor = ("'" + bakiyedenCekilen + "' TL bakiyeden, '" + ekBakiyedenCekilen + "' Tl Ek Bakiyeden çekilmiştir."); tarih = DateTime.Today; h.RaporEkle(rapor, tarih); //Hesap Özetine yapılan işlem ve tarihi gönderiliyor } else { MessageBox.Show("Ek bakiye limitiniz işlem için yeterli değildir."); } } else //Bakiyenin 0 olduğu ve çekilmek istenen miktarın ek bakiyeden çekileceği durumda çalışır. { if (h.ekBakiye >= miktar)//Çekilmek istenen miktar için ek bakiye limiti yeterliyse { h.ekBakiye -= miktar; h.gunlukLimit -= miktar;//Çekilen parayı günlük limitten düşüyoruz MessageBox.Show("'" + miktar + "' TL ek bakiyeden çekilmiştir."); rapor = "'" + miktar + "' TL ek bakiyeden çekilmiştir."; tarih = DateTime.Today; h.RaporEkle(rapor, tarih); //Hesap Özetine yapılan işlem ve tarihi gönderiliyor } else { MessageBox.Show("Ek bakiye limitiniz işlem için yeterli değildir."); } } } else { MessageBox.Show("Çekmek istediğiniz miktar kalan günlük para çekme limitinizden fazla olamaz."); } } else { MessageBox.Show("Günlük para çekme limitiniz dolmuştur."); } } else //Belirlenen ek bakiyeden fazla para çekilmek istenirse { MessageBox.Show("Ek Bakiye'den para çekme limitiniz dolmuştur."); } }
private void btnHavaleYap_Click(object sender, EventArgs e) { int kaynakNo = Convert.ToInt32(txtHavaleKaynak.Text); int hedefNo = Convert.ToInt32(txtHavaleHedef.Text); int miktar = Convert.ToInt32(txtHavaleMiktar.Text); decimal bankaPayi = 0.0m, hedefPayi = 0.0m; decimal islemOrani = 0.0m; Hesap kaynakHesap = null, hedefHesap = null; Musteri kaynakMusteri = null; bool kaynakDurum = false, hedefDurum = false, kaynakHesapTuru = false; foreach (BireyselMusteri m in banka.BireyselMusteriler) //kaynak hesap bireysel müşteri iste { foreach (Hesap h in m.hesaplar) { if (kaynakNo == h.No) { kaynakHesap = h; //Kaynak hesabı buluyoruz kaynakMusteri = m; //Kaynak müşteriyi buluyoruz kaynakDurum = true; kaynakHesapTuru = true; } if (hedefNo == h.No) { hedefHesap = h; //hedef hesabı buluyoruz kaynakMusteri = m; //Kaynak müşteriyi buluyoruz hedefDurum = true; } } } foreach (TicariMusteri m in banka.TicariMusteriler)//kaynak hesap ticari müşteri ise { foreach (Hesap h in m.hesaplar) { if (kaynakNo == h.No) { kaynakHesap = h; kaynakMusteri = m; kaynakDurum = true; } if (hedefNo == h.No) { hedefHesap = h; kaynakMusteri = m; hedefDurum = true; } } } if (kaynakDurum == true && hedefDurum == true)//Kaynak ve Hedef hesap numaraları bulunduysa { if (kaynakHesap.bakiye >= miktar) { if (kaynakHesapTuru == true) { islemOrani = 2.0m; } kaynakHesap.bakiye -= miktar; bankaPayi = (miktar * islemOrani) / 100; hedefPayi = miktar - bankaPayi; banka.toplamPara += bankaPayi; MessageBox.Show("Hedef hesaba " + hedefPayi + " TL aktarılmıştır. \n Banka işlem ücreti: " + bankaPayi + " TL"); string rapor = kaynakNo + " numaralı hesaptan " + hedefNo + " numaralı hesaba " + hedefPayi + " TL aktarılmıştır. \n Banka işlem ücreti: " + bankaPayi + " TL"; DateTime tarih = DateTime.Today; banka.RaporEkle(rapor, tarih); rapor = kaynakNo + " numaralı hesabınızdan " + hedefNo + " numaralı hesaba " + hedefPayi + " TL aktarılmıştır. \n Banka işlem ücreti: " + bankaPayi + " TL"; kaynakHesap.RaporEkle(rapor, tarih); rapor = kaynakNo + " numaralı hesaptan " + hedefNo + " numaralı hesabınıza " + hedefPayi + " TL aktarılmıştır."; hedefHesap.RaporEkle(rapor, tarih); } } else { MessageBox.Show("Lütfen Hedef ve Kaynak hesap numaralarını kontrol ediniz."); } }
private void BtnHavaleGonder_Click(object sender, EventArgs e) { int kaynakNo = Convert.ToInt32(txtHavaleNo.Text); int hedefNo = Convert.ToInt32(txtKaynakNo.Text); int miktar = Convert.ToInt32(txtHavaleMiktar.Text); decimal bankaPayi = 0.0m; Hesap kaynakHesap = null, hedefHesap = null; Musteri kaynakMusteri = null; bool kaynakDurum = false, hedefDurum = false, kaynakHesapTuru = false; // Kaynak hesap turu ticari false bireysel true :) string rapor; DateTime tarih; foreach (BireyselMusteri m in banka.bireyselMusteriler) { foreach (Hesap h in m.hesaplar) { if (kaynakNo == h.No) { kaynakHesap = h; kaynakMusteri = m; kaynakDurum = true; kaynakHesapTuru = true; } if (hedefNo == h.No) { kaynakHesap = h; kaynakMusteri = m; kaynakDurum = true; } } } foreach (TicariMusteri m in banka.ticariMusteriler) { foreach (Hesap h in m.hesaplar) { if (kaynakNo == h.No) { kaynakHesap = h; kaynakMusteri = m; kaynakDurum = true; } if (hedefNo == h.No) { kaynakHesap = h; kaynakMusteri = m; kaynakDurum = true; } } } if (kaynakDurum == true && hedefDurum == true) { if (kaynakHesapTuru == false) //Kaynak hesap turu ticari müsteri ise { if (kaynakHesap.bakiye >= miktar) { kaynakHesap.bakiye -= miktar; hedefHesap.bakiye += miktar; MessageBox.Show($"{kaynakHesap.No} numaralı hesabınızdan {hedefHesap.No} numaralı hesaba {miktar} TL gönderilmiştir."); tarih = DateTime.Today; rapor = ($"{kaynakHesap.No} numaralı hesabınızdan {hedefHesap.No} numaralı hesaba {miktar} TL gönderilmiştir."); kaynakHesap.RaporEkle(rapor, tarih); rapor = ($"{kaynakHesap.No} numaralı hesaptan {hedefHesap.No} numaralı hesabınıza {miktar} TL gönderilmiştir."); hedefHesap.RaporEkle(rapor, tarih); } else { MessageBox.Show("Kaynak, Hedef bulunamadı veya bakiye yetersiz."); } } else if (kaynakHesap.bakiye >= (miktar + miktar * 2 / 100)) { kaynakHesap.bakiye -= miktar; hedefHesap.bakiye += miktar; bankaPayi = miktar + 2 / 100; banka.toplamPara += bankaPayi; MessageBox.Show($"{kaynakHesap.No} numaralı hesabınızdan {hedefHesap.No} numaralı hesaba {miktar} TL gönderilmiştir."); tarih = DateTime.Today; rapor = ($"{kaynakHesap.No} numaralı hesabınızdan {hedefHesap.No} numaralı hesaba {miktar} TL gönderilmiştir."); kaynakHesap.RaporEkle(rapor, tarih); rapor = ($"{kaynakHesap.No} numaralı hesaptan {hedefHesap.No} numaralı hesabınıza {miktar} TL gönderilmiştir."); hedefHesap.RaporEkle(rapor, tarih); } else { MessageBox.Show("Kaynak, Hedef bulunamadı veya bakiye yetersiz."); } } }
public void HesapParaCek(Hesap h, decimal miktar) { if (h.ekBakiye != 0 && h.ekBakiye > 0) { if (h.gunlukLimit != 0.0m && h.gunlukLimit > 0) { if (h.gunlukLimit - miktar >= 0) { if (h.bakiye >= miktar) { h.bakiye -= miktar; h.gunlukLimit -= miktar; System.Windows.Forms.MessageBox.Show($"Bakiyenizden {miktar} TL çekilmiştir."); rapor = ($"Bakiyenizden {miktar} TL çekilmiştir."); tarih = DateTime.Today; h.RaporEkle(rapor, tarih); } else if (h.bakiye > 0) { if ((miktar - h.bakiye) <= h.ekBakiye) { decimal bakiyedenCekilen, ekbakiyedenCekilen; bakiyedenCekilen = h.bakiye; ekbakiyedenCekilen = miktar - bakiyedenCekilen; h.ekBakiye -= ekbakiyedenCekilen; h.gunlukLimit -= bakiyedenCekilen + ekbakiyedenCekilen; System.Windows.Forms.MessageBox.Show($"{bakiyedenCekilen} TL Bakiyeden, {ekbakiyedenCekilen} Ek bakiyeden çekilmiştir."); rapor = ($"{bakiyedenCekilen} TL Bakiyeden, {ekbakiyedenCekilen} Ek bakiyeden çekilmiştir."); tarih = DateTime.Today; h.RaporEkle(rapor, tarih); } else { System.Windows.Forms.MessageBox.Show("Ek bakiye limitiniz bu işlem için yeterli değildir."); } } else { if (h.ekBakiye >= miktar) { h.ekBakiye -= miktar; h.gunlukLimit -= miktar; System.Windows.Forms.MessageBox.Show($"{miktar} TL Ek Bakiyeden Çekilmiştir."); rapor = ($"{miktar} TL Ek Bakiyeden Çekilmiştir."); tarih = DateTime.Today; h.RaporEkle(rapor, tarih); } else { System.Windows.Forms.MessageBox.Show("Bakiye ve Ek bakiye bu işlem için yeterli değildir."); } } } else { System.Windows.Forms.MessageBox.Show("Çekmek istediğinşz miktar kalan günlük para çekme limitinizden fazla olamaz."); } } else { System.Windows.Forms.MessageBox.Show("Günlük para çekme limitiniz dolmuştur."); } } else { System.Windows.Forms.MessageBox.Show("İşlem başarısısz. \n Bakiye:0 \n Ek Bakiye : 0"); } }
public void ParaYatir(int tutar, Hesap cekilecekliste) { cekilecekliste.bakiye += tutar; }
public void ParaCek(int tutar, Hesap cekilecekliste) { cekilecekliste.bakiye -= tutar; }
public void HesapAc(Hesap h) { Hesaplar.Add(h); }
public void HesapKapat(Hesap h) { Hesaplar.Remove(h); }