public IActionResult Virman([FromBody] Virman v) { var tc = User.Claims.FirstOrDefault().Value; var musteri = uow.Musteriler.Find(x => x.TcKimlikNo.Equals(tc)).FirstOrDefault(); if (musteri.MusteriNo == v.AliciHesapNo && musteri.MusteriNo == v.GonderenHesapNo) { var aliciHesap = uow.Hesaplar.Find(x => x.MusteriNo == v.AliciHesapNo && x.EkNo == v.AliciEkNo).FirstOrDefault(); var gonderenHesap = uow.Hesaplar.Find(x => x.MusteriNo == v.GonderenHesapNo && x.EkNo == v.GonderenEkNo).FirstOrDefault(); if (aliciHesap != null && gonderenHesap != null) { aliciHesap.Bakiye += v.Tutar; gonderenHesap.Bakiye -= v.Tutar; uow.Virmanlar.Add(v); uow.SaveChanges(); uow.Hesaplar.Edit(aliciHesap); uow.Hesaplar.Edit(gonderenHesap); uow.SaveChanges(); return(Ok( new { data = "virman işlemi başarıyla gerçekleşti." } )); } else { return(NotFound( new { error = "Hesap bulunamadı" } )); } } else { return(BadRequest( new { error = "Hesap numarası size ait değildir." } )); } }
public ActionResult Virman(FormCollection frm) { string tc = Session["UserTc"].ToString(); List <Hesaplar> Hesaplar = db.Hesaplar.Where(x => x.MusteriTc == tc).ToList(); int ek = Convert.ToInt32(Session["eknumara"]); decimal bakiye = Convert.ToDecimal(frm["bakiye"]); Hesaplar hesap = db.Hesaplar.Where(x => x.MusteriTc == tc && x.EkNumara == ek).FirstOrDefault(); if (bakiye > hesap.Bakiye) { ViewBag.Virman = "hesabınızda " + hesap.Bakiye + " bakiye bulunurken bu miktardan daha fazla para yatıramazsınız!!"; return(View(Hesaplar)); } else { hesap.Bakiye = hesap.Bakiye - bakiye; int gidenEkNo = int.Parse(frm["ekNo"]); if (gidenEkNo.ToString() == null) { ViewBag.Virman = "lütfen bir hesap seçiniz ek hesabınız yok ise ek hesap açıp deneyiniz!!"; return(View()); } else { Hesaplar hsb = db.Hesaplar.Where(x => x.MusteriTc == tc && x.EkNumara == gidenEkNo).FirstOrDefault(); hsb.Bakiye = hsb.Bakiye + bakiye; Session["HesapNo"] = hesap.HesapNo + " -" + gidenEkNo; Virman vrm = new Virman(); vrm.GelenHesapNo = Session["Hesap"].ToString(); vrm.GidenHesapNo = Session["HesapNo"].ToString(); vrm.MusteriId = hesap.MusteriTc; vrm.Miktar = Convert.ToDecimal(frm["bakiye"]); vrm.Tarih = DateTime.Now; db.Virman.Add(vrm); ViewBag.Virman = "İşlem başarıyla oluşturuldu."; db.SaveChanges(); } } return(View(Hesaplar)); }