示例#1
0
        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));
        }