示例#1
0
        public ActionResult SepetOgeSil(int id)
        {
            Sepet.RemoveAll(x => x.UrunId == id);
            decimal toplamTutar = Sepet.Sum(x => x.Adet * x.BirimFiyat);

            return(Json(new
            {
                ToplamTutarTL = string.Format("{0:0.00}₺", toplamTutar),
                ToplamOgeAdet = Sepet.Count
            }));
        }
示例#2
0
 public ActionResult Odeme(OdemeViewModel odemeVm)
 {
     if (odemeVm.OdemeTutari != Sepet.Sum(x => x.Adet * x.BirimFiyat))
     {
         ModelState.AddModelError("OdemeTutari", "Sepetinizde değişiklik yaptığınız için ödeme tutar değişmiş");
     }
     if (ModelState.IsValid)
     {
         bool odemeSonuc = OdemeyiAl(odemeVm.OdemeTutari, odemeVm.KartNo, odemeVm.SonKullanmaTarihi, odemeVm.Cvv);
         if (!odemeSonuc)
         {
             ModelState.AddModelError("OdemeTutari", "Kredi kartınızdan ödeme  yapılamadı.Lütfen bilgilerinizi kontrol ediniz");
         }
         if (odemeSonuc)
         {
             Siparis siparis = new Siparis
             {
                 MusteriId        = User.Identity.GetUserId(),
                 MusteriAd        = odemeVm.MusteriAd,
                 MusteriSoyad     = odemeVm.MusteriSoyad,
                 MusteriEmail     = odemeVm.MusteriEmail,
                 SehirId          = odemeVm.SehirId,
                 MusteriAdres     = odemeVm.MusteriAdres,
                 MusteriAdres2    = odemeVm.MusteriAdres2,
                 MusteriPostaKodu = odemeVm.MusteriPostaKodu,
                 OdemeTutari      = odemeVm.OdemeTutari,
                 SiparisZamani    = DateTime.Now,
                 SiparisDetaylar  = new List <SiparisDetay>()
             };
             foreach (var item in Sepet)
             {
                 siparis.SiparisDetaylar.Add(new SiparisDetay
                 {
                     UrunId     = item.UrunId,
                     UrunAd     = item.UrunAd,
                     BirimFiyat = item.BirimFiyat,
                     Adet       = item.Adet,
                 });
             }
             db.Siparisler.Add(siparis);
             db.SaveChanges();
             Sepet.Clear();
             TempData["SiparisId"] = siparis.Id;
             return(RedirectToAction("OdemeAlindi", "Sepet"));
         }
     }
     ViewBag.SehirId = new SelectList(db.Sehirler.ToList(), "Id", "SehirAd");
     return(View());
 }
示例#3
0
        public ActionResult Odeme(OdemeViewModel odemeVM)
        {
            // formdan gelen ödeme tutarı ile sepetteki ödeme tutarı aynı değilse
            if (odemeVM.OdemeTutari != Sepet.Sum(x => x.Adet * x.BirimFiyat))
            {
                ModelState.AddModelError("OdemeTutari", "Sepetinizde değişiklik yaptığınız için ödeme tutarı değişmiştir. Tekrar deneyiniz.");
            }

            if (ModelState.IsValid)
            {
                // ödemeyi al
                bool odemeSonuc = OdemeyiAl(odemeVM.OdemeTutari, odemeVM.KKNo, odemeVM.KKSonKullanmaTarihi, odemeVM.KKCvv);

                // ödeme başarısızsa
                if (!odemeSonuc)
                {
                    ModelState.AddModelError("OdemeTutari", "Kredi kartınızdan ödeme alınamadı. Lütfen kart bilgilerinizi kontrol ediniz.");
                }

                // ödeme başarılıysa
                if (odemeSonuc)
                {
                    // sipariş ve sipariş detaylarını veritabanına kaydet
                    Siparis siparis = new Siparis
                    {
                        MusteriId       = User.Identity.GetUserId(),
                        SehirId         = odemeVM.SehirId,
                        Ad              = odemeVM.Ad,
                        Soyad           = odemeVM.Soyad,
                        Email           = odemeVM.Email,
                        Adres           = odemeVM.Adres,
                        Adres2          = odemeVM.Adres2,
                        PostaKodu       = odemeVM.PostaKodu,
                        OdemeTutari     = odemeVM.OdemeTutari,
                        SiparisZamani   = DateTime.Now,
                        SiparisDetaylar = new List <SiparisDetay>()
                    };

                    foreach (var item in Sepet)
                    {
                        siparis.SiparisDetaylar.Add(new SiparisDetay
                        {
                            UrunId     = item.UrunId,
                            UrunAd     = item.UrunAd,
                            BirimFiyat = item.BirimFiyat,
                            Adet       = item.Adet
                        });
                    }

                    db.Siparisler.Add(siparis);
                    db.SaveChanges();
                    Sepet.Clear();

                    TempData["SiparisId"] = siparis.Id;
                    return(RedirectToAction("OdemeAlindi", "Sepet"));
                }
            }

            ViewBag.SehirId = new SelectList(db.Sehirler.ToList(), "Id", "SehirAd");

            return(View());
        }
示例#4
0
        public ActionResult SepetUrunSil(int id)
        {
            Sepet.RemoveAll(x => x.UrunId == id);

            return(Json(new { ToplamTutar = Sepet.Sum(x => x.BirimFiyat * x.Adet).ToString("0.00"), UrunAdet = Sepet.Count }));
        }