- 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 From { get; set; }
public string ServerAddress { get; set; } public string ServerAddress { get; set; }
public string MailSplitChar { 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.Domain.DTO;
using StandManager.Service.Interfaces; using StandManager.Service.Interfaces;
using StandManager.Service.Resolver; using StandManager.Service.Resolver;
@ -8,10 +9,10 @@ public class MailProcessor
private readonly EmailConfig _config; private readonly EmailConfig _config;
private readonly IMailProcessorResolver _resolver; private readonly IMailProcessorResolver _resolver;
public MailProcessor(IManagerService managerService, EmailConfig config, IMailProcessorResolver resolver) public MailProcessor(IManagerService managerService, IOptions<EmailConfig> config, IMailProcessorResolver resolver)
{ {
_managerService = managerService; _managerService = managerService;
_config = config; _config = config.Value;
_resolver = resolver; _resolver = resolver;
} }

View File

@ -12,6 +12,7 @@
"EmailConfig": { "EmailConfig": {
"From": "registrazioni@gruppodac.eu", "From": "registrazioni@gruppodac.eu",
"ServerAddress": "https://mailbridge.gruppodac.eu/api/graph/NewMessageHtml", "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) 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(); await _unitOfWork.Salva();
return entity; return entity;

View File

@ -20,7 +20,11 @@ public class RegistrazioneMailProcessor : IMailProcessor
public async Task ProcessAsync(List<MailQueue> mailQueueList, EmailConfig _config, HttpClient httpClient) 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() var email = new Email()
{ {
@ -51,6 +55,7 @@ public class RegistrazioneMailProcessor : IMailProcessor
"attachments", "attachments",
Path.GetFileName(filePath) Path.GetFileName(filePath)
);*/ );*/
try try
{ {
var response = await httpClient.PostAsync( var response = await httpClient.PostAsync(
@ -70,3 +75,4 @@ public class RegistrazioneMailProcessor : IMailProcessor
} }
} }
} }
}

View File

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

View File

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