public IOrderedQueryable <ITask> GetFromArchiveByBoard(TaskFilter filter) { var tasks = _Context.TasksArchives; IOrderedQueryable <ITask> ordered = filter.Order(filter.Where(tasks)); return(ordered); }
/// <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); }
/// <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()); } } }