public IActionResult AddProduct(AddToShoppingCartModel model) { //EF Core inmemory veritabanını entegre etmek için yazıldı _context.Database.EnsureCreated(); var cartType = _context.UserShoppingCarts.AsNoTracking() .Where(x => x.UserShoppingCartsId == model.UserShoppingCartId) .Select(x => x.ProductType) .Single(); IShoppingCart shoppingCart = cartType.CreateShoppingCart(); //veritabanı kaydından önce kontroller çalıştırılıyor. string error = shoppingCart.CheckAddingRules(model); if (!string.IsNullOrEmpty(error)) { return(BadRequest(error)); } //sepete ekleme işlemi gerçekleştiriliyor. shoppingCart.AddProduct(model); //işlemler sonucunda veritabanındaki değişiklikleri görmek isterseniz //aşağıdaki kod bloğunu aktif hale getirip 55. satıra break point yerleştirdikten sonra listeleri inceleyebilirsiniz /* * var productList = _context.Products.AsNoTracking().ToList(); * var userList = _context.Users.AsNoTracking().ToList(); * var userShoppingCartList = _context.UserShoppingCarts.AsNoTracking().ToList(); * var productsInShoppingCartsList = _context.ProductsInShoppingCarts.AsNoTracking().ToList(); */ return(Ok("İşleminiz başarıyla gerçekleşti")); }
public virtual string CheckAddingRules(AddToShoppingCartModel model) { return(shoppingCart.CheckAddingRules(model)); }