/// <summary> /// Initializes a new instance of the <see cref="UserProfileService"/> class. /// </summary> /// <param name="logger">Injected Logger Provider.</param> /// <param name="userProfileDelegate">The profile delegate to interact with the DB.</param> /// <param name="userPreferenceDelegate">The preference delegate to interact with the DB.</param> /// <param name="emailDelegate">The email delegate to interact with the DB.</param> /// <param name="emailInviteDelegate">The email invite delegate to interact with the DB.</param> /// <param name="configuration">The configuration service.</param> /// <param name="emailQueueService">The email service to queue emails.</param> /// <param name="legalAgreementDelegate">The terms of service delegate.</param> /// <param name="cryptoDelegate">Injected Crypto delegate.</param> /// <param name="notificationSettingsService">Notification settings delegate.</param> /// <param name="messageVerificationDelegate">The message verification delegate to interact with the DB.</param> /// <param name="patientService">The patient service.</param> public UserProfileService( ILogger <UserProfileService> logger, IUserProfileDelegate userProfileDelegate, IUserPreferenceDelegate userPreferenceDelegate, IEmailDelegate emailDelegate, IMessagingVerificationDelegate emailInviteDelegate, IConfigurationService configuration, IEmailQueueService emailQueueService, ILegalAgreementDelegate legalAgreementDelegate, ICryptoDelegate cryptoDelegate, INotificationSettingsService notificationSettingsService, IMessagingVerificationDelegate messageVerificationDelegate, IPatientService patientService) { this.logger = logger; this.userProfileDelegate = userProfileDelegate; this.userPreferenceDelegate = userPreferenceDelegate; this.emailDelegate = emailDelegate; this.emailInviteDelegate = emailInviteDelegate; this.configurationService = configuration; this.emailQueueService = emailQueueService; this.legalAgreementDelegate = legalAgreementDelegate; this.cryptoDelegate = cryptoDelegate; this.notificationSettingsService = notificationSettingsService; this.messageVerificationDelegate = messageVerificationDelegate; this.patientService = patientService; }
/// <summary> /// Initializes a new instance of the <see cref="UserProfileService"/> class. /// </summary> /// <param name="logger">Injected Logger Provider.</param> /// <param name="patientService">The patient service.</param> /// <param name="userEmailService">The User Email service.</param> /// <param name="userSMSService">The User SMS service.</param> /// <param name="configurationService">The configuration service.</param> /// <param name="emailQueueService">The email service to queue emails.</param> /// <param name="notificationSettingsService">The Notifications Settings service.</param> /// <param name="userProfileDelegate">The profile delegate to interact with the DB.</param> /// <param name="userPreferenceDelegate">The preference delegate to interact with the DB.</param> /// <param name="legalAgreementDelegate">The terms of service delegate.</param> /// <param name="messageVerificationDelegate">The message verification delegate.</param> /// <param name="cryptoDelegate">Injected Crypto delegate.</param> /// <param name="httpContextAccessor">The injected http context accessor provider.</param> public UserProfileService( ILogger <UserProfileService> logger, IPatientService patientService, IUserEmailService userEmailService, IUserSMSService userSMSService, IConfigurationService configurationService, IEmailQueueService emailQueueService, INotificationSettingsService notificationSettingsService, IUserProfileDelegate userProfileDelegate, IUserPreferenceDelegate userPreferenceDelegate, ILegalAgreementDelegate legalAgreementDelegate, IMessagingVerificationDelegate messageVerificationDelegate, ICryptoDelegate cryptoDelegate, IHttpContextAccessor httpContextAccessor) { this.logger = logger; this.patientService = patientService; this.userEmailService = userEmailService; this.userSMSService = userSMSService; this.configurationService = configurationService; this.emailQueueService = emailQueueService; this.notificationSettingsService = notificationSettingsService; this.userProfileDelegate = userProfileDelegate; this.userPreferenceDelegate = userPreferenceDelegate; this.legalAgreementDelegate = legalAgreementDelegate; this.messageVerificationDelegate = messageVerificationDelegate; this.cryptoDelegate = cryptoDelegate; this.httpContextAccessor = httpContextAccessor; }
/// <summary> /// Initializes a new instance of the <see cref="UserSMSService"/> class. /// </summary> /// <param name="logger">Injected Logger Provider.</param> /// <param name="messageVerificationDelegate">The message verification delegate to interact with the DB.</param> /// <param name="profileDelegate">The profile delegate to interact with the DB.</param> /// <param name="notificationSettingsService">Notification settings delegate.</param> public UserSMSService( ILogger <UserSMSService> logger, IMessagingVerificationDelegate messageVerificationDelegate, IUserProfileDelegate profileDelegate, INotificationSettingsService notificationSettingsService) { this.logger = logger; this.messageVerificationDelegate = messageVerificationDelegate; this.profileDelegate = profileDelegate; this.notificationSettingsService = notificationSettingsService; }
/// <summary> /// Initializes a new instance of the <see cref="EmailQueueService"/> class. /// </summary> /// <param name="logger">The injected logger provider.</param> /// <param name="jobClient">The JobScheduler queue client.</param> /// <param name="emailDelegate">Email delegate to be used.</param> /// <param name="emailInviteDelegate">Invite email delegate to be used.</param> /// <param name="environment">The injected environment configuration.</param> public EmailQueueService( ILogger <EmailQueueService> logger, IBackgroundJobClient jobClient, IEmailDelegate emailDelegate, IMessagingVerificationDelegate emailInviteDelegate, IWebHostEnvironment environment) { this.logger = logger; this.jobClient = jobClient; this.emailDelegate = emailDelegate; this.emailInviteDelegate = emailInviteDelegate; this.environment = environment; }
/// <summary> /// Initializes a new instance of the <see cref="EmailAdminService"/> class. /// </summary> /// <param name="configuration">Injected configuration provider.</param> /// <param name="logger">Injected Logger Provider.</param> /// <param name="emailDelegate">The email delegate to interact with the DB.</param> /// <param name="emailInviteDelegate">The email invite delegate to interact with the DB.</param> public EmailAdminService( IConfiguration configuration, ILogger <EmailAdminService> logger, IEmailDelegate emailDelegate, IMessagingVerificationDelegate emailInviteDelegate) { this.configuration = configuration; this.logger = logger; this.emailDelegate = emailDelegate; this.emailInviteDelegate = emailInviteDelegate; IConfigurationSection section = configuration !.GetSection(EmailAdminSectionConfigKey); this.maxEmails = section.GetValue <int>(MaxEmailsConfigKey, DefaultMaxEmails); }
/// <summary> /// Initializes a new instance of the <see cref="UserEmailService"/> class. /// </summary> /// <param name="logger">Injected Logger Provider.</param> /// <param name="messageVerificationDelegate">The message verification delegate to interact with the DB.</param> /// <param name="profileDelegate">The profile delegate to interact with the DB.</param> /// <param name="emailQueueService">The email service to queue emails.</param> /// <param name="notificationSettingsService">Notification settings delegate.</param> /// <param name="configuration">Configuration settings.</param> /// <param name="httpContextAccessor">The injected http context accessor provider.</param> public UserEmailService( ILogger <UserEmailService> logger, IMessagingVerificationDelegate messageVerificationDelegate, IUserProfileDelegate profileDelegate, IEmailQueueService emailQueueService, INotificationSettingsService notificationSettingsService, IConfiguration configuration, IHttpContextAccessor httpContextAccessor) { this.logger = logger; this.messageVerificationDelegate = messageVerificationDelegate; this.profileDelegate = profileDelegate; this.emailQueueService = emailQueueService; this.notificationSettingsService = notificationSettingsService; this.emailVerificationExpirySeconds = configuration.GetSection(this.webClientConfigSection).GetValue <int>(this.emailConfigExpirySecondsKey, 5); this.httpContextAccessor = httpContextAccessor; }