- FIX Salvataggio mail Registrazione

- Aggiunta RangeSize in scheduler
This commit is contained in:
2026-01-22 11:46:09 +01:00
parent cc296bb102
commit d4659ef928
7 changed files with 63 additions and 50 deletions

View File

@ -5,4 +5,5 @@ public class EmailConfig
public string From { get; set; }
public string ServerAddress { get; set; }
public string MailSplitChar { get; set; }
public int RangeSize { get; set; }
}

View File

@ -1,3 +1,4 @@
using Microsoft.Extensions.Options;
using StandManager.Domain.DTO;
using StandManager.Service.Interfaces;
using StandManager.Service.Resolver;
@ -8,10 +9,10 @@ public class MailProcessor
private readonly EmailConfig _config;
private readonly IMailProcessorResolver _resolver;
public MailProcessor(IManagerService managerService, EmailConfig config, IMailProcessorResolver resolver)
public MailProcessor(IManagerService managerService, IOptions<EmailConfig> config, IMailProcessorResolver resolver)
{
_managerService = managerService;
_config = config;
_config = config.Value;
_resolver = resolver;
}

View File

@ -12,6 +12,7 @@
"EmailConfig": {
"From": "registrazioni@gruppodac.eu",
"ServerAddress": "https://mailbridge.gruppodac.eu/api/graph/NewMessageHtml",
"MailSplitChar": "#"
"MailSplitChar": "#",
"RangeSize": 20
}
}

View File

@ -16,7 +16,9 @@ public class MailQueueService : TService<MailQueue>, IMailQueueService
public async Task<MailQueue> Salva(MailQueue entity)
{
_unitOfWork.MailQueueRepository.Update(entity);
if (entity.Id == Guid.Empty) await _unitOfWork.MailQueueRepository.Put(entity);
else _unitOfWork.MailQueueRepository.Update(entity);
await _unitOfWork.Salva();
return entity;

View File

@ -20,7 +20,11 @@ public class RegistrazioneMailProcessor : IMailProcessor
public async Task ProcessAsync(List<MailQueue> mailQueueList, EmailConfig _config, HttpClient httpClient)
{
foreach (var mailQueue in mailQueueList)
var size = _config.RangeSize != 0 ? _config.RangeSize : mailQueueList.Count;
foreach (var chunk in mailQueueList.Chunk(size))
{
foreach (var mailQueue in chunk)
{
var email = new Email()
{
@ -51,6 +55,7 @@ public class RegistrazioneMailProcessor : IMailProcessor
"attachments",
Path.GetFileName(filePath)
);*/
try
{
var response = await httpClient.PostAsync(
@ -70,3 +75,4 @@ public class RegistrazioneMailProcessor : IMailProcessor
}
}
}
}

View File

@ -90,15 +90,16 @@
};
await _managerService.IscrizioneEventoPerMailService.Salva(model);
/*var queue = new MailQueue()
var queue = new MailQueue()
{
ToList = iscrizione.Mail,
From = MailFrom.Registrazione,
Body = string.Empty,
Sent = false,
Subject = "Registrazione"
Subject = "Registrazione",
DataCreazione = DateTime.Now
};
await _managerService.MailQueueService.Salva(queue);*/
await _managerService.MailQueueService.Salva(queue);
_navManager.NavigateTo("/Grazie");
}

View File

@ -12,6 +12,7 @@
"EmailConfig": {
"From": "",
"ServerAddress": "",
"MailSplitChar": "#"
"MailSplitChar": "#",
"RangeSize": 0
}
}