using System.Linq; using System.Linq.Expressions; using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; namespace IRaCIS.Core.Infrastructure.Extention { public static class QueryableWhereExtension { public static IQueryable<TEntity> WhereIf<TEntity>(this IQueryable<TEntity> query, [NotNullWhen(true)] bool condition, Expression<Func<TEntity, bool>> filter) where TEntity : class { return condition ? query.Where(filter) : query; } public static IEnumerable<TEntity> WhereIf<TEntity>(this IEnumerable<TEntity> query, bool condition, Func<TEntity, bool> filter) where TEntity : class { return condition ? query.Where(filter) : query; } } }