コード例 #1
0
        public void SaveFile(long transactionId, FileDomain domain, FileDomain domainPreview, Stream stream, Stream previewStream)
        {
            using (stream)
                using (previewStream)
                {
                    var file        = Mapper.Map <File>(domain);
                    var filePreview = Mapper.Map <File>(domainPreview);

                    file.BinaryData = new BinaryData {
                        Content = GetBytes(stream)
                    };
                    filePreview.BinaryData = new BinaryData {
                        Content = GetBytes(previewStream)
                    };

                    Context.TransactionFiles.Add(new TransactionFiles
                    {
                        TransactionId = transactionId,
                        File          = file,
                        FilePreview   = filePreview
                    });

                    Context.SaveChanges();
                }
        }
コード例 #2
0
        public void UpsertTransactionFile(long transactionId, FileDomain domain, Stream stream)
        {
            var previewStream = Pdf.GetFirstPageStream(stream);

            var previewDomain = new FileDomain
            {
                FileName    = $"preview-{domain.FileName}",
                ContentType = domain.ContentType
            };

            Repository.SaveFile(transactionId, domain, previewDomain, stream, previewStream);
        }
コード例 #3
0
        public FileDomain SaveFile(FileDomain doamin, Stream stream)
        {
            using (stream)
            {
                var file = Mapper.Map <File>(doamin);

                file.BinaryData = new BinaryData {
                    Content = GetBytes(stream)
                };

                Context.Files.Add(file);

                Context.SaveChanges();

                return(Mapper.Map <FileDomain>(file));
            }
        }
コード例 #4
0
        public IActionResult AddFile(TransactionUploadFilesViewModel uploadFilesViewModel)
        {
            foreach (var file in uploadFilesViewModel.Files)
            {
                if (Pdf.IsPdf(file.FileName))
                {
                    var fileDomain = new FileDomain
                    {
                        FileName    = file.FileName,
                        ContentType = file.ContentType,
                    };

                    FileService.UpsertTransactionFile(uploadFilesViewModel.TransactionId, fileDomain, file.OpenReadStream());
                }
                else
                {
                    return(BadRequest("Invalid file type."));
                }
            }

            return(Ok());
        }
コード例 #5
0
 public FileDomain UpsertFile(FileDomain file, Stream stream)
 {
     return(Repository.SaveFile(file, stream));
 }