private void Initialize(XDocument document)
{
DeployStatus status;
Enum.TryParse(document.Root.Element("status").Value, out status);
string receivedTimeValue = GetOptionalElementValue(document.Root, "receivedTime");
string endTimeValue = GetOptionalElementValue(document.Root, "endTime");
string startTimeValue = GetOptionalElementValue(document.Root, "startTime");
string lastSuccessEndTimeValue = GetOptionalElementValue(document.Root, "lastSuccessEndTime");
bool complete = false;
string completeValue = GetOptionalElementValue(document.Root, "complete");
if (!String.IsNullOrEmpty(completeValue))
{
Boolean.TryParse(completeValue, out complete);
}
bool isTemporary = false;
string isTemporaryValue = GetOptionalElementValue(document.Root, "is_temp");
if (!String.IsNullOrEmpty(isTemporaryValue))
{
Boolean.TryParse(isTemporaryValue, out isTemporary);
}
bool isReadOnly = false;
string isReadOnlyValue = GetOptionalElementValue(document.Root, "is_readonly");
if (!String.IsNullOrEmpty(isReadOnlyValue))
{
Boolean.TryParse(isReadOnlyValue, out isReadOnly);
}
Id = document.Root.Element("id").Value;
Author = GetOptionalElementValue(document.Root, "author");
Deployer = GetOptionalElementValue(document.Root, "deployer");
AuthorEmail = GetOptionalElementValue(document.Root, "authorEmail");
Message = GetOptionalElementValue(document.Root, "message");
Progress = GetOptionalElementValue(document.Root, "progress");
Status = status;
StatusText = document.Root.Element("statusText").Value;
StartTime = ParseDateTime(startTimeValue).Value;
ReceivedTime = ParseDateTime(receivedTimeValue).Value;
EndTime = ParseDateTime(endTimeValue);
LastSuccessEndTime = ParseDateTime(lastSuccessEndTimeValue);
Complete = complete;
IsTemporary = isTemporary;
IsReadOnly = isReadOnly;
}