public WfClientProcessCurrentInfoPageQueryResult QueryProcesses(WfClientProcessQueryCondition condition, int startRowIndex, int maximumRows, string orderBy, int totalCount)
        {
            condition.NullCheck("condition");

            OperationContext.Current.FillContextToOguServiceContext();

            WfProcessQueryCondition serverCondition = null;

            WfClientProcessQueryConditionConverter.Instance.ClientToServer(condition, ref serverCondition);

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

            ConnectiveSqlClauseCollection connective = serverCondition.ToSqlBuilder();

            WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder();

            builder.AppendItem("COMMITTED", "1");
            builder.AppendTenantCode();

            connective.Add(builder);

            QueryCondition qc = new QueryCondition(startRowIndex, maximumRows,
                                                   ORMapping.GetSelectFieldsNameSql <WfProcessCurrentInfo>(),
                                                   ORMapping.GetMappingInfo(typeof(WfProcessCurrentInfo)).TableName,
                                                   orderBy);

            qc.WhereClause += connective.ToSqlString(TSqlBuilder.Instance);

            return(QueryProcessInfo(qc, totalCount));
        }
예제 #2
0
        public void ClientProcessQueryConditionToSqlTest()
        {
            WfClientProcessQueryCondition client = PrepareQueryCondition();

            WfProcessQueryCondition server = null;

            WfClientProcessQueryConditionConverter.Instance.ClientToServer(client, ref server);

            Console.WriteLine(server.ToSqlBuilder().ToSqlString(TSqlBuilder.Instance));
        }