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);