public OrderByExpression(string orderBy) { if (orderBy.StartsWith("-")) { Descending = true; } Key = QuerySanitizer.GetKey(ValidationType.OrderBy, orderBy); }
public FilterExpression(string filter) { Operator = QuerySanitizer.GetFilterOperator(filter); Key = QuerySanitizer.GetKey(ValidationType.Filter, filter); StringValues = QuerySanitizer.GetFilterValues(filter); this.ValidatePropertyType(Key, StringValues); Values = StringValues.Select(x => (TResult)Convert.ChangeType(x, typeof(TResult))).ToArray(); OperationExpression = ExpressionFactory <TResult> .RequestFunc(Operator); }
public static List <IExpression <TEntity> > ParseQuery <TEntity>(this string query, IInternalQueryValidator <TEntity> validator, ValidationType type) { var expressions = new List <IExpression <TEntity> >(); if (query == null) { return(expressions); } foreach (var subQuery in query.Split(',')) { var key = QuerySanitizer.GetKey(type, subQuery); var expressionType = validator.GetResultType(key, type); expressions.Add((IExpression <TEntity>)MakeGenericType <TEntity>(typeMap[type], expressionType, subQuery)); } return(expressions); }
public ExpandExpression(string key) { Key = QuerySanitizer.GetKey(ValidationType.Expand, key); }