public async Task <IActionResult> AddBoss(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 AddBossToDungeonInputModel { DungeonId = id, DungeonName = dungeon.Name, NPCs = _NPCsService.All() }; return(View(model)); }
public void AddBossToDungeon_AddsData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Dungeons_Db_ForAddBoss") .Options; using (var context = new GameInfoContext(options)) { context.Dungeons.Add(new Dungeon() { Name = "DungeonForBoss" }); context.SaveChanges(); } using (var context = new GameInfoContext(options)) { var service = new DungeonsService(context, null); var npc = new NPC() { Name = "NPC" }; var model = new AddBossToDungeonInputModel() { DungeonId = 1 }; var result = service.AddBossToDungeon(model, npc); Assert.True(result); } }
public IActionResult AddBoss(AddBossToDungeonInputModel model) { var bossToAdd = _NPCsService.ByName(model.BossName); var success = _dungeonsService.AddBossToDungeon(model, bossToAdd); if (success) { return(RedirectToAction("Details", new { id = model.DungeonId })); } return(View(model)); }
public bool AddBossToDungeon(AddBossToDungeonInputModel model, NPC NPCToAdd) { var dungeon = this.ById(model.DungeonId); if (dungeon == null) { return(false); } var npc = NPCToAdd; dungeon.Bosses.Add(npc); _db.SaveChanges(); return(true); }