public UserDataProvider( IUserRepository users, IUnitOfWork unitOfWork, ITransformerService transformerService) { users.NotNull(nameof(users)); unitOfWork.NotNull(nameof(unitOfWork)); transformerService.NotNull(nameof(transformerService)); _users = users; _unitOfWork = unitOfWork; _transformerService = transformerService; }
/// <summary> /// Use custom ITransformer /// </summary> /// <param name="emailTemplateProvider"></param> /// <param name="transformer"></param> public MailMessageProvider(IEnumerable <IEmailTemplateProvider> emailTemplateProvider, ITransformerService transformer) { _emailTemplateProvider = emailTemplateProvider.ToList(); this._transformer = transformer ?? throw new ArgumentNullException(nameof(transformer)); }
/// <summary> /// Use custom ITransformer /// </summary> /// <param name="emailTemplateProvider"></param> /// <param name="transformer"></param> protected internal MailMessageProvider(IEmailTemplateProvider emailTemplateProvider, ITransformerService transformer) : this(new[] { emailTemplateProvider }, transformer) { }
internal static async Task FromAsync(this MailAddressCollection @this, string emailTemplates, ITransformerService transformer, params object[] transformData) { if (emailTemplates == null) { return; } foreach (var s in emailTemplates.SplitBySeparator()) { if (string.IsNullOrWhiteSpace(s)) { continue; } if (s.IsEmail()) { @this.Add(s); continue; } var e = await transformer.TransformAsync(s, transformData).ConfigureAwait(false); if (string.IsNullOrWhiteSpace(e)) { continue; } @this.Add(e); } }