Beispiel #1
0
        /// <summary>
        /// Записи, возвращаемые блоком.
        /// </summary>
        protected IEnumerable <HealthRecord> GetResultInner(SearchOptions qb)
        {
            Contract.Requires(qb != null);
            // по исключающим блокам не ищем
            Contract.Requires(qb.IsRoot || !qb.IsExcluding);

            if (qb.IsGroup)
            {
                var searcher = Searcher.Create(session, qb);
                return(searcher.GetResultForGroup(qb));
            }
            else
            {
                return(HrSearcher.Search(session, qb));
            }
        }
Beispiel #2
0
        /// <summary>
        /// Записи, возвращаемые корнем.
        /// </summary>
        public static IEnumerable <HealthRecord> GetResult(ISession session, SearchOptions qb)
        {
            Contract.Requires(qb != null);
            Contract.Requires(qb.IsRoot);

            IEnumerable <HealthRecord> hrs;

            if (qb.IsGroup)
            {
                hrs = Searcher.Create(session, qb).GetResultForGroup(qb);
            }
            else
            {
                hrs = HrSearcher.Search(session, qb);
            }

            allHrsCache = null; // следующий поиск снова выбирает все записи, если надо
            return(hrs);
        }