mirror of
https://github.com/azaion/admin.git
synced 2026-04-22 21:46:33 +00:00
4bc76bbbac
add getusers tidy up BusinessException
27 lines
857 B
C#
27 lines
857 B
C#
using System.Linq.Expressions;
|
|
|
|
namespace Azaion.Common.Extensions;
|
|
|
|
public static class QueryableExtensions
|
|
{
|
|
/// <summary>
|
|
/// Adds Where true predicate only if result of condition is true.
|
|
/// If false predicate provided, uses it in case of false result
|
|
/// Useful for filters, when filters should be applied only when it was set (not NULL)
|
|
/// </summary>
|
|
public static IQueryable<TSource> WhereIf<TSource>(this IQueryable<TSource> query, bool? condition,
|
|
Expression<Func<TSource, bool>> truePredicate,
|
|
Expression<Func<TSource, bool>>? falsePredicate = null)
|
|
{
|
|
if (!condition.HasValue)
|
|
return query;
|
|
|
|
if (condition.Value)
|
|
return query.Where(truePredicate);
|
|
|
|
return falsePredicate != null
|
|
? query.Where(falsePredicate)
|
|
: query;
|
|
}
|
|
|
|
} |