public List <Task> GetByDate(DateTime from, DateTime to)
        {
            var subtasks = subtaskDao.GetUpdates(from, to).ToDictionary(x => x.Task, x => x);
            var ids      = subtasks.Select(x => x.Value.Task).Distinct().ToList();
            var tasks    = taskDao.GetById(ids);

            foreach (var task in tasks)
            {
                Subtask subtask;
                subtasks.TryGetValue(task.ID, out subtask);
                task.SubTasks.Add(subtask);
            }
            return(tasks);
        }
示例#2
0
        /// <summary>
        /// Get subtasks created during time interval attached to parent task
        /// </summary>
        /// <param name="from"></param>
        /// <param name="to"></param>
        /// <returns></returns>
        public List <Task> GetSubtaskUpdates(DateTime from, DateTime to)
        {
            var subtasks = _subtaskDao.GetUpdates(from, to);
            var ids      = subtasks.Select(x => x.Task).Distinct().ToList();
            var tasks    = _taskDao.GetById(ids).ToDictionary(x => x.ID, x => x);

            foreach (var subtask in subtasks)
            {
                Task task;
                tasks.TryGetValue(subtask.Task, out task);
                task.SubTasks.Add(subtask);
            }
            return(tasks.Select(x => x.Value).Where(CanRead).ToList());
        }