public TfsFailedValidation(Ticket source, ArrayList validationErrors)
{
Source = source;
Issues = new List<TfsIssue>();
Title = "";
Type = "";
foreach (Field field in validationErrors)
{
Title = field.WorkItem.Title;
Type = field.WorkItem.Type.Name;
var summary =
String.Format("{0} '{1}' flagged an error status of '{2}'.",
(field.IsRequired ? "Required field" : "Field"),
field.Name,
field.Status);
var info = new List<string>();
if (field.HasAllowedValuesList)
{
info.Add("Allowable values: " + toCommaSeparatedString(field.AllowedValues));
}
if (field.ProhibitedValues != null && field.ProhibitedValues.Count > 0)
{
info.Add("Prohibited values: " + toCommaSeparatedString(field.ProhibitedValues));
}
Issues.Add(new TfsIssue(field.Name, summary, field.Value, info));
}
Summary = String.Format("Found {0} issue{1} with ticket '{2}'.",
Issues.Count,
(Issues.Count > 1) ? "(s)" : "",
Source.ID);
}