示例#1
0
        public IOrderedQueryable <ITask> GetFromArchiveByBoard(TaskFilter filter)
        {
            var tasks = _Context.TasksArchives;
            IOrderedQueryable <ITask> ordered = filter.Order(filter.Where(tasks));

            return(ordered);
        }
示例#2
0
        /// <summary>
        /// Получение задач всеми возможными способами
        /// </summary>
        public IOrderedQueryable <ITask> Get(TaskFilter filter)
        {
            // TODO: переписать все на native SQL?
            IQueryable <Task>         tasks   = _Context.Tasks.Where(x => !x.IsDeleted);
            IOrderedQueryable <ITask> ordered = filter.Order(filter.Where(tasks));

            return(ordered);
        }
示例#3
0
        /// <summary>
        /// Получение задач
        /// ПЕЙДЖИНГА ТУТ БЫТЬ НЕ ДОЛЖНО
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        public List <ITask> Get(TaskFilter filter)
        {
            using (new ReadLock(filter.BoardId))
            {
                HashSet <ITask> allTasks = GetTasksCache(filter.BoardId);

                if (allTasks == null)
                {
                    List <ITask> tasks = Repository.Tasks.Get(filter).ToList();
                    return(tasks);
                }
                else
                {
                    // данные по такому фильтру получали, по этому берем из кеша
                    IQueryable <ITask>        tasks   = allTasks.AsQueryable();
                    IOrderedQueryable <ITask> ordered = filter.Order(filter.Where(tasks));
                    return(ordered.ToList());
                }
            }
        }