Handler.cs 853 B

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