Esempio n. 1
0
        public async Task <string> GridFSBucketUploadFromBytesAsync(string filename, byte[] source)
        {
            var database = _database ?? TryReadMongoDatabase();
            var bucket   = new MongoDB.Driver.GridFS.GridFSBucket(database);
            var id       = await bucket.UploadFromBytesAsync(filename, source);

            return(id.ToString());
        }
Esempio n. 2
0
        protected virtual byte[] DownloadAsBytes(ObjectId objectId)
        {
            var bucket = new MongoDB.Driver.GridFS.GridFSBucket(_downloadRepository.Database);
            var binary = bucket.DownloadAsBytesAsync(objectId, new MongoDB.Driver.GridFS.GridFSDownloadOptions()
            {
                CheckMD5 = true, Seekable = true
            }).Result;

            return(binary);
        }
Esempio n. 3
0
        public async Task <byte[]> GridFSBucketDownload(string id)
        {
            var bucket = new MongoDB.Driver.GridFS.GridFSBucket(_database);
            var binary = await bucket.DownloadAsBytesAsync(new ObjectId(id), new MongoDB.Driver.GridFS.GridFSDownloadOptions()
            {
                CheckMD5 = true
            });

            return(binary);
        }
Esempio n. 4
0
        /// <summary>
        /// Inserts a download
        /// </summary>
        /// <param name="download">Download</param>
        public virtual void InsertDownload(Download download)
        {
            if (download == null)
            {
                throw new ArgumentNullException("download");
            }
            if (!download.UseDownloadUrl)
            {
                var bucket = new MongoDB.Driver.GridFS.GridFSBucket(_downloadRepository.Database);
                var id     = bucket.UploadFromBytesAsync(download.Filename, download.DownloadBinary).Result;
                download.DownloadObjectId = id;
            }

            download.DownloadBinary = null;
            _downloadRepository.Insert(download);

            _eventPubisher.EntityInserted(download);
        }
Esempio n. 5
0
        /// <summary>
        /// Inserts a download
        /// </summary>
        /// <param name="download">Download</param>
        public virtual async Task InsertDownload(Download download)
        {
            if (download == null)
            {
                throw new ArgumentNullException("download");
            }
            if (!download.UseDownloadUrl)
            {
                var bucket = new MongoDB.Driver.GridFS.GridFSBucket(_downloadRepository.Database);
                var id     = await bucket.UploadFromBytesAsync(download.Filename, download.DownloadBinary);

                download.DownloadObjectId = id;
            }

            download.DownloadBinary = null;
            await _downloadRepository.InsertAsync(download);

            await _mediator.EntityInserted(download);
        }
Esempio n. 6
0
        public async Task <string> SaveOrderToBinary(Order order, string languageId, string vendorId = "")
        {
            if (order == null)
            {
                throw new ArgumentNullException(nameof(order));
            }

            string fileName   = string.Format("order_{0}_{1}", order.OrderGuid, CommonHelper.GenerateRandomDigitCode(4));
            string downloadId = string.Empty;

            using (MemoryStream ms = new MemoryStream())
            {
                var orders = new List <Order>
                {
                    order
                };
                await PrintOrdersToPdf(ms, orders, languageId, vendorId);

                var download = new Download
                {
                    Filename    = fileName,
                    Extension   = ".pdf",
                    ContentType = "application/pdf",
                };
                var bucket = new MongoDB.Driver.GridFS.GridFSBucket(_downloadRepository.Database);
                var id     = await bucket.UploadFromBytesAsync(download.Filename, ms.ToArray());

                download.DownloadObjectId = id;
                await _downloadRepository.InsertAsync(download);

                //TODO
                //await _mediator.EntityInserted(download);
                downloadId = download.Id;
            }
            return(downloadId);
        }
Esempio n. 7
0
 protected virtual byte[] DownloadAsBytes(ObjectId objectId)
 {
     var bucket = new MongoDB.Driver.GridFS.GridFSBucket(_downloadRepository.Database);
     var binary = bucket.DownloadAsBytesAsync(objectId, new MongoDB.Driver.GridFS.GridFSDownloadOptions() { CheckMD5 = true, Seekable = true }).Result;
     return binary;
 }
Esempio n. 8
0
        /// <summary>
        /// Inserts a download
        /// </summary>
        /// <param name="download">Download</param>
        public virtual void InsertDownload(Download download)
        {
            if (download == null)
                throw new ArgumentNullException("download");
            if (!download.UseDownloadUrl)
            {
                var bucket = new MongoDB.Driver.GridFS.GridFSBucket(_downloadRepository.Database);
                var id = bucket.UploadFromBytesAsync(download.Filename, download.DownloadBinary).Result;
                download.DownloadObjectId = id;
            }

            download.DownloadBinary = null;
            _downloadRepository.Insert(download);

            _eventPubisher.EntityInserted(download);
        }