From 4e209e29fceea93375469a8f4823d5b95343800d Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 15 Dec 2025 15:07:26 +0100 Subject: [PATCH] Refactor ReadRecActionViewQuery for optional ProfileId Refactored ReadRecActionViewQuery to remove base class inheritance and make ProfileId optional. Simplified query construction and filtering logic in the handler to conditionally filter by ProfileId only when provided. Removed unused constructors and methods for a cleaner API. --- .../Queries/ReadRecActionViewQuery.cs | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/ReC.Application/RecActionViews/Queries/ReadRecActionViewQuery.cs b/src/ReC.Application/RecActionViews/Queries/ReadRecActionViewQuery.cs index 6f08bea..d2c67fc 100644 --- a/src/ReC.Application/RecActionViews/Queries/ReadRecActionViewQuery.cs +++ b/src/ReC.Application/RecActionViews/Queries/ReadRecActionViewQuery.cs @@ -8,32 +8,21 @@ using ReC.Application.Common.Dto; namespace ReC.Application.RecActionViews.Queries; -public record ReadRecActionQueryBase +public record ReadRecActionViewQuery : IRequest> { - public long ProfileId { get; init; } - - public ReadRecActionViewQuery ToReadQuery(Action modify) - { - ReadRecActionViewQuery query = new(this); - modify(query); - return query; - } -} - -public record ReadRecActionViewQuery : ReadRecActionQueryBase, IRequest> -{ - public ReadRecActionViewQuery(ReadRecActionQueryBase root) : base(root) { } + public long? ProfileId { get; init; } = null; public bool? Invoked { get; set; } = null; - - public ReadRecActionViewQuery() { } } public class ReadRecActionViewQueryHandler(IRepository repo, IMapper mapper) : IRequestHandler> { public async Task> Handle(ReadRecActionViewQuery request, CancellationToken cancel) { - var query = repo.Where(act => act.ProfileId == request.ProfileId); + var query = repo.Query; + + if (request.ProfileId is long profileId) + query = repo.Where(act => act.ProfileId == profileId); if (request.Invoked is bool invoked) query = invoked ? query.Where(act => act.Root!.OutRes != null) : query.Where(act => act.Root!.OutRes == null);