コード例 #1
0
        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ı!");
        }
コード例 #2
0
ファイル: formHesapAc.cs プロジェクト: heimzza/bankapp
        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ı");
            }
        }
コード例 #3
0
ファイル: Musteri.cs プロジェクト: umtblbl/BankaOtomasyon
        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);
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        public void HavaleYap(double tutar, Hesap cekilecekliste, Hesap aliciliste, string musteriTip)
        {
            cekilecekliste.bakiye -= tutar;

            if (musteriTip == "Bireysel")
            {
                tutar *= 0.98;
            }
            aliciliste.bakiye += tutar;
        }
コード例 #6
0
 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();
 }
コード例 #7
0
        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.");
        }
コード例 #8
0
ファイル: Musteri.cs プロジェクト: umtblbl/BankaOtomasyon
        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.");
        }
コード例 #9
0
        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ı");
            }
        }
コード例 #10
0
        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ı");
            }
        }
コード例 #11
0
        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ı");
            }
        }
コード例 #12
0
ファイル: Musteri.cs プロジェクト: umtblbl/BankaOtomasyon
        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.");
            }
        }
コード例 #13
0
        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.");
            }
        }
コード例 #14
0
        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.");
                }
            }
        }
コード例 #15
0
        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");
            }
        }
コード例 #16
0
 public void ParaYatir(int tutar, Hesap cekilecekliste)
 {
     cekilecekliste.bakiye += tutar;
 }
コード例 #17
0
 public void ParaCek(int tutar, Hesap cekilecekliste)
 {
     cekilecekliste.bakiye -= tutar;
 }
コード例 #18
0
 public void HesapAc(Hesap h)
 {
     Hesaplar.Add(h);
 }
コード例 #19
0
 public void HesapKapat(Hesap h)
 {
     Hesaplar.Remove(h);
 }