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));
        }