-
Notifications
You must be signed in to change notification settings - Fork 103
Expand file tree
/
Copy pathMultiStrategy.cs
More file actions
32 lines (31 loc) · 1.09 KB
/
MultiStrategy.cs
File metadata and controls
32 lines (31 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using log4net;
using Mail2Bug.Email;
using Mail2Bug.Helpers;
using Mail2Bug.WorkItemManagement;
namespace Mail2Bug.MessageProcessingStrategies
{
/// <summary>
/// Allows Mail2Bug administrators to create their own processing strategies to be run in conjunction with (or without) the default
/// SimpleBugStrategy. This opens up the door for plugins to write messages to storage or auto response bots while maintaining
/// current functionality.
/// </summary>
public class MultiStrategy : IMessageProcessingStrategy
{
private List<IMessageProcessingStrategy> _strategies;
public MultiStrategy(List<IMessageProcessingStrategy> strategies) {
_strategies = strategies;
}
public void ProcessInboxMessage(IIncomingEmailMessage message)
{
foreach (IMessageProcessingStrategy strategy in _strategies) {
strategy.ProcessInboxMessage(message);
}
}
}
}