in Mail2Bug/MessageProcessingStrategies/SimpleBugStrategy.cs [138:178]
private void UpdateWorkItem(IIncomingEmailMessage message, int workItemId)
{
Logger.InfoFormat("Modifying work item {0} subject: {1}", workItemId, message.Subject);
var resolver = new SpecialValueResolver(message, _workItemManager.GetNameResolver());
var workItemUpdates = new Dictionary<string, string>();
if (_config.WorkItemSettings.OverrideChangedBy)
{
workItemUpdates["Changed By"] = resolver.Sender;
}
bool isHtmlEnabled = _config.WorkItemSettings.EnableExperimentalHtmlFeatures;
bool commentIsHtml = message.IsHtmlBody && isHtmlEnabled;
string lastMessageText = message.GetLastMessageText(isHtmlEnabled);
if (_config.WorkItemSettings.ApplyOverridesDuringUpdate)
{
// OverrideExtractor can't currently handle HTML input, so we need to make sure we pass it the plain text version
string lastMessagePlainText = commentIsHtml
? message.GetLastMessageText(enableExperimentalHtmlFeatures: false)
: lastMessageText;
var extractor = new OverridesExtractor(_config);
var overrides = extractor.GetOverrides(lastMessagePlainText);
Logger.DebugFormat("Found {0} overrides for update message", overrides.Count);
overrides.ToList().ForEach(x => workItemUpdates[x.Key] = x.Value);
}
using (var attachments = SaveAttachments(message))
{
_workItemManager.ModifyWorkItem(workItemId, lastMessageText, commentIsHtml, workItemUpdates, attachments);
}
if (_config.WorkItemSettings.AttachUpdateMessages)
{
AttachMessageToWorkItem(message, workItemId, "ReplyMessage");
}
}