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"));
        }
Exemplo n.º 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());
 }
        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));
        }
Exemplo n.º 4
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());
        }