public void UpdateErrorsBasedOnXML(XElement xml)
{
var errorMessagesElement = xml.Element("ErrorMessages");
Errors = new List<IErrorInfo>();
if(errorMessagesElement != null)
{
var errorMessageElements = errorMessagesElement.Elements("ErrorMessage");
foreach(var errorMessageElement in errorMessageElements)
{
FixType fixType;
var fixTypeString = errorMessageElement.AttributeSafe("FixType");
Enum.TryParse(fixTypeString, true, out fixType);
ErrorType errorType;
var errorTypeString = errorMessageElement.AttributeSafe("ErrorType");
Enum.TryParse(errorTypeString, true, out errorType);
Guid instanceId;
Guid.TryParse(errorMessageElement.AttributeSafe("InstanceID"), out instanceId);
CompileMessageType messageType;
Enum.TryParse(errorMessageElement.AttributeSafe("MessageType"), true, out messageType);
Errors.Add(new ErrorInfo
{
InstanceID = instanceId,
Message = errorMessageElement.AttributeSafe("Message"),
StackTrace = errorMessageElement.AttributeSafe("StackTrace"),
FixType = fixType,
ErrorType = errorType,
FixData = errorMessageElement.Value
});
}
}
}