我有 TFS 的服务器插件,当某些东西被分配给人时,它会发送邮件。
现在我要做的是,我的插件将发送有关历史更改的邮件。例子:
(mak) 已将错误分配给 (betty)。betty 更改错误状态并分配给 (maddi),因此我的服务器插件会将分配发送到邮件。首先是 (betty),然后是 (maddi),现在我希望它将历史更改警报发送到 (mak) . 我怎样才能实现这个目标?我的代码在所有字段下方。
string mailbody ="";
mailbody += "<body><div class='Title'><b><a href={0}>Work item:{1} {2} - {3}</a></b></div><br />";
mailbody += "<table>{4}</table><br/><br />Other fields <table class='WithBorder'>{5}</table>";
string mailfooter = "<div class=footer><br />Notes:<br />- All dates and times are shown in GMT+05:00:00 Pakistan Standard Time<br />- You are receiving this notification because of a subscription created by SHMA\\Fahad.Ali<br />Provided by <a HREF='http://go.microsoft.com/fwlink/?LinkID=129550'title='Microsoft Visual Studio® Team System 2010'>Microsoft Visual Studio® Team System 2010</a></div></body>";
string mailsubject = "{0} Work Item : {1} {2} - {3}";
StringBuilder wiMessage = new StringBuilder("", 500);
StringBuilder wiSubject = new StringBuilder("", 200);
if (AssignedToChange)
{
string otherData = "", codeData = "";
foreach (StringField field in workItemChange.CoreFields.StringFields)
{
codeData += "<tr ><td class='PropName'>" + field.Name + "</td><td class='PropName'>" + field.NewValue + "</td></tr>";
}
otherData += "<tr width=100%><td class='ColHeadingMedium'>Field </td><td class='ColHeading'>New Value </td><td class='ColHeading'>Old Value </td></tr>";
foreach (StringField field in workItemChange.ChangedFields.StringFields)
{
otherData += "<tr><td class='ColHeadingMedium'>" + field.Name + "</td><td class='ColHeadingMedium'>" + field.NewValue + "</td><td class='ColHeadingMedium'>" + field.OldValue + "</td></tr>";
}
wiMessage.AppendFormat(mailbody, workItemChange.DisplayUrl,
"", witem.Id, witem.Title, codeData, otherData);
wiMessage.AppendLine(mailfooter);
wiSubject.AppendFormat(mailsubject, workItemChange.PortfolioProject, "",witem.Id,witem.Title);
SendEmail(assTo, wiSubject.ToString(), styleTag + wiMessage.ToString());
}