private void OnMessagesExpired(IList <string> expiredIds) { MessageProviderFactory factory = MessageProviderFactory.Instance; foreach (string expiredId in expiredIds) { IMessage message = GetMessage(expiredId); if (message != null) { MessageProvider provider = factory.GetProvider(message.Provider); if (provider != null) { provider.OnMessageExpired(this, message); } } } }
/// <summary> /// Send all pending messages. /// </summary> public void SendAllMessages() { MessageProviderFactory factory = MessageProviderFactory.Instance; using (MessageDataContext context = new MessageDataContext(connectionString)) { IQueryable <StoredMessage> query = from msg in context.Messages where !msg.IsDeleted select msg; IList <IMessage> messages = MakeMessages(query.ToList <StoredMessage>()); foreach (IMessage message in messages) { MessageProvider provider = factory.GetProvider(message.Provider); if (provider != null) { provider.Send(message); } } } }