private static void GenerateMessages(IEnumerable<Subscription> subscriptions)
{
var configs = new Dictionary<string, NotificationConfig>();
using (var context = new DataHandler())
{
foreach (var subscription in subscriptions)
{
// gather notification configs (handler: NotificationConfig.cs) for all related content of subscriptions
GatherConfigsForSubscription(subscription, configs);
// generate messges for content whose notification are controlled by a notification config
var msgs = GenerateMessagesForConfig(subscription, configs);
foreach (var message in msgs)
{
context.Messages.InsertOnSubmit(message);
}
// generate messages for content whose notification are NOT controlled by a notification config (send a generic notification message)
var msg = GenerateMessage(subscription, configs);
if (msg != null)
context.Messages.InsertOnSubmit(msg);
}
context.SubmitChanges();
}
}
private static void GatherConfigsForSubscription(Subscription subscription, Dictionary<string, NotificationConfig> configs)