public ReminderDomain(IReminderStorage storage, IReminderReceiver receiver, IReminderSender sender, TimeSpan awaitingRemindersCheckPeriod, TimeSpan readyReminderSendPeriod) { _storage = storage; _receiver = receiver; _sender = sender; _awaitingRemindersCheckPeriod = awaitingRemindersCheckPeriod; _readyReminderCheckPeriod = readyReminderSendPeriod; }
public ReminderDomain( IReminderStorage storage, IReminderReceiver receiver, IReminderSender sender, TimeSpan awaitingRemindersCheckingPeriod, TimeSpan readyRemindersSendingPeriod) : this(storage, receiver, sender) { _awaitingRemindersCheckingPeriod = awaitingRemindersCheckingPeriod; _readyRemindersSendingPeriod = readyRemindersSendingPeriod; }
public ReminderScheduler( ILogger <ReminderScheduler> logger, IReminderStorage storage, IReminderSender sender, IReminderReceiver receiver) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _storage = storage ?? throw new ArgumentNullException(nameof(storage)); _sender = sender ?? throw new ArgumentNullException(nameof(sender)); _receiver = receiver ?? throw new ArgumentNullException(nameof(receiver)); }
public ReminderService( IReminderStorage storage, IReminderSender sender, IReminderReceiver receiver, ReminderServiceParameters parameters) { _storage = storage ?? throw new ArgumentNullException(nameof(storage)); _sender = sender ?? throw new ArgumentNullException(nameof(sender)); _receiver = receiver ?? throw new ArgumentNullException(nameof(receiver)); _parameters = parameters ?? throw new ArgumentNullException(nameof(parameters)); }
public ReminderDomain(IReminderStorage storage, IReminderReceiver receiver, IReminderSender sender) { _storage = storage; _receiver = receiver; _sender = sender; _receiver.MessageReceived += Receiver_MessageReceived; _awaitingRemindersCheckingPeriod = TimeSpan.FromSeconds(1); _readyRemindersSendingPeriod = TimeSpan.FromSeconds(1); }
public ReminderDomain( IReminderStorage storage, IReminderReceiver receiver, IReminderSender sender) : this( storage, receiver, sender, TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(1)) { }
public ReminderDomain( IReminderStorage storage, IReminderReceiver receiver, TimeSpan awaitingRemindersCheckingPeriod, TimeSpan readyRemindersSendingPeriod) { _storage = storage; _receiver = receiver; _awaitingRemindersCheckingPeriod = awaitingRemindersCheckingPeriod; _readyRemindersSendingPeriod = readyRemindersSendingPeriod; _receiver.MessageReceived += Receiver_MessageReceived; }
public ReminderService( IReminderStorage storage, IReminderSender sender, IReminderReceiver receiver, ReminderServiceParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } _storage = storage ?? throw new ArgumentNullException(nameof(storage)); _sender = sender ?? throw new ArgumentNullException(nameof(sender)); _receiver = receiver ?? throw new ArgumentNullException(nameof(receiver)); _receiver.MessageReceived += OnMessageReceived; _createdItemTimer = new Timer(OnCreatedItemTimerTick, null, parameters.CreateTimerDelay, parameters.CreateTimerInterval); _readyItemTimer = new Timer(OnReadyItemTimerTick, null, parameters.ReadyTimerDelay, parameters.ReadyTimerInterval); }
public ReminderDomain( IReminderStorage storage, IReminderReceiver receiver) : this(storage, receiver, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1)) { }
public ReminderDomain( IReminderStorage storage, IReminderReceiver receiver, TimeSpan awaitingRemindersCheckingPeriod, TimeSpan readyRemindersSendingPeriod) { _storage = storage; _receiver = receiver; _awaitingRemindersCheckingPeriod = awaitingRemindersCheckingPeriod; _readyRemindersSendingPeriod = readyRemindersSendingPeriod; _receiver.MessageReceived += (s, e) => { MessageReceived?.Invoke( this, new MessageReceivedEventArgs { ContactId = e.ContactId, Message = e.Message }); ParsedMessage parsedMessage; try { parsedMessage = MessageParser.Parse(e.Message); MessageParsingSuccedded?.Invoke( this, new MessageParsingSucceddedEventArgs { ContactId = e.ContactId, Date = parsedMessage.Date, Message = parsedMessage.Message }); } catch (Exception ex) { MessageParsingFailed?.Invoke( this, new MessageParsingFailedEventArgs { ContactId = e.ContactId, Message = e.Message, ParsingException = ex }); return; } var item = new ReminderItem( parsedMessage.Date, parsedMessage.Message, e.ContactId); try { storage.Add(item); AddingToStorageSucceeded?.Invoke( this, new AddingToStorageSucceddedEventArgs { ContactId = e.ContactId, Message = e.Message }); } catch (Exception ex) { AddingToStorageFailed?.Invoke( this, new AddingToStorageFailedEventArgs { ContactId = e.ContactId, Message = e.Message, AddingException = ex }); } }; }