public virtual Task <Resources <TaskModel> > GetTasks([FromBody] ProcessInstanceTaskQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            IPage <TaskModel> page = pageableTaskService.GetTasks(query.ProcessInstanceId, query.BusinessKey, query.TenantId, query.Pageable);

            List <TaskResource> res = taskResourceAssembler.ToResources(page.GetContent()).ToList();

            IPage <TaskModel> historics = null;

            if (query.IncludeCompleted)
            {
                historics = pageableTaskService.GetHistoryTasks(query.ProcessInstanceId, query.BusinessKey, query.TenantId, query.Pageable);

                res.AddRange(taskResourceAssembler.ToResources(historics.GetContent()));
            }

            Resources <TaskModel> tasks = new Resources <TaskModel>(res.Select(x => x.Content), page.GetTotalItems() + (query.IncludeCompleted ? historics.GetTotalItems() : 0), query.Pageable.PageNo, query.Pageable.PageSize);

            return(Task.FromResult <Resources <TaskModel> >(tasks));
        }
Beispiel #2
0
 /// <summary>
 ///
 /// </summary>
 public virtual IPage <TaskModel> GetTasks(TaskQuery query)
 {
     return(pageableTaskService.GetTasks(query));
 }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 public virtual IPage <TaskModel> GetTasks(Pageable pageable)
 {
     return(pageableTaskService.GetTasks(pageable));
 }