Files
StandManager/StandManager.Service/Resolver/MailProcessorResolver.cs
2026-01-20 16:47:24 +01:00

22 lines
647 B
C#

using StandManager.Domain.Entita;
using StandManager.Service.Interfaces;
namespace StandManager.Service.Resolver;
public class MailProcessorResolver : IMailProcessorResolver
{
private readonly Dictionary<MailFrom, IMailProcessor> _processors;
public MailProcessorResolver(IEnumerable<IMailProcessor> processors)
{
_processors = processors.ToDictionary(p => p.MailFrom);
}
public IMailProcessor Resolve(MailFrom mailFrom)
{
if (!_processors.TryGetValue(mailFrom, out var processor))
throw new NotSupportedException($"MailFrom {mailFrom} non supportato");
return processor;
}
}