diff --git a/EnvelopeGenerator.Application/Extensions/QueryExtensions.cs b/EnvelopeGenerator.Application/Extensions/QueryExtensions.cs index e1f3549b..503e5b19 100644 --- a/EnvelopeGenerator.Application/Extensions/QueryExtensions.cs +++ b/EnvelopeGenerator.Application/Extensions/QueryExtensions.cs @@ -37,13 +37,12 @@ public static class QueryExtensions /// /// /// - /// /// /// /// /// /// - public static IQueryable Where(this IQueryable root, ReceiverQueryBase query, bool notnull = true) + public static IQueryable Where(this IQueryable root, ReceiverQueryBase query, bool notnull = true) where TEntity : IHasReceiver { if (query.Id is not null) @@ -59,4 +58,20 @@ public static class QueryExtensions return root; } + + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + public static IQueryable Where(this IQueryable root, EnvelopeReceiverQueryBase query, bool notnull = true) + where TEntity : IHasEnvelope, IHasReceiver + where TEnvelopeQuery : EnvelopeQueryBase, new() + where TReceiverQuery : ReceiverQueryBase, new() + => root.Where(query.Envelope, notnull).Where(query.Receiver, notnull); }