public ActionResult Virman(Transfer tran) { BusinessLayerResult <Transfer> layerResult = new BusinessLayerResult <Transfer>(); if (ModelState.IsValid) { Hesap kontrol = hesapManager.Find(x => x.HesapNo == tran.GonderenHesapNo); Hesap gonderen = hesapManager.Find(x => x.HesapNo == tran.GonderenHesapNo); long aliciHesapNo = Convert.ToInt64(tran.AliciHesapNo); Hesap alici = hesapManager.Find(x => x.HesapNo == aliciHesapNo); if (aliciHesapNo == 0) { layerResult.Errors.Add("Girilen alıcı hesap numarası yanlış veya eksik"); } if (alici == null) { layerResult.Errors.Add("Yanlış hesap numarası girdiniz!"); } else { if (Decimal.Parse(tran.Tutar) == 0) { layerResult.Errors.Add("Lütfen 0'dan başka bir tutar giriniz"); } else { tran.Zaman = DateTime.Now; //tran.GonderenHesapNo = gonderen.HesapNo; tran.AliciHesapNo = alici.HesapNo.ToString(); if (gonderen.MusteriNo == alici.MusteriNo) { tran.TransferTuru = true; //Virman } else { tran.TransferTuru = false; //Havale } decimal para = Decimal.Parse(tran.Tutar); if (alici.Durum == true && gonderen.Bakiye >= para) { gonderen.Bakiye = (gonderen.Bakiye - para); alici.Bakiye = (alici.Bakiye + para); hesapManager.Update(gonderen); hesapManager.Update(alici); transferManager.Insert(tran); } else if (gonderen.Bakiye < para) { layerResult.Errors.Add("Girilen tutar, hesap bakiyesinden yüksek. Lütfen uygun bir tutar giriniz!"); } } } if (layerResult.Errors.Count > 0) { layerResult.Errors.ForEach(x => ModelState.AddModelError("", x)); List <Hesap> hesaplar = new List <Hesap>(); foreach (Hesap hes in hesapManager.List()) { if (hes.MusteriNo == CurrentSession.User.MusteriNo && hes.Durum == true && hes.HesapNo != tran.GonderenHesapNo) { hesaplar.Add(hes); } } TempData["hesaplar"] = new SelectList(hesaplar, "HesapNo", "HesapNo"); return(View(tran)); } return(RedirectToAction("Index")); } return(View(tran)); }