Api/Brizco.Repository/Handlers/Tasks/GetTaskQueryHandler.cs

16 lines
668 B
C#

namespace Brizco.Repository.Handlers.Tasks;
public class GetActivityQueryHandler(IRepositoryWrapper repositoryWrapper) : IRequestHandler<GetTaskQuery, TaskLDto>
{
public async Task<TaskLDto> Handle(GetTaskQuery request, CancellationToken cancellationToken)
{
var task = await repositoryWrapper.SetRepository<Domain.Entities.Tasks.Task>()
.TableNoTracking
.Where(s => s.Id == request.Id)
.Select(TaskMapper.ProjectToLDto)
.FirstOrDefaultAsync(cancellationToken);
if (task == null)
throw new AppException("Task not found", ApiResultStatusCode.NotFound);
return task;
}
}