public IActionResult ClaimQuest(int id) { var claimedQuest = _questDAO.FindOneRecordBy(id); switch (claimedQuest.Type) { case TypeClassification.Individual: var ownedIndividualQuest = new OwnedQuestStudent() { StudentId = _loggedStudent.Id, QuestId = claimedQuest.Id, CompletionStatus = CompletionStatus.Unfinished, }; _questManager.ClaimIndividualQuest(ownedIndividualQuest); break; case TypeClassification.Group: var ownedGroupQuest = new OwnedQuestGroup() { GroupId = _loggedStudent.GroupID, QuestId = claimedQuest.Id, CompletionStatus = CompletionStatus.Unfinished, }; _questManager.ClaimGroupQuest(ownedGroupQuest); break; default: throw new ArgumentOutOfRangeException(); } TempData["QuestMessage"] = $"You have claimed the \"{claimedQuest.Name}\" Quest!"; return(RedirectToAction($"ViewAllQuests", $"Quest")); }
public void ClaimGroupQuest(OwnedQuestGroup claimedOwnedQuest) { _ownedGroupDAO.AddRecord(claimedOwnedQuest); }