| 123456789101112131415161718192021222324252627282930313233343536 |
- using Application.Abstractions.Data;
- using Application.Abstractions.Messaging;
- using Microsoft.EntityFrameworkCore;
- namespace Application.Features.Admin.Mail.Get;
- public sealed class Handler(IAppDbContext db) : IQueryHandler<Query, Response?>
- {
- public async Task<Response?> Handle(Query request, CancellationToken ct)
- {
- var entity = await db.EmailLog.AsNoTracking().FirstOrDefaultAsync(x => x.ID == request.ID, ct);
- if (entity is null)
- {
- return null;
- }
- return new Response
- {
- ID = entity.ID,
- ToAddress = entity.ToAddress,
- Subject = entity.Subject,
- MessageHtml = entity.MessageHtml,
- MessageText = entity.MessageText,
- Status = (byte)entity.Status,
- StatusName = entity.Status.ToString(),
- RetryCount = entity.RetryCount,
- MaxRetryCount = entity.MaxRetryCount,
- NextRetryAt = entity.NextRetryAt,
- LastError = entity.LastError,
- Category = entity.Category,
- CreatedAt = entity.CreatedAt,
- ProcessedAt = entity.ProcessedAt,
- FailedAt = entity.FailedAt
- };
- }
- }
|