private Document PopulateDocument(XElement record, bool populateLight)
{
var xmlDoc = XDocument.Parse(record.ToString());
var nodes = xmlDoc.Root.Descendants("oai_marc");
var docTypeString = Document.GetVarfield(nodes, "019", "b");
Document returnDocument;
if (docTypeString != null)
{
var className = GetDocumentType(docTypeString.Split(','));
var type = Type.GetType(className);
var methodInfo = type.GetMethod(populateLight ? "GetObjectFromFindDocXmlBsMarcLight" : "GetObjectFromFindDocXmlBsMarc");
returnDocument = (Document)methodInfo.Invoke(type, BindingFlags.InvokeMethod | BindingFlags.Default, null, new object[] { record.ToString() }, CultureInfo.CurrentCulture);
}
else
{
returnDocument = Document.GetObjectFromFindDocXmlBsMarcLight(record.ToString());
}
new Thread(() => _imageRepository.GetDocumentImage(returnDocument.DocumentNumber, null, returnDocument,
false)).Start();
return returnDocument;
}