Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }