/// <summary> /// İlgili işleme ait tüm bilgilerin kaydedildiği constructor /// </summary> /// <param name="hesap">İlgili hesap</param> /// <param name="islemTuru">İlgili hesaba ait işlme türü</param> /// <param name="tutar">İlgili işleme ait tutar</param> /// <param name="islemTarihi">İlgili işleme ait işlem tarihi</param> /// <param name="rapor">İlgili işlemlerin raporlanacağı rapor sınıfı</param> public HesapOzeti(Hesap hesap, string islemTuru, decimal tutar, DateTime islemTarihi, GelirGiderRaporu rapor) { this.hesap = hesap; this.islemTuru = islemTuru; this.tutar = tutar; this.islemTarihi = islemTarihi; switch (islemTuru) { case "Hesap Açma": rapor.RaporEt(tutar, "girenpara"); break; case "Para Yatırma": rapor.RaporEt(tutar, "girenpara"); break; case "Para Çekme": rapor.RaporEt(tutar, "cikanpara"); break; default: break; } }
public frmParaYatirmaCekme(Hesap hesap, string islemTuru) { InitializeComponent(); this.hesap = hesap; this.islemTuru = islemTuru; ilgiliMusteri = hesap.hangiMusteriyeAit; }
public int HesabaParaYatir(Hesap ilgiliHesap, decimal yatirilacakMiktar) { gelenOnaykodu = ParaYatirmaKontrol(ilgiliHesap, yatirilacakMiktar); // ilgili fonksiyondan onay kodunun çekilmesi switch (gelenOnaykodu) // gelen onay koduna göre işlemlerin yapılması { case 10: ilgiliHesap.bakiye = yatirilacakMiktar - (100 - ilgiliHesap.ekHesap); ilgiliHesap.ekHesap = 100; break; case 11: ilgiliHesap.bakiye = (ilgiliHesap.ekHesap + yatirilacakMiktar) - 100; ilgiliHesap.ekHesap = 100; break; case 12: ilgiliHesap.ekHesap += yatirilacakMiktar; break; case 13: ilgiliHesap.bakiye += yatirilacakMiktar; break; default: gelenOnaykodu = 0; break; } return(gelenOnaykodu); }
public int HesaptanParaCek(Hesap ilgiliHesap, decimal cekilecekMiktar) { gelenOnaykodu = ParaCekmeKontrol(ilgiliHesap, cekilecekMiktar); // ilgili fonksiyondan onay kodunun çekilmesi switch (gelenOnaykodu) // gelen onay koduna göre işlemlerin yapılması { case 20: break; case 21: break; case 22: ilgiliHesap.bakiye -= cekilecekMiktar; ilgiliHesap.ekHesap += ilgiliHesap.bakiye; ilgiliHesap.bakiye = 0; ilgiliHesap.hesaptanCekilenToplamTutar += cekilecekMiktar; break; case 23: ilgiliHesap.bakiye -= cekilecekMiktar; ilgiliHesap.hesaptanCekilenToplamTutar += cekilecekMiktar; break; default: gelenOnaykodu = 0; break; } return(gelenOnaykodu); }
const decimal _HAVALEUCRETIORANI = 0.02m; // bireysel müşteride havale işleminde yansıtılacak havale ücreti onayı /// <summary> /// Para havale işlemine ait gerekli işlemlerin yapıldığı alt sınıftan ezilen fonksiyon /// </summary> /// <param name="gonderenHesap">İlgili gönderen hesap</param> /// <param name="alacakHesap">İlgili alacak hesap</param> /// <param name="gonderilecekMiktar">Havale işlemine ait ilgili miktar</param> /// <returns>Havale işlemine ait onay durumu true or false</returns> public override bool ParaHavale(Hesap gonderenHesap, Hesap alacakHesap, decimal gonderilecekMiktar) { decimal tempGondMiktar = gonderilecekMiktar; decimal havaleUcreti = gonderilecekMiktar * _HAVALEUCRETIORANI; // havale üvretinin hesaplanması gonderilecekMiktar = tempGondMiktar + havaleUcreti; bool havaleOnay = base.ParaHavale(gonderenHesap, alacakHesap, gonderilecekMiktar); // havale işlemine ait onayın alınması if (havaleOnay) // onay olumluysa yapılacak işlemler { islemTarihi = DateTime.Now; hesapOzeti_Gond = new HesapOzeti(gonderenHesap, "Havale >> (" + alacakHesap.hesapNumarasi + ")", -tempGondMiktar, islemTarihi, rapor); gonderenHesap.HesapOzetiEkle(hesapOzeti_Gond); hesapOzeti_Gond = new HesapOzeti(gonderenHesap, "Havale Ücreti", -havaleUcreti, islemTarihi, rapor); gonderenHesap.HesapOzetiEkle(hesapOzeti_Gond); alacakHesap.hangiMusteriyeAit.HesabaParaYatir(alacakHesap, tempGondMiktar); islemTarihi = DateTime.Now; hesapOzeti_Alan = new HesapOzeti(alacakHesap, "(" + gonderenHesap.hesapNumarasi + ") >> Havale", tempGondMiktar, islemTarihi, rapor); alacakHesap.HesapOzetiEkle(hesapOzeti_Alan); } return(havaleOnay); }
/// <summary> /// Para yatırma işlemine ait kontrollerin yapıldığı fonksiyon /// </summary> /// <param name="kontrolEdilecekhesap">Para yatırılacak ilgili hesap</param> /// <param name="yatirilacakMiktar">İlgili hesaba yatırılacak tutar</param> /// <returns>Kontrollere göre onay kodu 10 - 13</returns> public int ParaYatirmaKontrol(Hesap kontrolEdilecekhesap, decimal yatirilacakMiktar) { if (kontrolEdilecekhesap.ekHesap < 100) // ilgili hesabın ilk önce ek hesaptaki tutarı kontrol edilir -> ekhesap 100 tlden az ise önce ek hesap tamamlanacağına dair onay kodları { if (yatirilacakMiktar > 100) { return(10); } else if (kontrolEdilecekhesap.ekHesap + yatirilacakMiktar > 100) { return(11); } else { return(12); } } else // ek hesap 100 tlden fazlaysa yatırılan para direk hesaba aktarılacağına dair onay kodu { return(13); } }
public frmHavale(Hesap gonderenHesap) { InitializeComponent(); this.gonderenHesap = gonderenHesap; txtTutar.Enabled = false; btnOnayla.Enabled = false; }
private void HesapBilgileriniKaydet() { yeniHesap = new Hesap(); yeniHesap.hesapNumarasi = hesapNo; yeniHesap.ekHesap = 100; yeniHesap.hangiMusteriyeAit = ilgiliMusteri; ilgiliMusteri.MusteriyeHesapEkle(yeniHesap); banka.BankayaHesapEkle(yeniHesap); }
/// <summary> /// Para havale etme işlemine ait kontrollerin yapıldığı sanal fonksiyon - bu sınıftan kalıtılan sınıflarda bu sanal fonksiyon ezielecek - /// </summary> /// <param name="gonderenHesap">İlgili gönderen hesap</param> /// <param name="alacakHesap">İlgili alacak hesap</param> /// <param name="gonderilecekMiktar">Havale işlemine ait ilgili miktar</param> /// <returns>Kontroller sonucunda true or false</returns> public virtual bool ParaHavale(Hesap gonderenHesap, Hesap alacakHesap, decimal gonderilecekMiktar) { if (gonderilecekMiktar <= gonderenHesap.bakiye) { gonderenHesap.bakiye -= gonderilecekMiktar; return(true); } else { return(false); } }
public Hesap HesapBul(ulong hesapNumarasi) { Hesap arananHesap = null; foreach (Hesap hesaplar in Hesaplar) { if (hesaplar.hesapNumarasi == hesapNumarasi) { arananHesap = hesaplar; return(arananHesap); } } return(null); }
/// <summary> /// Para havale işlemine ait gerekli işlemlerin yapıldığı alt sınıftan ezilen fonksiyon /// </summary> /// <param name="gonderenHesap">İlgili gönderen hesap</param> /// <param name="alacakHesap">İlgili alacak hesap</param> /// <param name="gonderilecekMiktar">Havale işlemine ait ilgili miktar</param> /// <returns>Havale işlemine ait onay durumu true or false</returns> public override bool ParaHavale(Hesap gonderenHesap, Hesap alacakHesap, decimal gonderilecekMiktar) { bool havaleOnay = base.ParaHavale(gonderenHesap, alacakHesap, gonderilecekMiktar); // havale işlemine ait onayın alınması if (havaleOnay) // onay olumluysa yapılacak işlemler { islemTarihi = DateTime.Now; hesapOzeti_Gond = new HesapOzeti(gonderenHesap, "Havale >> (" + alacakHesap.hesapNumarasi + ")", -gonderilecekMiktar, islemTarihi, rapor); gonderenHesap.HesapOzetiEkle(hesapOzeti_Gond); alacakHesap.hangiMusteriyeAit.HesabaParaYatir(alacakHesap, gonderilecekMiktar); islemTarihi = DateTime.Now; hesapOzeti_Alan = new HesapOzeti(alacakHesap, "(" + gonderenHesap.hesapNumarasi + ") >> Havale", gonderilecekMiktar, islemTarihi, rapor); alacakHesap.HesapOzetiEkle(hesapOzeti_Alan); } return(havaleOnay); }
private void btnHesBul_Click(object sender, EventArgs e) { ulong bulunacakHesapNo = Convert.ToUInt64(txtGondHesNo.Text); alanHesap = banka.HesapBul(bulunacakHesapNo); if (alanHesap != null) { txtGondBil.Text = "Ad: " + alanHesap.hangiMusteriyeAit.ad + "\r\nSoyad: " + alanHesap.hangiMusteriyeAit.soyad; txtTutar.Enabled = true; btnOnayla.Enabled = true; btnHesBul.Enabled = false; } else { txtGondBil.Text = bulunacakHesapNo + " numaralı herhangi bir hesap bulunamamıştır."; } }
private void cmbHesaplar_SelectedIndexChanged(object sender, EventArgs e) { ulong secilenHesNo = Convert.ToUInt64(cmbHesNo.SelectedItem); secilenHesap = banka.HesapBul(secilenHesNo); if (secilenHesap != null) { txtHesBilgileri.Text = "TCKN: " + secilenHesap.hangiMusteriyeAit.TCKN + Environment.NewLine + "Ad Soyad: " + secilenHesap.hangiMusteriyeAit.ad + " " + secilenHesap.hangiMusteriyeAit.soyad + Environment.NewLine + secilenHesap.hesapNumarasi + " Numaralı Hesaptaki Bakiye: " + secilenHesap.bakiye + " ₺ - (Ek hesap: " + secilenHesap.ekHesap + " ₺)"; ButonAktivasyon_Ac(); } else { txtHesBilgileri.Text = secilenHesap + " numaralı herhangi bir hesap bulunamadı."; } }
/// <summary> /// Para çekme işlemine ait kontrollerin yapıldığı fonksiyon /// </summary> /// <param name="kontrolEdilecekhesap">Para çekilecek ilgili hesap</param> /// <param name="cekilecekMiktar">İlgili hesaptan çekilecek tutar</param> /// <returns>Kontrollere göre onay kodu 20 - 23</returns> public int ParaCekmeKontrol(Hesap kontrolEdilecekhesap, decimal cekilecekMiktar) { if ((cekilecekMiktar + kontrolEdilecekhesap.hesaptanCekilenToplamTutar) > 750) { return(20); // gunluk para cekme limiti asildiğina dair onay kodu } else if (cekilecekMiktar > (kontrolEdilecekhesap.bakiye + kontrolEdilecekhesap.ekHesap)) { return(21); // yetersiz bakiye olduğuna dair onay kodu } else if (cekilecekMiktar > kontrolEdilecekhesap.bakiye && cekilecekMiktar <= (kontrolEdilecekhesap.bakiye + kontrolEdilecekhesap.ekHesap)) { return(22); // yetersiz bakiye ama ek hesapla birlikte yeterli miktar olduğuna dair onay kodu } else { return(23); // herhangi bir sorun olmadığına dair onay kodu } }
public void MusteridenHesapSil(Hesap silinecekHesap) { MusterininHesaplari.Remove(silinecekHesap); }
public void MusteriyeHesapEkle(Hesap yeniHesap) { MusterininHesaplari.Add(yeniHesap); }
public void BankayaHesapEkle(Hesap yeniHesap) { Hesaplar.Add(yeniHesap); }
public void BankadanHesapSil(Hesap silinecekHesap) { Hesaplar.Remove(silinecekHesap); }