MailQueue
This commit is contained in:
22
StandManager.Service/Resolver/MailProcessorResolver.cs
Normal file
22
StandManager.Service/Resolver/MailProcessorResolver.cs
Normal file
@ -0,0 +1,22 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user