Handler.cs 773 B

123456789101112131415161718192021222324252627
  1. using Application.Abstractions.Messaging;
  2. using Application.Abstractions.Data;
  3. namespace Application.Features.Admin.Document.Get;
  4. public sealed class Handler(IAppDbContext db) : IQueryHandler<Query, Response?>
  5. {
  6. public async Task<Response?> Handle(Query request, CancellationToken ct)
  7. {
  8. var document = await db.Document.FindAsync(request.ID, ct);
  9. if (document is null)
  10. {
  11. return null;
  12. }
  13. return new Response
  14. {
  15. ID = document.ID,
  16. Code = document.Code,
  17. Subject = document.Subject,
  18. Content = document.Content,
  19. IsActive = document.IsActive,
  20. UpdatedAt = document.UpdatedAt,
  21. CreatedAt = document.CreatedAt
  22. };
  23. }
  24. }