private void simpleButton2_Click(object sender, EventArgs e) { decimal gonderilecek = decimal.Parse(txtTutarHavale.Text); var musterim = m.Hesap.Where(x => x.MusteriId == MusteriId && x.Bakiye >= gonderilecek).OrderByDescending(y => y.Bakiye).FirstOrDefault(); if (musterim != null) { Havale h = new Havale(); h.GonderenID = musterim.Id; h.IBAN = txtHavaleAliciHesap.Text; h.Tutar = decimal.Parse(txtTutarHavale.Text); h.Aciklama = txtAciklamaHavale.Text; m.Havale.Add(h); m.SaveChanges(); HesapOzeti hesapOzeti = new HesapOzeti(); hesapOzeti.Ad = "Farklı Hesaba Para Gönderimi"; hesapOzeti.IslemId = 3; hesapOzeti.IslemTutar = decimal.Parse(txtTutarHavale.Text); hesapOzeti.Tarih = DateTime.Parse(DateTime.Now.ToShortDateString()); hesapOzeti.HesapId = musterim.Id; m.HesapOzeti.Add(hesapOzeti); m.SaveChanges(); musterim.Bakiye = musterim.Bakiye - gonderilecek; var alici = m.Hesap.Where(x => x.IBAN.Equals(txtHavaleAliciHesap.Text)).FirstOrDefault(); alici.Bakiye = alici.Bakiye + gonderilecek; HesapOzeti hesapOzeti2 = new HesapOzeti(); hesapOzeti2.Ad = "Farklı Hesaptan Para Alımı"; hesapOzeti2.IslemId = 3; hesapOzeti2.IslemTutar = decimal.Parse(txtTutarHavale.Text); hesapOzeti2.Tarih = DateTime.Parse(DateTime.Now.ToShortDateString()); hesapOzeti2.HesapId = alici.Id; m.HesapOzeti.Add(hesapOzeti2); m.SaveChanges(); MessageBox.Show("Para Gönderim İşlemi Onaylandı ", "Bilgi"); } else { MessageBox.Show("Hesabınızda Yeterli Bakiye Yok", "Uyarı"); } }
public ActionResult Havale(FormCollection frm) { string tc = Session["UserTc"].ToString(); int ek = Convert.ToInt32(Session["eknumara"]); string hsbNo = frm["yatirHesapNo"]; int ekno = int.Parse(frm["yatirEkNo"]); Hesaplar hesap = db.Hesaplar.Where(x => x.MusteriTc == tc && x.EkNumara == ek).FirstOrDefault(); var Yatirhs = db.Hesaplar.Where(x => x.HesapNo == hsbNo && x.EkNumara == ekno).FirstOrDefault(); decimal bakiye = Convert.ToDecimal(frm["bakiye"]); Session["HesapNo"] = frm["yatirHesapNo"] + " -" + frm["yatirEkNo"]; if (Yatirhs != null) { if (hesap.HesapNo == hsbNo) { ViewBag.havale = "Havale işleminde Kendi hesaplarınız arasında para gönderme işlemi yapamazsınız."; } else if (Yatirhs.HesapDurum == true) { if (bakiye > hesap.Bakiye) { ViewBag.havale = "hesabınızda " + hesap.Bakiye + " bakiye bulunurken bu miktardan daha fazla para yatıramazsınız!!"; return(View()); } else { Yatirhs.Bakiye = Yatirhs.Bakiye + bakiye; hesap.Bakiye = hesap.Bakiye - bakiye; Havale hvl = new Havale(); hvl.GelenHesapNo = Session["Hesap"].ToString(); hvl.GidenHesapNo = Session["HesapNo"].ToString(); hvl.MusteriId = tc; hvl.Miktar = Convert.ToDecimal(frm["bakiye"]); hvl.Tarih = DateTime.Now; db.Havale.Add(hvl); db.SaveChanges(); ViewBag.havale = "işlem başarılı"; } } } else { ViewBag.havale = "yatırmak istediğiniz hesap aktif değil!!"; } return(View()); }
public IActionResult Havale([FromBody] Havale ha) { var tc = User.Claims.FirstOrDefault().Value; var musteri = uow.Musteriler.Find(x => x.TcKimlikNo.Equals(tc)).FirstOrDefault(); ha.GonderenMusteriNo = musteri.MusteriNo; var alanHesap = uow.Hesaplar.Find(x => x.MusteriNo == ha.AliciMusteriNo && x.EkNo == ha.AliciEkNo && x.Aktif == true).FirstOrDefault(); var gonderenHesap = uow.Hesaplar.Find(x => x.MusteriNo == ha.GonderenMusteriNo && x.EkNo == ha.GonderenEkNo && x.Aktif == true).FirstOrDefault(); if (alanHesap == null) { return(NotFound()); } if (gonderenHesap.Bakiye >= ha.Tutar) { alanHesap.Bakiye += ha.Tutar; gonderenHesap.Bakiye -= ha.Tutar; ha.AliciHesapNo = alanHesap.HesapNo; ha.GonderenHesapNo = gonderenHesap.HesapNo; uow.Hesaplar.Edit(alanHesap); uow.SaveChanges(); uow.Hesaplar.Edit(gonderenHesap); uow.SaveChanges(); uow.Havaleler.Add(ha); uow.SaveChanges(); return(Ok(new { data = "Havale işlemi başarıyla gerçekleşti." })); } else { return(BadRequest()); } }