public void QueryProcessesTest()
        {
            WfClientProcessQueryCondition condition = new WfClientProcessQueryCondition();

            condition.BeginStartTime   = DateTime.Now.AddHours(-1);
            condition.EndStartTime     = DateTime.Now.AddHours(1);
            condition.ProcessCreatorID = Consts.Users["Requestor"].ID;

            WfClientProcessInfo process = OperationHelper.PrepareSimpleProcessInstance();

            WfClientProcessCurrentInfoPageQueryResult result = WfClientProcessRuntimeServiceProxy.Instance.QueryProcesses(condition, 0, 1, string.Empty, -1);

            Assert.IsTrue(result.QueryResult.ContainsKey(process.ID));
        }
        private static WfClientProcessCurrentInfoPageQueryResult QueryProcessInfo(QueryCondition qc, int totalCount)
        {
            TSqlCommonAdapter adapter = new TSqlCommonAdapter(WfProcessCurrentInfoAdapter.Instance.ConnectionName);

            WfProcessCurrentInfoCollection processInfo = adapter.SplitPageQuery <WfProcessCurrentInfo, WfProcessCurrentInfoCollection>(qc, ref totalCount);

            WfClientProcessCurrentInfoCollection clientInfo = new WfClientProcessCurrentInfoCollection();

            WfClientProcessCurrentInfoConverter.Instance.ServerToClient(processInfo, clientInfo);

            WfClientProcessCurrentInfoPageQueryResult result = new WfClientProcessCurrentInfoPageQueryResult();

            result.TotalCount = totalCount;
            result.QueryResult.CopyFrom(clientInfo);

            return(result);
        }
        public void QueryBranchProcessesTest()
        {
            //建立流程
            int pageSize = 1;

            WfClientProcessInfo process = OperationHelper.PrepareBranchProcesses();

            Assert.IsTrue(process.MainStreamActivityDescriptors["N1"].BranchProcessGroupsCount > 0);

            string id = process.CurrentActivity.ID;
            //获取子流程
            WfClientProcessCurrentInfoPageQueryResult result = WfClientProcessRuntimeServiceProxy.Instance.QueryBranchProcesses(id, string.Empty, 0, pageSize, string.Empty, -1);

            //检查
            //分页是否正确,分支流程个数是否正确
            Assert.AreEqual(pageSize, result.QueryResult.Count());
            Assert.AreEqual(process.CurrentActivity.Assignees.Count, result.TotalCount);
        }
        private static WfClientProcessCurrentInfoPageQueryResult QueryProcessInfo(QueryCondition qc, int totalCount)
        {
            CommonAdapter adapter = new CommonAdapter(WfProcessCurrentInfoAdapter.Instance.ConnectionName);

            WfProcessCurrentInfoCollection processInfo = adapter.SplitPageQuery<WfProcessCurrentInfo, WfProcessCurrentInfoCollection>(qc, ref totalCount);

            WfClientProcessCurrentInfoCollection clientInfo = new WfClientProcessCurrentInfoCollection();

            WfClientProcessCurrentInfoConverter.Instance.ServerToClient(processInfo, clientInfo);

            WfClientProcessCurrentInfoPageQueryResult result = new WfClientProcessCurrentInfoPageQueryResult();

            result.TotalCount = totalCount;
            result.QueryResult.CopyFrom(clientInfo);

            return result;
        }