コード例 #1
0
        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));
            }
        }
コード例 #2
0
        //ü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);
        }