public void ServerToClient(WfProcessDescriptorInfoCollection server, WfClientProcessDescriptorInfoCollection client)
        {
            server.NullCheck("server");
            client.NullCheck("client");

            client.Clear();

            foreach (WfProcessDescriptorInfo processInfo in server)
            {
                WfClientProcessDescriptorInfo clientInfo = null;

                this.ServerToClient(processInfo, ref clientInfo);

                client.Add(clientInfo);
            }
        }
        public WfClientProcessDescriptorInfoPageQueryResult QueryProcessDescriptorInfo(int startRowIndex, int maximumRows, string where, string orderBy, int totalCount)
        {
            OperationContext.Current.FillContextToOguServiceContext();

            if (orderBy.IsNullOrEmpty())
            {
                orderBy = "MODIFY_TIME DESC";
            }

            string selectFields = "PROCESS_KEY, APPLICATION_NAME, PROGRAM_NAME, PROCESS_NAME, ENABLED, CREATE_TIME, CREATOR_ID, CREATOR_NAME, MODIFY_TIME, MODIFIER_ID, MODIFIER_NAME, IMPORT_TIME, IMPORT_USER_ID, IMPORT_USER_NAME";

            QueryCondition qc = new QueryCondition(
                startRowIndex,
                maximumRows,
                selectFields,
                ORMapping.GetMappingInfo(typeof(WfProcessDescriptorInfo)).TableName,
                orderBy);

            WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder();

            builder.AppendTenantCode();

            if (where.IsNotEmpty())
            {
                where += " AND ";
            }

            where += builder.ToSqlString(TSqlBuilder.Instance);

            qc.WhereClause = where;

            CommonAdapter adapter = new CommonAdapter(WfProcessDescriptorInfoAdapter.Instance.ConnectionName);

            WfProcessDescriptorInfoCollection processInfo = adapter.SplitPageQuery <WfProcessDescriptorInfo, WfProcessDescriptorInfoCollection>(qc, ref totalCount);

            WfClientProcessDescriptorInfoCollection clientInfo = new WfClientProcessDescriptorInfoCollection();

            WfClientProcessDescriptorInfoConverter.Instance.ServerToClient(processInfo, clientInfo);

            WfClientProcessDescriptorInfoPageQueryResult result = new WfClientProcessDescriptorInfoPageQueryResult();

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

            return(result);
        }
Esempio n. 3
0
        private void GetProcessName(HttpContext context)
        {
            if (string.IsNullOrEmpty(context.Request.Params["ProcKey"]))
            {
                RespondResult(context, false, "ProcKey不能为空!");
                return;
            }

            string procKey = context.Request["ProcKey"];
            WfProcessDescriptorInfoCollection processDescInfos =
                WfProcessDescriptorInfoAdapter.Instance.LoadWfProcessDescriptionInfos(builder => builder.AppendItem("PROCESS_KEY", procKey), true);

            if (processDescInfos.Count == 0)
            {
                RespondResult(context, false, string.Format("不能找到KEY为{0}的流程模板!", procKey));
                return;
            }
            RespondResult(context, true, processDescInfos[0].ProcessName);
        }