public async Task SaveAsync(MediaFile mediaFile, MediaStorageItem item)
        {
            Guard.NotNull(mediaFile, nameof(mediaFile));

            if (item == null)
            {
                mediaFile.ApplyBlob(null);
                await _db.SaveChangesAsync();

                return;
            }

            using (item)
            {
                if (_db.DataProvider.CanStreamBlob)
                {
                    await SaveFast(mediaFile, item);
                }
                else
                {
                    // BLOB stream unsupported
                    var buffer = await item.SourceStream.ToByteArrayAsync();

                    mediaFile.ApplyBlob(buffer);
                    mediaFile.Size = buffer.Length;
                    await _db.SaveChangesAsync();
                }
            }
        }
        public void Save(MediaFile mediaFile, byte[] data)
        {
            Guard.NotNull(mediaFile, nameof(mediaFile));

            mediaFile.ApplyBlob(data);
            _mediaFileRepo.Update(mediaFile);
        }
Exemple #3
0
        public async Task SaveAsync(MediaFile mediaFile, Stream stream)
        {
            Guard.NotNull(mediaFile, nameof(mediaFile));

            if (stream == null)
            {
                mediaFile.ApplyBlob(null);
            }
            else
            {
                await SaveInternalAsync(mediaFile, stream);
            }

            _mediaFileRepo.Update(mediaFile);
        }
Exemple #4
0
        public void Save(MediaFile mediaFile, Stream stream)
        {
            Guard.NotNull(mediaFile, nameof(mediaFile));

            if (stream == null)
            {
                mediaFile.ApplyBlob(null);
            }
            else
            {
                SaveInternal(mediaFile, stream);
            }

            _mediaFileRepo.Update(mediaFile);
        }
Exemple #5
0
        public async Task SaveAsync(MediaFile mediaFile, MediaStorageItem item)
        {
            Guard.NotNull(mediaFile, nameof(mediaFile));

            if (item == null)
            {
                mediaFile.ApplyBlob(null);
            }
            else
            {
                await SaveInternalAsync(mediaFile, item);
            }

            _mediaFileRepo.Update(mediaFile);
        }
Exemple #6
0
        public void Save(MediaFile mediaFile, MediaStorageItem item)
        {
            Guard.NotNull(mediaFile, nameof(mediaFile));

            if (item == null)
            {
                mediaFile.ApplyBlob(null);
            }
            else
            {
                SaveInternal(mediaFile, item);
            }

            _mediaFileRepo.Update(mediaFile);
        }
Exemple #7
0
        private void SaveInternal(MediaFile mediaFile, Stream stream)
        {
            using (stream)
            {
                if (_isSqlServer)
                {
                    SaveFast(mediaFile, stream);
                }
                else
                {
                    var buffer = stream.ToByteArray();
                    mediaFile.ApplyBlob(buffer);
                }
            }

            _mediaFileRepo.Update(mediaFile);
        }
Exemple #8
0
        private async Task SaveInternalAsync(MediaFile mediaFile, Stream stream)
        {
            using (stream)
            {
                if (_isSqlServer)
                {
                    SaveFast(mediaFile, stream);
                }
                else
                {
                    var buffer = await stream.ToByteArrayAsync();

                    mediaFile.ApplyBlob(buffer);
                }
            }

            _mediaFileRepo.Update(mediaFile);
        }
Exemple #9
0
        private void SaveInternal(MediaFile mediaFile, MediaStorageItem item)
        {
            using (item)
            {
                if (_isSqlServer)
                {
                    SaveFast(mediaFile, item);
                }
                else
                {
                    var buffer = item.SourceStream.ToByteArray();
                    mediaFile.ApplyBlob(buffer);
                    mediaFile.Size = buffer.Length;
                }
            }

            _mediaFileRepo.Update(mediaFile);
        }
Exemple #10
0
        public async Task SaveAsync(MediaFile mediaFile, Stream stream)
        {
            Guard.NotNull(mediaFile, nameof(mediaFile));

            if (_isSqlServer)
            {
                SaveFast(mediaFile, stream);
            }
            else
            {
                byte[] buffer;
                using (stream ?? new MemoryStream())
                {
                    buffer = await stream.ToByteArrayAsync();
                }
                mediaFile.ApplyBlob(buffer);
            }

            _mediaFileRepo.Update(mediaFile);
        }