public CommonResult<GetTasksForGroupResult> GetTasksForGroup(GetTasksForGroupRequest request) { var getGroupResult = _groupsRepository.Get(request.GroupId, false, false, true); if (getGroupResult.IsSuccess) { var tasks = getGroupResult.Item.Tasks; if(tasks != null && tasks.Any()) { var tasksData = _tasksService.GetTaskDataWithCompleteness(request, tasks.Select(x => Mapper.Map<TaskListItemData>(x))); return CommonResult<GetTasksForGroupResult>.Success(new GetTasksForGroupResult { Tasks = tasksData }); } else { return CommonResult<GetTasksForGroupResult>.Failure("W tej grupie nie ma żadnych zadań."); } } else { return CommonResult<GetTasksForGroupResult>.Failure(getGroupResult.ErrorMessage); } }
public IEnumerable<TaskListItemData> GetTaskDataWithCompleteness(GetTasksForGroupRequest request, IEnumerable<TaskListItemData> tasksData) { List<TaskListItemData> data = new List<TaskListItemData>(); var getTaskInstances = GetCompletedTaskInstancesForUser(request.UserName); if (getTaskInstances.IsSuccess) { var completedTasks = getTaskInstances.Item.Select(x => x.TaskId).Distinct(); foreach (var task in tasksData) { if (completedTasks.Contains(task.Id)) { task.IsCompleted = true; } data.Add(task); } } return data; }