public static TryGetFilterType ( |
||
type | ||
Результат | FilterType? |
private static IEnumerable <QueryToken> AggregateTokens(QueryToken token, QueryDescription qd) { if (token == null) { yield return(new AggregateToken(AggregateFunction.Count, qd.QueryName)); } else if (!(token is AggregateToken)) { FilterType?ft = QueryUtils.TryGetFilterType(token.Type); if (ft == FilterType.Integer || ft == FilterType.Decimal || ft == FilterType.Boolean) { yield return(new AggregateToken(AggregateFunction.Average, token)); yield return(new AggregateToken(AggregateFunction.Sum, token)); yield return(new AggregateToken(AggregateFunction.Min, token)); yield return(new AggregateToken(AggregateFunction.Max, token)); } else if (ft == FilterType.DateTime) /*ft == FilterType.String || */ { yield return(new AggregateToken(AggregateFunction.Min, token)); yield return(new AggregateToken(AggregateFunction.Max, token)); } } }
private static IEnumerable <QueryToken> AggregateTokens(QueryToken token, QueryDescription qd) { if (token == null) { yield return(new AggregateToken(AggregateFunction.Count, qd.QueryName)); } else if (!(token is AggregateToken)) { FilterType?ft = QueryUtils.TryGetFilterType(token.Type); if (ft == FilterType.Integer || ft == FilterType.Decimal || ft == FilterType.Boolean) { yield return(new AggregateToken(AggregateFunction.Average, token)); yield return(new AggregateToken(AggregateFunction.Sum, token)); yield return(new AggregateToken(AggregateFunction.Min, token)); yield return(new AggregateToken(AggregateFunction.Max, token)); } else if (ft == FilterType.DateTime) /*ft == FilterType.String || */ { yield return(new AggregateToken(AggregateFunction.Min, token)); yield return(new AggregateToken(AggregateFunction.Max, token)); } if (ft != null) { yield return(new AggregateToken(AggregateFunction.Count, token, FilterOperation.DistinctTo, null)); yield return(new AggregateToken(AggregateFunction.Count, token, FilterOperation.EqualTo, null)); } if (token.IsGroupable) { yield return(new AggregateToken(AggregateFunction.Count, token, distinct: true)); } if (ft == FilterType.Enum) { foreach (var v in Enum.GetValues(token.Type.UnNullify())) { yield return(new AggregateToken(AggregateFunction.Count, token, FilterOperation.EqualTo, v)); yield return(new AggregateToken(AggregateFunction.Count, token, FilterOperation.DistinctTo, v)); } } if (ft == FilterType.Boolean) { yield return(new AggregateToken(AggregateFunction.Count, token, FilterOperation.EqualTo, true)); yield return(new AggregateToken(AggregateFunction.Count, token, FilterOperation.EqualTo, false)); } } }