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); }
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); }