示例#1
0
        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);
        }
示例#2
0
 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);
 }
示例#3
0
        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);
        }
示例#4
0
        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));
        }