public ActionResult OdemeYap(OdemeViewModel odemeViewModel) { var user = UserManager.FindByName(User.Identity.Name); Profil userProfil = user.Profil.LastOrDefault(); List <Adres> adresler = userProfil.Adresler.ToList(); List <Siparis> siparisler = SiparisManager.GetByProfilWithSiparisUrun(userProfil.ProfilId); Siparis siparis = siparisler.Where(x => x.SiparisId == odemeViewModel.Siparis.SiparisId).FirstOrDefault(); if (odemeViewModel.SelectedAdresId == null) { ModelState.AddModelError("", "Adres Seçilmedi"); odemeViewModel = new OdemeViewModel { Profil = userProfil, Adresler = adresler, Siparis = siparis }; return(View(odemeViewModel)); } Adres adres = userProfil.Adresler.Where(x => x.Id == odemeViewModel.SelectedAdresId).FirstOrDefault(); siparis.OdendiMi = true; siparis.Il = adres.Il; siparis.Ilce = adres.Ilce; siparis.Ulke = adres.Ulke; siparis.AdresDetay = adres.AdresDetay; SiparisManager.Update(siparis); return(RedirectToAction("Index", "Siparis")); }
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()); }
public ActionResult OdemeYap(int id) { var user = UserManager.FindByName(User.Identity.Name); Profil userProfil = user.Profil.LastOrDefault(); List <Adres> adresler = userProfil.Adresler.ToList(); List <Siparis> siparisler = SiparisManager.GetByProfilWithSiparisUrun(userProfil.ProfilId); Siparis siparis = siparisler.Where(x => x.SiparisId == id).FirstOrDefault(); OdemeViewModel odemeViewModel = new OdemeViewModel { Profil = userProfil, Adresler = adresler, Siparis = siparis }; return(View(odemeViewModel)); }
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()); }