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));
        }
        public WfProcessQueryCondition ClientToServer(WfClientProcessQueryCondition client, ref WfProcessQueryCondition server)
        {
            client.NullCheck("client");

            if (server == null)
            {
                server = new WfProcessQueryCondition();
            }

            server.ApplicationName             = client.ApplicationName;
            server.ProgramName                 = client.ProgramName;
            server.ProcessName                 = client.ProcessName;
            server.AssigneeExceptionFilterType = client.AssigneeExceptionFilterType.ToAssigneeExceptionFilterType();
            server.AssigneesSelectType         = client.AssigneesSelectType.ToAssigneesFilterType();

            server.AssigneesUserName  = client.AssigneesUserName;
            server.BeginStartTime     = client.BeginStartTime;
            server.EndStartTime       = client.EndStartTime;
            server.ProcessStatus      = client.ProcessStatus;
            server.DepartmentName     = client.DepartmentName;
            server.ProcessCreatorID   = client.ProcessCreatorID;
            server.ProcessCreatorName = client.ProcessCreatorName;

            foreach (WfClientUser user in client.CurrentAssignees)
            {
                server.CurrentAssignees.Add((IUser)(user.ToOguObject()));
            }

            return(server);
        }
        public WfClientProcessQueryCondition ServerToClient(WfProcessQueryCondition server, ref WfClientProcessQueryCondition client)
        {
            server.NullCheck("server");

            if (client == null)
            {
                client = new WfClientProcessQueryCondition();
            }

            client.ApplicationName             = server.ApplicationName;
            client.ProgramName                 = server.ProgramName;
            client.ProcessName                 = server.ProcessName;
            client.AssigneeExceptionFilterType = server.AssigneeExceptionFilterType.ToClientAssigneeExceptionFilterType();
            client.AssigneesSelectType         = server.AssigneesSelectType.ToClientAssigneesFilterType();

            client.AssigneesUserName  = server.AssigneesUserName;
            client.BeginStartTime     = server.BeginStartTime;
            client.EndStartTime       = server.EndStartTime;
            client.ProcessStatus      = server.ProcessStatus;
            client.DepartmentName     = server.DepartmentName;
            client.ProcessCreatorID   = server.ProcessCreatorID;
            client.ProcessCreatorName = server.ProcessCreatorName;

            foreach (IUser user in server.CurrentAssignees)
            {
                client.CurrentAssignees.Add((WfClientUser)(user.ToClientOguObject()));
            }

            return(client);
        }
Esempio n. 4
0
        public void ClientProcessQueryConditionToServerTest()
        {
            WfClientProcessQueryCondition client = PrepareQueryCondition();

            WfProcessQueryCondition server = null;

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

            client.AreSame(server);
        }
Esempio n. 5
0
        public void ClientProcessQueryConditionToSqlTest()
        {
            WfClientProcessQueryCondition client = PrepareQueryCondition();

            WfProcessQueryCondition server = null;

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

            Console.WriteLine(server.ToSqlBuilder().ToSqlString(TSqlBuilder.Instance));
        }
Esempio n. 6
0
        public static void AreSame(this WfClientProcessQueryCondition expected, WfProcessQueryCondition actual)
        {
            AssertStringEqual(expected.ApplicationName, actual.ApplicationName);
            AssertStringEqual(expected.ProcessName, actual.ProcessName);
            AssertStringEqual(expected.AssigneesUserName, actual.AssigneesUserName);
            AssertStringEqual(expected.DepartmentName, actual.DepartmentName);
            AssertStringEqual(expected.ProcessStatus, actual.ProcessStatus);

            Assert.AreEqual(expected.BeginStartTime, actual.BeginStartTime);
            Assert.AreEqual(expected.EndStartTime, actual.EndStartTime);

            Assert.AreEqual(expected.AssigneesSelectType, actual.AssigneesSelectType.ToClientAssigneesFilterType());
            Assert.AreEqual(expected.AssigneeExceptionFilterType, actual.AssigneeExceptionFilterType.ToClientAssigneeExceptionFilterType());

            Assert.AreEqual(expected.CurrentAssignees.Count, actual.CurrentAssignees.Count);

            for (int i = 0; i < expected.CurrentAssignees.Count; i++)
            {
                expected.CurrentAssignees[i].AreSame(actual.CurrentAssignees[i]);
            }
        }