TicketImporter.TfsFailedValidation.TfsFailedValidation C# (CSharp) Method

TfsFailedValidation() public method

public TfsFailedValidation ( Ticket source, ArrayList validationErrors ) : System
source Ticket
validationErrors System.Collections.ArrayList
return System
        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);
        }