Files
Davide Sandrelli d4659ef928 - FIX Salvataggio mail Registrazione
- Aggiunta RangeSize in scheduler
2026-01-22 11:46:09 +01:00

34 lines
1.1 KiB
C#

using Microsoft.Extensions.Options;
using StandManager.Domain.DTO;
using StandManager.Service.Interfaces;
using StandManager.Service.Resolver;
public class MailProcessor
{
private readonly IManagerService _managerService;
private readonly EmailConfig _config;
private readonly IMailProcessorResolver _resolver;
public MailProcessor(IManagerService managerService, IOptions<EmailConfig> config, IMailProcessorResolver resolver)
{
_managerService = managerService;
_config = config.Value;
_resolver = resolver;
}
public async Task Process()
{
var list = await _managerService.MailQueueService.RicercaQueryable(x =>
x.Eliminato == false && x.Sent == false && string.IsNullOrEmpty(x.Error), solaLettura:false);
using var httpClient = new HttpClient();
foreach (var mailQueueByFrom in list.GroupBy(x => x.From))
{
var processor = _resolver.Resolve(mailQueueByFrom.Key);
await processor.ProcessAsync(mailQueueByFrom.ToList(), _config, httpClient);
}
var a = list;
}
}