1

我有 TFS 的服务器插件,当某些东西被分配给人时,它会发送邮件。

现在我要做的是,我的插件将发送有关历史更改的邮件。例子:

(mak) 已将错误分配给 (betty)。betty 更改错误状态并分配给 (maddi),因此我的服务器插件会将分配发送到邮件。首先是 (betty),然后是 (maddi),现在我希望它将历史更改警报发送到 (mak) . 我怎样才能实现这个目标?我的代码在所有字段下方。

string mailbody ="";
mailbody += "<body><div class='Title'><b><a href={0}>Work item:{1}&nbsp;{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());
}
4

0 回答 0