/// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="historyService">历史记录仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <HistoricInstance> LoadPage(IHistoryService historyService,
                                                 PageableProcessHistoryRepositoryService pageableRepositoryService, HistoricInstanceQuery qo)
        {
            HistoricProcessInstanceQueryImpl query = historyService.CreateHistoricProcessInstanceQuery() as HistoricProcessInstanceQueryImpl;

            FastCopy.Copy <HistoricInstanceQuery, HistoricProcessInstanceQueryImpl>(qo, query);

            if (qo.IsTerminated.HasValue)
            {
                if (qo.IsTerminated.Value)
                {
                    query.SetDeleted();
                }
                else
                {
                    query.SetNotDeleted();
                }
            }

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <HistoricInstance> defs = pageableRepositoryService.PageRetriever.LoadPage(historyService as ServiceImpl, query, qo.Pageable, pageableRepositoryService.ProcessDefinitionConverter, (q, firstResult, pageSize) =>
            {
                return(new Engine.Impl.Cmd.GetHistoricProcessInstancesCmd(q, firstResult, pageSize));
            });

            return(defs);
        }
Example #2
0
        /// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="repositoryService">仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <ProcessDefinition> LoadPage(IRepositoryService repositoryService, PageableProcessDefinitionRepositoryService pageableRepositoryService, ProcessDefinitionQuery qo)
        {
            ProcessDefinitionQueryImpl query = repositoryService.CreateProcessDefinitionQuery() as ProcessDefinitionQueryImpl;

            FastCopy.Copy <ProcessDefinitionQuery, ProcessDefinitionQueryImpl>(qo, query);

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <ProcessDefinition> defs = pageableRepositoryService.PageRetriever.LoadPage(query, qo.Pageable, pageableRepositoryService.ProcessDefinitionConverter);

            return(defs);
        }
Example #3
0
        /// <summary>
        ///
        /// </summary>
        public virtual IPage <TaskModel> GetAllTasks(TaskQuery taskQuery)
        {
            TaskQueryImpl query = taskService.CreateTaskQuery() as TaskQueryImpl;

            FastCopy.Copy <TaskQuery, TaskQueryImpl>(taskQuery, query);

            sortApplier.ApplySort(query, taskQuery.Pageable);

            return(pageRetriever.LoadPage(taskService as ServiceImpl, query, taskQuery.Pageable, taskConverter, (q, firstResult, pageSize) =>
            {
                return new GetProcessInstanceTasksCmd(q, firstResult, pageSize);
            }));
        }
        /// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="repositoryService">仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <Deployment> LoadPage(IRepositoryService repositoryService,
                                           PageableDeploymentRespositoryService pageableRepositoryService,
                                           DeploymentQuery qo)
        {
            DeploymentQueryImpl query = repositoryService.CreateDeploymentQuery() as DeploymentQueryImpl;

            FastCopy.Copy <DeploymentQuery, DeploymentQueryImpl>(qo, query);

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <Deployment> defs = pageableRepositoryService.PageRetriever.LoadPage(query, qo.Pageable, pageableRepositoryService.DeploymentConverter);

            return(defs);
        }
Example #5
0
        /// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="taskService">任务仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <TaskModel> LoadPage(ITaskService taskService,
                                          PageableTaskRepositoryService pageableRepositoryService,
                                          TaskQuery qo)
        {
            TaskQueryImpl query = taskService.CreateTaskQuery() as TaskQueryImpl;

            FastCopy.Copy <TaskQuery, TaskQueryImpl>(qo, query);

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <TaskModel> defs = pageableRepositoryService.PageRetriever.LoadPage(query, qo.Pageable, pageableRepositoryService.TaskConverter);

            return(defs);
        }
        public virtual Task <string> GetProcessModel(ProcessDefinitionQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            ProcessDefinitionQueryImpl qo = repositoryService.CreateProcessDefinitionQuery() as ProcessDefinitionQueryImpl;

            FastCopy.Copy <ProcessDefinitionQuery, ProcessDefinitionQueryImpl>(query, qo);
            qo.SetLatestVersion();

            IProcessDefinition processDefinition = qo.SingleResult();

            return(GetProcessModel(processDefinition.Id));
        }
Example #7
0
        /// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="runtimeService">运行时仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <ProcessInstance> LoadPage(IRuntimeService runtimeService,
                                                PageableProcessInstanceRepositoryService pageableRepositoryService, ProcessInstanceQuery qo)
        {
            ProcessInstanceQueryImpl query = runtimeService.CreateProcessInstanceQuery() as ProcessInstanceQueryImpl;

            FastCopy.Copy <ProcessInstanceQuery, ProcessInstanceQueryImpl>(qo, query);
            query.OnlyProcessInstances = true;

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <ProcessInstance> defs = pageableRepositoryService.PageRetriever.LoadPage(runtimeService as ServiceImpl, query, qo.Pageable, pageableRepositoryService.ProcessDefinitionConverter, (q, firstResult, pageSize) =>
            {
                return(new GetProcessInstancesCmd(q, firstResult, pageSize));
            });

            return(defs);
        }