Beispiel #1
0
        public static ICriteria CreateCriteriaFromArray(ISession session, ICriterion[] criteria,
                                                        CriteriaCreator creator, params Order[] orders)
        {
            ICriteria crit = session.CreateCriteria(typeof(T));

            foreach (ICriterion criterion in criteria)
            {
                //allow some fancy antics like returning possible return
                // or null to ignore the criteria
                if (criterion == null)
                {
                    continue;
                }
                crit.Add(criterion);
            }
            crit = ApplyFetchingStrategies(crit);
            AddCaching(crit);
            if (orders != null)
            {
                foreach (Order order in orders)
                {
                    crit.AddOrder(order);
                }
            }
            return(crit);
        }
Beispiel #2
0
        public static ICriteria GetExecutableCriteria(ISession session, DetachedCriteria criteria,
                                                      CriteriaCreator creator, params Order[] orders)
        {
            ICriteria executableCriteria;

            if (criteria != null)
            {
                executableCriteria = criteria.GetExecutableCriteria(session);
            }
            else
            {
                executableCriteria = creator(session);
            }
            executableCriteria = ApplyFetchingStrategies(executableCriteria);
            AddCaching(executableCriteria);
            if (orders != null && orders.Length > 0)
            {
                foreach (Order order in orders)
                {
                    executableCriteria.AddOrder(order);
                }
            }
            return(executableCriteria);
        }