Пример #1
0
        public void AddQuest_AddsToNPC()
        {
            var options = new DbContextOptionsBuilder <GameInfoContext>()
                          .UseInMemoryDatabase(databaseName: "Db_ForAddQuest_ToNPC")
                          .Options;

            var npc = new NPC()
            {
                Name = "NPC QuestAdd"
            };
            var quest = new Quest()
            {
                Title = "QuestTitle", CompletionCondition = "None"
            };

            using (var context = new GameInfoContext(options))
            {
                context.NPCs.Add(npc);
                context.Quests.Add(quest);
                context.SaveChanges();

                var model = new AddQuestToNPCInputModel()
                {
                    NPCId = 1
                };

                var service = new NPCsService(context, null);

                Assert.True(service.AddQuestToNPC(model, quest));
            }
        }
Пример #2
0
        public async Task <IActionResult> AddQuest(int id)
        {
            var user = await _authorizerService.Authorize(HttpContext);

            if (user == null)
            {
                return(Redirect(GlobalConstants.Default_Login_Page));
            }

            var npc = _NPCsService.ById(id);

            if (npc == null)
            {
                return(Redirect(NPCs_Root_Path));
            }

            var model = new AddQuestToNPCInputModel
            {
                NPCId   = id,
                NPCName = npc.Name,
                Quests  = _questsService.All()
            };

            return(View(model));
        }
Пример #3
0
        public IActionResult AddQuest(AddQuestToNPCInputModel model)
        {
            var questToAdd = _questsService.ByName(model.QuestTitle);
            var success    = _NPCsService.AddQuestToNPC(model, questToAdd);

            if (success)
            {
                return(RedirectToAction("Details", new { id = model.NPCId }));
            }

            return(View(model));
        }
Пример #4
0
        public bool AddQuestToNPC(AddQuestToNPCInputModel model, Quest questToAdd)
        {
            var npc = this.ById(model.NPCId);

            if (npc == null)
            {
                return(false);
            }

            var quest = questToAdd;

            npc.Quests.Add(quest);
            _db.SaveChanges();

            return(true);
        }