public IPage<ITask> GetTasksByFilter(ITaskFilter filter) { IQueryable<TaskEntity> tasks = SetOfTask().OrderByDescending(x=>x.CreatedDateTime); if (filter.PriorityCode.HasValue) { tasks = tasks.Where(x => x.PriorityCode == filter.PriorityCode); } if (filter.StartCreatedDate.HasValue) { DateTime from = filter.StartCreatedDate.Value.Date; tasks = tasks.Where(x => x.CreatedDateTime >= from); } if (filter.EndCreatedDate.HasValue) { DateTime to = filter.EndCreatedDate.Value.Date.AddDays(1).AddSeconds(-1); tasks = tasks.Where(x => x.CreatedDateTime <= to); } if (!string.IsNullOrWhiteSpace(filter.SearchText)) { tasks = tasks.Where(x => x.Name.Contains(filter.SearchText) || x.Description.Contains(filter.SearchText)); } return new PageResult<ITask>(filter.PageIndex, filter.PageSize).ExecuteWith(tasks); }
public IPage <ITask> GetTasksByFilter(ITaskFilter filter) { IQueryable <TaskEntity> tasks = SetOfTask().OrderByDescending(x => x.CreatedDateTime); if (filter.PriorityCode.HasValue) { tasks = tasks.Where(x => x.PriorityCode == filter.PriorityCode); } if (filter.StartCreatedDate.HasValue) { DateTime from = filter.StartCreatedDate.Value.Date; tasks = tasks.Where(x => x.CreatedDateTime >= from); } if (filter.EndCreatedDate.HasValue) { DateTime to = filter.EndCreatedDate.Value.Date.AddDays(1).AddSeconds(-1); tasks = tasks.Where(x => x.CreatedDateTime <= to); } if (!string.IsNullOrWhiteSpace(filter.SearchText)) { tasks = tasks.Where(x => x.Name.Contains(filter.SearchText) || x.Description.Contains(filter.SearchText)); } return(new PageResult <ITask>(filter.PageIndex, filter.PageSize).ExecuteWith(tasks)); }
public static void Run() { for (int i = 0; i < Hallocation.ProduceCount; i += 1) { Spider spider = new Spider(i); Spiders.Add(spider); } for (int i = 0; i < Hallocation.ProduceCount; i += 1) { Spider spider = Spiders[i]; ThreadPool.QueueUserWorkItem((obj => { #if DEBUG Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("[Runner]\t{0}号蜘蛛被唤醒\r\n", spider.Index); #endif spider.Start(); })); } ThreadPool.QueueUserWorkItem((obj) => { CheckEnd(); }); for (int i = 0; i < Hallocation.CustomerCount; i += 1) { int j = i; ThreadPool.QueueUserWorkItem((obj) => { while (true) { SpiderTask task = GetResult(); if (task == null) { Thread.Sleep(400); continue; } #if DEBUG Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine("[Executor]\t拿到结果并交给{0}来处理\r\n", task.ProcessorKey); #endif if (!String.IsNullOrEmpty(task.FilterKey)) { ITaskFilter filter = Filters[task.FilterKey]; filter.Run(task); } if (!String.IsNullOrEmpty(task.ProcessorKey)) { ITaskProcessor processor = Processors[task.ProcessorKey]; processor.Run(task); } PostTask(task); } }); } }
public async Task <IList <ManagerTask> > GetListAsync(ITaskFilter taskFilter, DateTime?date) { using (var db = new BkDbContext()) { var lowerName = taskFilter.Name?.ToLower(); var lowerPurpose = taskFilter.Purpose?.ToLower(); var agentIds = taskFilter.AgentIds == null ? new int[] { } : taskFilter.AgentIds; var filterByName = !string.IsNullOrEmpty(lowerName); var filterByPurpose = !string.IsNullOrEmpty(lowerPurpose); var filterByInn = !string.IsNullOrEmpty(taskFilter.Inn); var filterByAgents = agentIds.Length > 0; var filterByDate = date.HasValue; var tasksQuery = ( from task in db.Tasks join resolution in db.Resolutions on task.Id equals resolution.TaskId where task.IsArchive == taskFilter.IsArchive && (!filterByName || task.Name != null && task.Name.ToLower().Contains(lowerName)) && (!filterByPurpose || task.PurposeOfPayment != null && task.PurposeOfPayment.ToLower().Contains(lowerPurpose)) && (!filterByInn || task.Inn != null && task.Inn.Contains(taskFilter.Inn)) && (!filterByAgents || agentIds.Contains(resolution.AgentId)) && (!filterByDate || task.Date == date.Value) select task) .Distinct() .OrderByDescending(p => p.Date) .Skip(taskFilter.Offset); if (taskFilter.Limit > 0) { tasksQuery = tasksQuery.Take(taskFilter.Limit); } var tasks = (await tasksQuery.ToListAsync()).Select(p => new ManagerTask(p)).ToList(); return(await FillManagerTasksStatusesAndDecisions(db, tasks, taskFilter.Type)); } }
public RegisteredTaskFilter(ITaskFilter taskFilter) { Argument.IsNotNull(taskFilter, nameof(taskFilter)); TaskFilterInstance = taskFilter; }
protected RepoBase() { _taskFilter = ServiceLocator.GetInstance<ITaskFilter>(); }
public ICompositeTaskSet GetCompositeTasks(ITaskFilter filter) { ICompositeTaskSet taskSet = repositoryContext.ApplyTaskFilterWithCompute(CreateSid(), filter); return new CompositeTaskSet { LoggedUser = userContext.Logged, Page = taskSet.Page, Priorities = clsService.GetPriorities() .Merge(taskSet.Priorities, x => x.Id, x => x.Id, (x, y) => new AggregateClassifier { Id = x.Id, Name = x.Name, Total = y.Total }, x => new AggregateClassifier { Id = x.Id, Name = x.Name, Total = 0 }) .ToArray(), Statuses = clsService.GetStatuses() .Merge(taskSet.Statuses, x => x.Id, x => x.Id, (x, y) => new AggregateClassifier { Id = x.Id, Name = x.Name, Total = y.Total }, x => new AggregateClassifier { Id = x.Id, Name = x.Name, Total = 0 }) .ToArray(), Users = clsService.GetSystemUsers().Merge(taskSet.Users, x => x.Id, x => x.Id, (x, y) => new UserObject { Id = x.Id, Name = x.Name, TotalTasks = y.TotalTasks }, x => new UserObject(x)).ToArray() }; }
public IPage<ITask> GetTasksByFilter(ITaskFilter filter) { return repositoryContext.ApplyTaskFilterOnly(CreateSid(), filter); }
public TaskManager() { _entries = new List <TaskEntry>(); _filter = null; }
public ICompositeTaskSet ApplyTaskFilterWithCompute(Guid? sid, ITaskFilter filter) { return new CompositeTaskSet(filter.PageIndex, filter.PageSize).ExecuteWith(ApplyFilter(SetOfTask(), sid, filter)); }
public IPage<ITask> ApplyTaskFilterOnly(Guid? sid , ITaskFilter filter) { return new PageResult<ITask>(filter.PageIndex, filter.PageSize).ExecuteWith(ApplyFilter(SetOfTask(),sid,filter)); }
private IQueryable<TaskEntity> ApplyFilter(IQueryable<TaskEntity> query, Guid? sid, ITaskFilter filter) { if (sid.HasValue) { query = query.Where(x => x.AuthorId == sid || x.ManagerId == sid || x.EmployeeId == sid); } if (filter.PriorityCode.HasValue) { query = query.Where(x => x.PriorityId == filter.PriorityCode); } if (filter.StartCreatedDate.HasValue) { DateTime from = filter.StartCreatedDate.Value.Date; query = query.Where(x => x.CreatedDateTime >= from); } if (filter.EndCreatedDate.HasValue) { DateTime to = filter.EndCreatedDate.Value.Date.AddDays(1).AddSeconds(-1); query = query.Where(x => x.CreatedDateTime <= to); } if (!string.IsNullOrWhiteSpace(filter.SearchText)) { query = query.Where(x => x.Name.Contains(filter.SearchText) || x.Description.Contains(filter.SearchText)); } return query.OrderByDescending(x => x.CreatedDateTime); }