コード例 #1
0
        public List <AweCsomeFile> SelectFilesFromItem <T>(int id, string filename = null)
        {
            var guid = StartMeasurement();

            var localFiles = _db.GetAttachmentsFromItem <T>(id);

            if (filename != null)
            {
                localFiles = localFiles.Where(q => q.Filename == filename).ToList();
            }
            if (!localFiles.Any(q => q.Stream == null))
            {
                StopMeasurement(guid, "SelectFilesFromItem (Local)");
                return(localFiles);
            }

            var spFiles = _baseTable.SelectFilesFromItem <T>(id, filename) ?? 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);
        }