コード例 #1
0
        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);
        }