Пример #1
0
        private IQuery BuildCountTasksQuery(
            IEnumerable <string> taskTypes,
            IEnumerable <KeyValuePair <string, string> > searchAttributes,
            TaskStateEnum?taskState)
        {
            Contract.Requires(searchAttributes != null);
            Contract.Ensures(Contract.Result <IQuery>() != null);

            TaskQuery taskQuery = BuildBaseTasksQuery(taskTypes, searchAttributes, taskState, null);
            IQuery    query     = Session.CreateQuery(@"select count(*) " + taskQuery.QueryString);

            foreach (KeyValuePair <string, object> parameter in taskQuery.Parameters)
            {
                query.SetParameter(parameter.Key, parameter.Value);
            }
            return(query);
        }
Пример #2
0
        private IQuery BuildFindTasksQuery(
            IEnumerable <string> taskTypes,
            IEnumerable <KeyValuePair <string, string> > searchAttributes,
            TaskStateEnum?taskState,
            int?maximumResults)
        {
            Contract.Requires(searchAttributes != null);
            Contract.Ensures(Contract.Result <IQuery>() != null);

            TaskQuery taskQuery = BuildBaseTasksQuery(taskTypes, searchAttributes, taskState, @"t.CreatedAt asc");
            IQuery    query     = Session.CreateQuery(taskQuery.QueryString);

            foreach (KeyValuePair <string, object> parameter in taskQuery.Parameters)
            {
                query.SetParameter(parameter.Key, parameter.Value);
            }
            if (maximumResults != null)
            {
                query.SetMaxResults(maximumResults.Value);
            }
            return(query);
        }