Example #1
0
        /// <summary>
        /// Visits the criteria returning potentially reworked version.
        /// </summary>
        /// <param name="criteria">The criteria.</param>
        /// <returns></returns>
        /// <exception cref="ValidationError">InvalidCriteriaField</exception>
        protected override BaseCriteria VisitCriteria(Criteria criteria)
        {
            if (criteria.Expression.IsEmptyOrNull())
            {
                return(base.VisitCriteria(criteria));
            }

            if (!SqlSyntax.IsValidIdentifier(criteria.Expression))
            {
                throw new ValidationError("InvalidCriteriaField",
                                          string.Format("{0} is not a valid field name!", criteria.Expression));
            }

            return(base.VisitCriteria(criteria));
        }
Example #2
0
        public static string RemoveT0Reference(string expression)
        {
            var index = expression.IndexOf("T0.", StringComparison.OrdinalIgnoreCase);

            if (index == 0)
            {
                string rest = expression.Substring(3);
                if (SqlSyntax.IsValidIdentifier(rest))
                {
                    return(rest);
                }
            }

            if (index >= 0)
            {
                return(T0ReferenceRemover.RemoveT0Aliases(expression));
            }

            return(expression);
        }