public SwitchSortOperationBuilder <TRequest, TEntity, TValue> ForCase(TValue value) { var builder = new SwitchSortContinuationOperationBuilder <TRequest, TEntity, TValue>(this); _cases[value] = builder; return(builder); }
public SwitchSortOperationBuilder <TRequest, TEntity, TValue> ForDefault() { var builder = new SwitchSortContinuationOperationBuilder <TRequest, TEntity, TValue>(this); _default = builder; return(builder); }
private static ConfigurableSwitchSortClauseBuilder <TRequest, TEntity, TValue> ForwardFrom <TProp>( SwitchSortContinuationOperationBuilder <TRequest, TEntity, TValue> parent, string entityProperty) { var entityExpr = Expression.Parameter(typeof(TEntity)); var entityProp = Expression.PropertyOrField(entityExpr, entityProperty); var readPropExpr = Expression.Lambda <Func <TEntity, TProp> >(entityProp, entityExpr); return(From(parent, readPropExpr)); }
internal static ConfigurableSwitchSortClauseBuilder <TRequest, TEntity, TValue> From( SwitchSortContinuationOperationBuilder <TRequest, TEntity, TValue> parent, string entityProperty) { var entityParam = Expression.Parameter(typeof(TEntity)); var entityProp = Expression.PropertyOrField(entityParam, entityProperty) ?? throw new ArgumentException(nameof(entityProperty)); var fwdMethodInfo = typeof(ConfigurableSwitchSortClauseBuilder <TRequest, TEntity, TValue>) .GetMethod("ForwardFrom", BindingFlags.Static | BindingFlags.NonPublic); var fwdMethod = fwdMethodInfo.MakeGenericMethod(entityProp.Type); return((ConfigurableSwitchSortClauseBuilder <TRequest, TEntity, TValue>) fwdMethod.Invoke(null, new object[] { parent, entityProperty })); }
internal static ConfigurableSwitchSortClauseBuilder <TRequest, TEntity, TValue> From <TProp>( SwitchSortContinuationOperationBuilder <TRequest, TEntity, TValue> parent, Expression <Func <TEntity, TProp> > entityProperty) { var clauseBuilder = new ConfigurableSwitchSortClauseBuilder <TRequest, TEntity, TValue>(parent) { Clause = new SwitchSortClause <TRequest, TEntity, TProp> { Direction = SortDirection.Default, Clause = entityProperty } }; clauseBuilder.Clause.Direction = SortDirection.Default; return(clauseBuilder); }
public ConfigurableSwitchSortClauseBuilder( SwitchSortContinuationOperationBuilder <TRequest, TEntity, TValue> parent) : base(parent) { }
public SwitchSortClauseBuilder(SwitchSortContinuationOperationBuilder <TRequest, TEntity, TValue> parent) { _parentBuilder = parent ?? throw new ArgumentNullException(nameof(parent)); }