public ViewResult AlisverisiTamamla(Cart cart, GonderimDetaylari gonderimDetaylari) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Üzgünüz, sepetiniz boş."); } if (ModelState.IsValid) // modelimiz geçerliyse yani kullanıcı uygun adres bilgilerini ve ismini yazdıysa siparişi alalım. { depo.SiparisiVeritabaninaYaz(cart, User.Identity, gonderimDetaylari); // VERİTABANINA YAZ cart.Clear(); // Burası sepetin içeriğini temizler return(View("SiparisVerildi")); } else { return(View(gonderimDetaylari)); } }
//ürün daha önce alındıysa yani windowkimligi ve urunid aynı olan başka urun varsa sadece sayısını arttır public bool SiparisiVeritabaninaYaz(Cart cart, System.Security.Principal.IIdentity WindowsKimligi, GonderimDetaylari gonderimDetaylari) { IEnumerable <CartLine> satinAlinanlar = cart.Lines; foreach (CartLine item in satinAlinanlar) { BoughtByUser kontrol = icerik.BoughtByUsers.Find(WindowsKimligi.Name, item.Product.UrunID); if (kontrol == null) // ürün daha önce alınmamışssa { BoughtByUser eklenecek = new BoughtByUser { WindowsKimligi = WindowsKimligi.Name, Sayisi = item.Quantity, UrunID = item.Product.UrunID, GonderilecekAdres = gonderimDetaylari.Line1 + " " + gonderimDetaylari.Line2 + " " + gonderimDetaylari.Line3 + "/" + gonderimDetaylari.City + "/" + gonderimDetaylari.State + "/" + gonderimDetaylari.Country, GonderilecekKisiAdi = gonderimDetaylari.Name, HediyePakediMi = gonderimDetaylari.GiftWrap }; icerik.BoughtByUsers.Add(eklenecek); } else { kontrol.Sayisi = item.Quantity + kontrol.Sayisi; //daha önce alınmışssa sadece miktarını arttır } } try { icerik.SaveChanges(); } catch { return(false); } return(true); }