From ad032b2bdfe586b797590da8224bf388ddf5de23 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Tue, 26 Aug 2025 22:23:26 +0200 Subject: [PATCH] fix(QueryExtensions): update to use base classes instead of interfaces --- .../Extensions/QueryExtensions.cs | 30 +++++++++---------- .../Interfaces/Model/IHasEnvelopeQuery.cs | 23 -------------- .../Interfaces/Model/IHasReceiverQuery.cs | 23 -------------- .../Model/EnvelopeReceiverQueryBase.cs | 5 ++-- 4 files changed, 16 insertions(+), 65 deletions(-) delete mode 100644 EnvelopeGenerator.Application/Interfaces/Model/IHasEnvelopeQuery.cs delete mode 100644 EnvelopeGenerator.Application/Interfaces/Model/IHasReceiverQuery.cs diff --git a/EnvelopeGenerator.Application/Extensions/QueryExtensions.cs b/EnvelopeGenerator.Application/Extensions/QueryExtensions.cs index 84f0d473..e1f3549b 100644 --- a/EnvelopeGenerator.Application/Extensions/QueryExtensions.cs +++ b/EnvelopeGenerator.Application/Extensions/QueryExtensions.cs @@ -1,5 +1,4 @@ using DigitalData.Core.Exceptions; -using EnvelopeGenerator.Application.Interfaces.Model; using EnvelopeGenerator.Application.Model; using EnvelopeGenerator.Domain.Interfaces; @@ -14,19 +13,18 @@ public static class QueryExtensions /// /// /// - /// /// /// /// /// /// - public static IQueryable Where(this IQueryable root, IHasEnvelopeQuery query, bool notnull = true) - where TEntity : IHasEnvelope where TEnvelopeQuery : EnvelopeQueryBase + public static IQueryable Where(this IQueryable root, EnvelopeQueryBase query, bool notnull = true) + where TEntity : IHasEnvelope { - if (query.Envelope.Id is not null) - root = root.Where(e => e.Envelope!.Id == query.Envelope.Id); - else if (query.Envelope.Uuid is not null) - root = root.Where(e => e.Envelope!.Uuid == query.Envelope.Uuid); + if (query.Id is not null) + root = root.Where(e => e.Envelope!.Id == query.Id); + else if (query.Uuid is not null) + root = root.Where(e => e.Envelope!.Uuid == query.Uuid); else if (notnull) throw new BadRequestException( "Either Envelope Id or Envelope Uuid must be provided in the query." @@ -45,15 +43,15 @@ public static class QueryExtensions /// /// /// - public static IQueryable Where(this IQueryable root, IHasReceiverQuery query, bool notnull = true) - where TEntity : IHasReceiver where TReceiverQueryBase : ReceiverQueryBase + public static IQueryable Where(this IQueryable root, ReceiverQueryBase query, bool notnull = true) + where TEntity : IHasReceiver { - if (query.Receiver.Id is not null) - root = root.Where(e => e.Receiver!.Id == query.Receiver.Id); - else if (query.Receiver.EmailAddress is not null) - root = root.Where(e => e.Receiver!.EmailAddress == query.Receiver.EmailAddress); - else if (query.Receiver.Signature is not null) - root = root.Where(e => e.Receiver!.Signature == query.Receiver.Signature); + if (query.Id is not null) + root = root.Where(e => e.Receiver!.Id == query.Id); + else if (query.EmailAddress is not null) + root = root.Where(e => e.Receiver!.EmailAddress == query.EmailAddress); + else if (query.Signature is not null) + root = root.Where(e => e.Receiver!.Signature == query.Signature); else if (notnull) throw new BadRequestException( "Receiver must have at least one identifier (Id, EmailAddress, or Signature)." diff --git a/EnvelopeGenerator.Application/Interfaces/Model/IHasEnvelopeQuery.cs b/EnvelopeGenerator.Application/Interfaces/Model/IHasEnvelopeQuery.cs deleted file mode 100644 index 1f2dc5ae..00000000 --- a/EnvelopeGenerator.Application/Interfaces/Model/IHasEnvelopeQuery.cs +++ /dev/null @@ -1,23 +0,0 @@ -using EnvelopeGenerator.Application.Model; - -namespace EnvelopeGenerator.Application.Interfaces.Model; - -/// -/// -/// -public interface IHasEnvelopeQuery - where TEnvelopeQuery : EnvelopeQueryBase -{ - /// - /// - /// - public TEnvelopeQuery Envelope { get; set; } -} - -/// -/// -/// -public interface IHasEnvelopeQuery - : IHasEnvelopeQuery -{ -} \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Interfaces/Model/IHasReceiverQuery.cs b/EnvelopeGenerator.Application/Interfaces/Model/IHasReceiverQuery.cs deleted file mode 100644 index f38f570f..00000000 --- a/EnvelopeGenerator.Application/Interfaces/Model/IHasReceiverQuery.cs +++ /dev/null @@ -1,23 +0,0 @@ -using EnvelopeGenerator.Application.Model; - -namespace EnvelopeGenerator.Application.Interfaces.Model; - -/// -/// -/// -public interface IHasReceiverQuery - where TReceiverQuery : ReceiverQueryBase -{ - /// - /// - /// - public TReceiverQuery Receiver { get; set; } -} - -/// -/// -/// -public interface IHasReceiverQuery - : IHasReceiverQuery -{ -} \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Model/EnvelopeReceiverQueryBase.cs b/EnvelopeGenerator.Application/Model/EnvelopeReceiverQueryBase.cs index bae08019..6b00e9a1 100644 --- a/EnvelopeGenerator.Application/Model/EnvelopeReceiverQueryBase.cs +++ b/EnvelopeGenerator.Application/Model/EnvelopeReceiverQueryBase.cs @@ -1,5 +1,4 @@ using DigitalData.Core.Exceptions; -using EnvelopeGenerator.Application.Interfaces.Model; using EnvelopeGenerator.Extensions; namespace EnvelopeGenerator.Application.Model; @@ -7,14 +6,14 @@ namespace EnvelopeGenerator.Application.Model; /// /// /// -public record EnvelopeReceiverQueryBase : EnvelopeReceiverQueryBase, IHasEnvelopeQuery, IHasReceiverQuery; +public record EnvelopeReceiverQueryBase : EnvelopeReceiverQueryBase; /// /// /// /// /// -public record EnvelopeReceiverQueryBase : IHasEnvelopeQuery, IHasReceiverQuery +public record EnvelopeReceiverQueryBase where TEnvelopeQuery : EnvelopeQueryBase, new() where TReceiverQuery : ReceiverQueryBase, new() {