diff --git a/src/ReC.Application/OutResults/Queries/ReadOutResQuery.cs b/src/ReC.Application/OutResults/Queries/ReadOutResQuery.cs index a933412..46a58a3 100644 --- a/src/ReC.Application/OutResults/Queries/ReadOutResQuery.cs +++ b/src/ReC.Application/OutResults/Queries/ReadOutResQuery.cs @@ -1,8 +1,30 @@ -namespace ReC.Application.OutResults.Queries; +using AutoMapper; +using DigitalData.Core.Abstraction.Application.Repository; +using MediatR; +using Microsoft.EntityFrameworkCore; +using ReC.Application.Common.Dto; +using ReC.Domain.Entities; -public class ReadOutResQuery +namespace ReC.Application.OutResults.Queries; + +public record ReadOutResQuery : IRequest { - public long? ProfileId { get; set; } + public long? ProfileId { get; init; } - public long? ActionId { get; set; } + public long? ActionId { get; init; } +} + +public class ReadOutResHandler(IRepository repo, IMapper mapper) : IRequestHandler +{ + public async Task Handle(ReadOutResQuery request, CancellationToken cancel) + { + var q = repo.Query; + + if(request.ActionId is long actionId) + q = q.Where(res => res.ActionId == actionId); + + var dtos = await q.ToListAsync(cancel); + + return mapper.Map(dtos); + } } \ No newline at end of file