:drunk: Write shit code trying to split up the Auth (WIP)
This commit is contained in:
		
							
								
								
									
										45
									
								
								DysonNetwork.Pass/Extensions/OptionalQueryExtensions.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								DysonNetwork.Pass/Extensions/OptionalQueryExtensions.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
using System.Collections;
 | 
			
		||||
using System.Linq.Expressions;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Query;
 | 
			
		||||
 | 
			
		||||
namespace DysonNetwork.Pass.Extensions;
 | 
			
		||||
 | 
			
		||||
public static class OptionalQueryExtensions
 | 
			
		||||
{
 | 
			
		||||
    public static IQueryable<T> If<
 | 
			
		||||
        T
 | 
			
		||||
    >(
 | 
			
		||||
        this IQueryable<T> source,
 | 
			
		||||
        bool condition,
 | 
			
		||||
        Func<IQueryable<T>, IQueryable<T>> transform
 | 
			
		||||
    )
 | 
			
		||||
    {
 | 
			
		||||
        return condition ? transform(source) : source;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static IQueryable<T> If<
 | 
			
		||||
        T,
 | 
			
		||||
        TP
 | 
			
		||||
    >(
 | 
			
		||||
        this IIncludableQueryable<T, TP> source,
 | 
			
		||||
        bool condition,
 | 
			
		||||
        Func<IIncludableQueryable<T, TP>, IQueryable<T>> transform
 | 
			
		||||
    )
 | 
			
		||||
        where T : class
 | 
			
		||||
    {
 | 
			
		||||
        return condition ? transform(source) : source;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static IQueryable<T> If<
 | 
			
		||||
        T,
 | 
			
		||||
        TP
 | 
			
		||||
    >(
 | 
			
		||||
        this IIncludableQueryable<T, IEnumerable<TP>> source,
 | 
			
		||||
        bool condition,
 | 
			
		||||
        Func<IIncludableQueryable<T, IEnumerable<TP>>, IQueryable<T>> transform
 | 
			
		||||
    )
 | 
			
		||||
        where T : class
 | 
			
		||||
    {
 | 
			
		||||
        return condition ? transform(source) : source;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user