public async Task <IActionResult> GetQuests(string searchPattern, int start, int pageSize) { GoNorthProject project = await _projectDbAccess.GetDefaultProject(); Task <List <AikaQuest> > queryTask; Task <int> countTask; if (string.IsNullOrEmpty(searchPattern)) { queryTask = _questDbAccess.GetQuestsByProjectId(project.Id, start, pageSize); countTask = _questDbAccess.GetQuestsByProjectIdCount(project.Id); } else { queryTask = _questDbAccess.SearchQuests(project.Id, searchPattern, start, pageSize); countTask = _questDbAccess.SearchQuestsCount(project.Id, searchPattern); } Task.WaitAll(queryTask, countTask); QuestQueryResult queryResult = new QuestQueryResult(); queryResult.Quests = queryTask.Result; queryResult.HasMore = start + queryResult.Quests.Count < countTask.Result; return(Ok(queryResult)); }
public async Task <IActionResult> GetNotImplementedQuests(int start, int pageSize) { GoNorthProject project = await _projectDbAccess.GetDefaultProject(); Task <List <AikaQuest> > queryTask = _questDbAccess.GetNotImplementedQuests(project.Id, start, pageSize); Task <int> countTask = _questDbAccess.GetNotImplementedQuestsCount(project.Id); Task.WaitAll(queryTask, countTask); QuestQueryResult queryResult = new QuestQueryResult(); queryResult.Quests = queryTask.Result; queryResult.HasMore = start + queryResult.Quests.Count < countTask.Result; return(Ok(queryResult)); }