public async Task <TaskGroupList> GetTaskGroupListAsync(string accessToken) { var userTeams = await GetUserTeamsAsync(accessToken); TaskGroupList taskGroupList = new TaskGroupList(); foreach (var currentTaskGroupHeader in _unitOfWork.TaskGroupHeaders.GetAll(true)) { if (currentTaskGroupHeader.ParentTaskGroupId != null) { var parentTaskGroup = _unitOfWork.TaskGroupHeaders.Get(currentTaskGroupHeader.ParentTaskGroupId ?? Guid.Empty); if (parentTaskGroup != null) { if (userTeams.Contains(parentTaskGroup.TeamHeaderId)) { taskGroupList.TaskGroupHeaders.Add(_mapper.Map <TaskGroupHead>(currentTaskGroupHeader)); } } } else { if (userTeams.Contains(currentTaskGroupHeader.TeamHeaderId)) { taskGroupList.TaskGroupHeaders.Add(_mapper.Map <TaskGroupHead>(currentTaskGroupHeader)); } } } return(taskGroupList); }
public async Task <IActionResult> OnGetAsync() { var accessToken = await HttpContext.GetTokenAsync("access_token"); await PageConstructor(SaveStates.IGNORE, accessToken); if (!await _apiHelper.AuthCheck(accessToken, User.FindFirst("sub").Value)) { return(RedirectToPage("/Logout")); } var response = await _apiHelper.MakeAPICallAsync(accessToken, HttpMethod.Get, APITypes.TASK, $"TaskGroup/GetMainTaskGroups"); if (response.StatusCode == System.Net.HttpStatusCode.OK) { taskGroupList = response.ContentAsType <TaskGroupList>(); } else { taskGroupList = new TaskGroupList(); } SaveMessageModel = await _apiHelper.GenerateSaveMessageModel(accessToken); return(Page()); }
//public List<Guid> GetChildTaskGroupIds(Guid taskGroupHeaderId) //{ // List<Guid> childTaskGroupHeaders = new List<Guid>(); // var taskGroupTree = _unitOfWork.TaskGroupHeaders.GetTaskGroupTree(taskGroupHeaderId); // if (taskGroupTree.Any()) // { // var queue = new Queue<TaskGroupHeader>(); // queue.Enqueue(taskGroupTree[0]); // while (queue.Count > 0) // { // var node = queue.Dequeue(); // foreach (var childTaskGroupHeader in node.ChildTaskGroups) // { // if (!childTaskGroupHeaders.Contains(childTaskGroupHeader.Id)) // childTaskGroupHeaders.Add(childTaskGroupHeader.Id); // queue.Enqueue(childTaskGroupHeader); // } // } // } // return childTaskGroupHeaders; //} public async Task <TaskGroupList> GetMainTaskGroupsAsync(string accessToken) { TaskGroupList taskGroupList = new TaskGroupList(); foreach (var currentTaskGroupHeader in await _unitOfWork.TaskGroupHeaders.GetMainTaskGroupsAsync(false, accessToken)) { taskGroupList.TaskGroupHeaders.Add(_mapper.Map <TaskGroupHead>(currentTaskGroupHeader)); } return(taskGroupList); }