public static IColumnConfigurator <T, string, TextFilter> Filter <T, TFilter>(this IColumnConfigurator <T, string, TFilter> c) where T : class, IEntity, new() where TFilter : IFilter <string> { var result = c.GetChildConfigurator <string, TextFilter>(); result.Filter ?.Link(c.Target.List, c.LinkExpression); return(result); }
public static IColumnConfigurator <T, TLink, TFilter> Content <T, TLink, TFilter>(this IColumnConfigurator <T, TLink, TFilter> c, Func <T, object> getter) where T : class, IEntity, new() where TFilter : IFilter <TLink> { c.Column.Getter = getter; if (c.Column.OrderBy == null) { c.Column.OrderBy = getter; } return(c); }
public static IColumnConfigurator <T, TLink, TFilterOut> Filter <T, TLink, TFilterIn, TFilterOut>(this IColumnConfigurator <T, TLink, TFilterIn> c, TFilterOut filter) where T : class, IEntity, new() where TFilterOut : IFilter <TLink> where TFilterIn : IFilter <TLink> { var result = c.GetChildConfigurator <TLink, TFilterOut>(); if (c.LinkExpression != null) { result.Filter ?.Link(c.Target.List, c.LinkExpression); } else { result.Filter ?.PostLink(c.Target.List, c.LinkLambda); } return(result); }
public static IColumnConfigurator <T, int?, EntityFilterNullable <TE> > LinkNullable <T, TE, TLink, TFilter>(this IColumnConfigurator <T, TLink, TFilter> c, Expression <Func <T, TE> > getter, Expression <Func <T, int?> > idGetter) where T : class, IEntity, new() where TFilter : IFilter <TLink> where TE : class, IEntity <int>, new() { var result = c.GetChildConfigurator <int?, EntityFilterNullable <TE> >(); result.LinkExpression = GetterIdNullableFromGetter(getter); return(result.UpdateOn(getter)); }