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));
        }
示例#2
0
        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));
        }
示例#4
0
        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);
        }