Пример #1
0
        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"));
        }
Пример #2
0
 public void ClaimGroupQuest(OwnedQuestGroup claimedOwnedQuest)
 {
     _ownedGroupDAO.AddRecord(claimedOwnedQuest);
 }