public void Add_SavesToDatabase() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "AddQuest_ToDb") .Options; using (var context = new GameInfoContext(options)) { var questToAdd = new AddQuestInputModel() { Title = "QuestTitle", QuestText = "QuestText", CompletionCondition = "None" }; questToAdd.QuestGiver = null; var service = new QuestsService(context, null); service.Add(questToAdd); var expectedQuest = new Quest() { Title = questToAdd.Title, QuestText = questToAdd.QuestText, CompletionCondition = questToAdd.CompletionCondition }; Assert.NotEmpty(context.Quests); Assert.Equal(expectedQuest.Title, context.Quests.First().Title); Assert.Equal(expectedQuest.QuestText, context.Quests.First().QuestText); Assert.Equal(expectedQuest.CompletionCondition, context.Quests.First().CompletionCondition); } }
public IActionResult Add(AddQuestInputModel inputModel) { if (!ModelState.IsValid) { inputModel = new AddQuestInputModel { NPCs = _NPCsService.All()?.ToList() }; return(View(inputModel)); } _questsService.Add(inputModel); return(Redirect(Quests_Root_Path)); }
public async Task <IActionResult> Add() { var user = await _authorizerService.Authorize(HttpContext); if (user != null) { var model = new AddQuestInputModel { NPCs = _NPCsService.All()?.ToList() }; return(View(model)); } return(Redirect(GlobalConstants.Default_Login_Page)); }
public void Add(AddQuestInputModel model) { var quest = new Quest { Title = model.Title, QuestText = model.QuestText, CompletionCondition = model.CompletionCondition }; if (model.QuestGiver != null) { quest.QuestGiver = _npcsService.ByName(model.QuestGiver); } this._db.Quests.Add(quest); this._db.SaveChanges(); }