public async Task <IActionResult> AddReward(int id) { var user = await _authorizerService.Authorize(HttpContext); if (user == null) { return(Redirect(GlobalConstants.Default_Login_Page)); } var dungeon = _dungeonsService.ById(id); if (dungeon == null) { return(Redirect(Dungeons_Root_Path)); } var model = new AddItemToDungeonInputModel { DungeonId = id, DungeonName = dungeon.Name, Items = _itemsService.All() }; return(View(model)); }
public void AddItemToDungeon_AddsData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Dungeons_Db_ForAddItem") .Options; using (var context = new GameInfoContext(options)) { context.Dungeons.Add(new Dungeon() { Name = "DungeonForItem" }); context.SaveChanges(); } using (var context = new GameInfoContext(options)) { var service = new DungeonsService(context, null); var item = new Item() { Name = "Item", AcquiredFrom = "None", Usage = "None" }; var model = new AddItemToDungeonInputModel() { DungeonId = 1 }; var result = service.AddItemToDungeon(model, item); Assert.True(result); } }
public IActionResult AddReward(AddItemToDungeonInputModel model) { var itemToAdd = _itemsService.ByName(model.ItemName); var success = _dungeonsService.AddItemToDungeon(model, itemToAdd); if (success) { return(RedirectToAction("Details", new { id = model.DungeonId })); } return(View(model)); }
public bool AddItemToDungeon(AddItemToDungeonInputModel model, Item itemToAdd) { var dungeon = this.ById(model.DungeonId); if (dungeon == null) { return(false); } var item = itemToAdd; dungeon.Rewards.Add(item); _db.SaveChanges(); return(true); }