コード例 #1
0
ファイル: Criteria.cs プロジェクト: dmozhnov/EmpireERP
        /// <summary>
        /// Подсчет количества строк c отложенным исполнением запроса
        /// </summary>
        /// <param name="LazyExecution">Признак необходимости отложенного исполнения</param>
        /// <remarks>ВАЖНО: Если отложенное исполнение не требуется, необходимо использовать другую перегрузку метода!</remarks>
        public ICriteria <T> Count(bool LazyExecution = true)
        {
            ValidationUtils.Assert(LazyExecution, "Если отложенное исполнение не требуется, необходимо использовать другую перегрузку метода Count.");
            extraCondition = ExtraCondition.Count;

            return(this);
        }
コード例 #2
0
ファイル: Criteria.cs プロジェクト: dmozhnov/EmpireERP
        /// <summary>
        /// Отложенное вычисление суммы
        /// </summary>
        /// <typeparam name="TValue">Тип данных суммируемого поля</typeparam>
        /// <param name="fieldName">Имя поля</param>
        /// <returns></returns>
        private void Sum <TValue, TOut>(bool LazyExecution, Func <object[], TOut> expr, params string[] fieldNames)
            where TValue : struct
            where TOut : class
        {
            ValidationUtils.Assert(LazyExecution, "Если отложенное исполнение не требуется, необходимо использовать другую перегрузку метода Sum.");

            extraCondition = ExtraCondition.Sum;
            (sumFields as List <string>).AddRange(fieldNames);
        }
コード例 #3
0
ファイル: Criteria.cs プロジェクト: dmozhnov/EmpireERP
        /// <summary>
        /// Отложенное вычисление суммы
        /// </summary>
        /// <param name="fieldName"></param>
        /// <param name="LazyExecution"></param>
        private void Sum(bool LazyExecution, string fieldName)
        {
            ValidationUtils.Assert(LazyExecution, "Если отложенное исполнение не требуется, необходимо использовать другую перегрузку метода Sum.");

            extraCondition = ExtraCondition.Sum;
            sumFields.Add(fieldName);

            //list.SetProjection(global::NHibernate.Criterion.Projections.Sum(fieldName));
        }
コード例 #4
0
ファイル: Criteria.cs プロジェクト: dmozhnov/EmpireERP
        /// <summary>
        /// Метод для получения критерия NHIbernate
        /// </summary>
        /// <param name="session">Сессия</param>
        /// <returns></returns>
        public ICriteria GetCriteria()
        {
            var result = Compile(currentSession);

            extraCondition = ExtraCondition.None;

            QueryProjection.Clear();

            return(result);
        }