public List <AweCsomeFile> SelectFilesFromLibrary <T>(string foldername, bool retrieveContent = true) where T : new() { var guid = StartMeasurement(); var localFiles = _db.GetFilesFromDocLib <T>(foldername, retrieveContent); if (!localFiles.Any(q => q.Stream == null) || !retrieveContent) { StopMeasurement(guid, "SelectFilesFromDocLib (Local)"); return(localFiles); } var spFiles = _baseTable.SelectFilesFromLibrary <T>(foldername, retrieveContent) ?? new List <AweCsomeFile>(); foreach (var localFile in localFiles) { if (localFile.Stream == null) { var match = spFiles.FirstOrDefault(q => q.Filename == localFile.Filename); if (match != null) { localFile.Stream = match.Stream; } } } StopMeasurement(guid, "SelectFilesFromItem (Local + SharePoint)"); return(localFiles); }