public void Test_Mehdime_Entity() { //-- Poor-man DI - build our dependencies by hand for this demo var dbContextScopeFactory = new DbContextScopeFactory(); var ambientDbContextLocator = new AmbientDbContextLocator(); var orderRepository = new OrderRepository(ambientDbContextLocator); var personRepository = new PersonRepository(ambientDbContextLocator); var partyFactory = new PartyFactory(); var orderFactory = new OrderFactory(); var ddshop = new DDShop( dbContextScopeFactory, partyFactory, orderFactory, personRepository, orderRepository); using (var dbContextScope = dbContextScopeFactory.CreateWithTransaction(IsolationLevel.ReadCommitted)) { var theOrder = orderRepository.Get(1); var member = personRepository.GetByName("ding.p"); var orderModel = ddshop.NewOrder(member.ID); dbContextScope.SaveChanges(); } using (var dbContextScope = dbContextScopeFactory.CreateWithTransaction(IsolationLevel.ReadCommitted)) { /*var orderRepository = new OrderRepository(ambientDbContextLocator); * var personRepository = new PersonRepository(ambientDbContextLocator); * * var ddshop = new DDShop( * dbContextScopeFactory, * personRepository, orderRepository);*/ var theOrder = orderRepository.Get(1); var member = personRepository.GetByName("ding.p"); var orderModel = ddshop.NewOrder(member.ID); dbContextScope.SaveChanges(); } }
public IActionResult DeletePerm(DDShop deleteShop) { var obj = _db.Shops.Find(deleteShop.Shop.Id); if (obj == null) { return(NotFound()); } List <Shop> shops = _db.Shops.ToList(); if (shops.Count() == 1) { return(RedirectToAction("Delete", new { id = deleteShop.Shop.Id, err = "Can not destroy this shop: ninja's need to buy their gear somewhere!" })); } _db.ItemOfShops.RemoveRange(_db.ItemOfShops.Where(i => i.ShopId == obj.Id).ToList()); _db.Shops.Remove(obj); _db.SaveChanges(); return(RedirectToAction("Index")); }
//GET - DELETE public IActionResult Delete(int?id, string err) { if (err != null) { ModelState.AddModelError(string.Empty, err); } if (id == null || id == 0) { return(NotFound()); } var shop = _db.Shops.Find(id); if (shop == null) { return(NotFound()); } List <ItemOfShop> Items = _db.ItemOfShops.Where(i => i.ShopId == shop.Id).ToList(); List <int> ItemIds = new List <int>(); foreach (var item in Items) { ItemIds.Add(item.ItemId); } List <ItemWithCategory> ShopItems = new List <ItemWithCategory>(); foreach (var itemId in ItemIds) { ShopItems.Add(new ItemWithCategory { item = _db.Items.Find(itemId), category = _db.Categories.Find(_db.Items.Find(itemId).CategoryId) }); } DDShop DeleteShop = new DDShop { Shop = shop, Inventory = ShopItems }; return(View(DeleteShop)); }