Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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;
        }