/// <summary> /// Initializes a new instance of the <see cref="SendFunction"/> class. /// </summary> /// <param name="options">Send function options.</param> /// <param name="notificationService">The service to precheck and determine if the queue message should be processed.</param> /// <param name="messageService">Message service.</param> /// <param name="notificationRepo">Notification repository.</param> /// <param name="sendQueue">The send queue.</param> /// <param name="localizer">Localization service.</param> /// <param name="sentNotificationUpdateDataRepository">SentNotificationUpdateDataRepository service.</param> /// <param name="sentUpdateandDeleteNotificationDataRepository">SentUpdateandDeleteNotificationDataRepository service.</param> public SendFunction( IOptions <SendFunctionOptions> options, INotificationService notificationService, IMessageService messageService, ISendingNotificationDataRepository notificationRepo, ISendQueue sendQueue, IStringLocalizer <Strings> localizer, ISentUpdateDataRepository sentNotificationUpdateDataRepository, ISentUpdateandDeleteNotificationDataRepository sentUpdateandDeleteNotificationDataRepository) { if (options is null) { throw new ArgumentNullException(nameof(options)); } this.maxNumberOfAttempts = options.Value.MaxNumberOfAttempts; this.sendRetryDelayNumberOfSeconds = options.Value.SendRetryDelayNumberOfSeconds; this.notificationService = notificationService ?? throw new ArgumentNullException(nameof(notificationService)); this.messageService = messageService ?? throw new ArgumentNullException(nameof(messageService)); this.notificationRepo = notificationRepo ?? throw new ArgumentNullException(nameof(notificationRepo)); this.sendQueue = sendQueue ?? throw new ArgumentNullException(nameof(sendQueue)); this.localizer = localizer ?? throw new ArgumentNullException(nameof(localizer)); this.sentNotificationUpdateDataRepository = sentNotificationUpdateDataRepository ?? throw new ArgumentNullException(nameof(sentNotificationUpdateDataRepository)); this.sentUpdateandDeleteNotificationDataRepository = sentUpdateandDeleteNotificationDataRepository ?? throw new ArgumentNullException(nameof(sentUpdateandDeleteNotificationDataRepository)); }
/// <summary> /// Initializes a new instance of the <see cref="StoreMessageActivity"/> class. /// </summary> /// <param name="notificationRepo">Sending notification data repository.</param> /// <param name="cardCreator">The adaptive card creator.</param> public StoreMessageActivity( ISendingNotificationDataRepository notificationRepo, AdaptiveCardCreator cardCreator) { this.sendingNotificationDataRepository = notificationRepo ?? throw new ArgumentNullException(nameof(notificationRepo)); this.adaptiveCardCreator = cardCreator ?? throw new ArgumentNullException(nameof(cardCreator)); }