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)); } }
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)); }
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)); }
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); }