public Object GetDefectAudit(int id) { var requestDefect = WebRequest.Create(GetFullUrl(URL_GET_DEFECT_HISTORY, domain, project, id)); requestDefect.Headers.Set(HttpRequestHeader.Cookie, cookieInfo); var responseDefect = requestDefect.GetResponse(); var reader = new StreamReader(responseDefect.GetResponseStream()); var result = reader.ReadToEnd(); return(QualityCenterAuditEntry.ParseMultiple(result)); }
private static QualityCenterAuditEntry BuildAuditEntryFromNode(XElement node) { var id = node.Descendants("Id").FirstOrDefault(); var action = node.Descendants("Action").FirstOrDefault(); var time = node.Descendants("Time").FirstOrDefault(); var user = node.Descendants("User").FirstOrDefault(); var propChanges = node.Descendants("Property"); /* * var element = fields.Where(f => f.Attribute("Name").Value == name).First(); * var value = (element.Descendants("Value").FirstOrDefault() == null ? defaultValue : element.Descendants("Value").FirstOrDefault().Value); * return value; */ var entry = new QualityCenterAuditEntry { Id = int.Parse(id.Value), Action = action.Value, Time = DateTime.Parse(time.Value), User = user.Value, Changes = new List <PropertyChange>() }; foreach (var propChange in propChanges) { var label = propChange.Attributes("Label").FirstOrDefault().Value; var name = propChange.Attributes("Name").FirstOrDefault().Value; var oldValue = propChange.Descendants("OldValue").FirstOrDefault(); var newValue = propChange.Descendants("NewValue").FirstOrDefault(); entry.Changes.Add(new PropertyChange { Label = label, Name = name, OldValue = (oldValue != null ? HtmlUtil.ConvertHtml(oldValue.Value) : null), NewValue = (newValue != null ? HtmlUtil.ConvertHtml(newValue.Value) : null) }); } return(entry); }