private static ICriterion ProcessSimpleNullExpression(ProjectionInfo property, ExpressionType expressionType)
        {
            if (expressionType == ExpressionType.Equal)
            {
                return(property.CreateCriterion(Restrictions.IsNull, Restrictions.IsNull));
            }

            if (expressionType == ExpressionType.NotEqual)
            {
                return(Restrictions.Not(
                           property.CreateCriterion(Restrictions.IsNull, Restrictions.IsNull)));
            }

            throw new ArgumentException("Cannot supply null value to operator " + expressionType, nameof(expressionType));
        }
 private static ICriterion Le(ProjectionInfo property, object value)
 {
     return(property.CreateCriterion(Restrictions.Le, Restrictions.Le, value));
 }
 private static ICriterion Ne(ProjectionInfo property, object value)
 {
     return
         (Restrictions.Not(
              property.CreateCriterion(Restrictions.Eq, Restrictions.Eq, value)));
 }