btcpayserver/BTCPayServer/Services/Mails/EmailSenderFactory.cs

35 lines
1.2 KiB
C#
Raw Normal View History

using BTCPayServer.HostedServices;
2019-01-06 15:53:37 +01:00
using BTCPayServer.Services.Stores;
namespace BTCPayServer.Services.Mails
{
public class EmailSenderFactory
{
private readonly IBackgroundJobClient _jobClient;
private readonly SettingsRepository _repository;
private readonly StoreRepository _storeRepository;
private readonly CssThemeManager _cssThemeManager;
2019-01-06 15:53:37 +01:00
public EmailSenderFactory(IBackgroundJobClient jobClient,
SettingsRepository repository,
StoreRepository storeRepository,
CssThemeManager cssThemeManager)
2019-01-06 15:53:37 +01:00
{
_jobClient = jobClient;
_repository = repository;
_storeRepository = storeRepository;
_cssThemeManager = cssThemeManager;
2019-01-06 15:53:37 +01:00
}
public IEmailSender GetEmailSender(string storeId = null)
{
var serverSender = new ServerEmailSender(_repository, _jobClient);
2019-01-06 15:53:37 +01:00
if (string.IsNullOrEmpty(storeId))
return serverSender;
return new StoreEmailSender(_storeRepository,
!_cssThemeManager.Policies.DisableStoresToUseServerEmailSettings ? serverSender : null, _jobClient,
storeId);
2019-01-06 15:53:37 +01:00
}
}
}