public ActionResult ShowAttachment(int id) { //List<AttachmentDTO> attachments = InputDAC.GetAttachments(216); //MemoryStream ms = new MemoryStream(attachments[0].BinaryData); AttachmentDTO attachment = InputDAC.GetAttachment(id); MemoryStream ms = new MemoryStream(attachment.BinaryData); return(new ImageResult(ms, FileTypeHelper.GetContentType(attachment.Filename))); }
public void AttachFilesToDocuments(List <Document> documents, NiisWebContextMigration niisWebContext, ref int migratedFilesCount) { var documentFiles = _oldNiisDocumentDataService.GetDdDocumentDatas(documents.Select(r => r.Barcode).ToList()); if (documentFiles.Any() == false) { return; } foreach (var document in documents) { var documentData = documentFiles.SingleOrDefault(d => d.Id == document.Barcode); if (documentData == null) { continue; } if (documentData.FileName == null) { return; } var validFileName = $"{document.Barcode}.{Path.GetExtension(documentData.FileName)}"; var attachment = new Attachment { DocumentId = document.Id, AuthorId = _appConfiguration.AuthorAttachmentDocumentId, ContentType = FileTypeHelper.GetContentType(documentData.FileName), BucketName = $"old-document-{document.Barcode}", IsMain = true, DateCreate = documentData.DateCreate, DateUpdate = documentData.DateUpdate, OriginalName = documentData.FileName, Length = documentData.File.Length, ValidName = validFileName, Hash = _generateHash.GenerateFileHash(documentData.File) }; niisWebContext.Attachments.Add(attachment); niisWebContext.SaveChanges(); _fileStorage.AddAsync(attachment.BucketName, attachment.ValidName, documentData.File, attachment.ContentType).Wait(); document.MainAttachmentId = attachment.Id; niisWebContext.SaveChanges(); migratedFilesCount++; } }
private async Task <Attachment> CreateAttachment(DocumentData oldAttachment, int newDocumentId) { try { var fileName = oldAttachment.FileName; var file = oldAttachment.File; var documentInfo = SavedDocuments.FirstOrDefault(d => d.Id == newDocumentId); if (documentInfo == null) { return(null); } var extentionPath = GetDocumentTypeName((byte)documentInfo.DocumentType); var bucketName = GetBucketName(null, newDocumentId, null); if (string.IsNullOrWhiteSpace(fileName)) { fileName = $"{Guid.NewGuid()}.{FileTypes.Pdf}"; } var originalName = GetFolderWithOriginalName(null, newDocumentId, null, fileName, extentionPath); var validName = fileName.MakeValidFileName(); var contentType = FileTypeHelper.GetContentType(fileName); await _fileStorage.AddAsync(bucketName, originalName, file, contentType); var attachment = new Attachment { AuthorId = DeveloperUserId, ContentType = contentType, BucketName = bucketName, IsMain = true, CopyCount = documentInfo.CopyCount, PageCount = documentInfo.PageCount, DateCreate = DateTimeOffset.Now, DateUpdate = DateTimeOffset.Now, OriginalName = originalName, Length = file.Length, ValidName = validName, Hash = _generateHash.GenerateFileHash(file), ExternalId = documentInfo.ExternalId, DocumentId = newDocumentId, IsDeleted = false }; return(attachment); } catch (Exception) { return(null); } }
public void AttachFilesToRequests(List <Request> requests, NiisWebContextMigration niisWebContext, ref int migratedFilesCount) { var documentFiles = _oldNiisDocumentDataService.GetDdDocumentDatas(requests.Select(r => r.Barcode).ToList()); if (documentFiles.Any() == false) { return; } foreach (var request in requests) { var documentData = documentFiles.SingleOrDefault(d => d.Id == request.Barcode); if (documentData == null) { continue; } if (string.IsNullOrWhiteSpace(documentData.FileName)) { documentData.FileName = $"{request.Barcode}.{FileTypes.Pdf}"; } var attachment = new Attachment { AuthorId = request.UserId ?? _appConfiguration.AuthorAttachmentDocumentId, ContentType = FileTypeHelper.GetContentType(documentData.FileName), BucketName = $"old-request-{request.Barcode}", IsMain = true, CopyCount = request.CopyCount, PageCount = request.PageCount, DateCreate = documentData.DateCreate, DateUpdate = documentData.DateUpdate, OriginalName = documentData.FileName, Length = documentData.File.Length, ValidName = documentData.FileName.MakeValidFileName(), Hash = _generateHash.GenerateFileHash(documentData.File) }; _newNiisAttachmentFileService = new NewNiisAttachmentFileService(niisWebContext); _newNiisAttachmentFileService.CreateAttachment(attachment); _fileStorage.AddAsync(attachment.BucketName, attachment.ValidName, documentData.File, attachment.ContentType).Wait(); request.MainAttachmentId = attachment.Id; niisWebContext.SaveChanges(); migratedFilesCount++; } }
public void AttachFile(AttachedFileModel attachedFile, int requestId) { var attachment = new Attachment { DateCreate = DateTimeOffset.Now, RequestId = requestId, IsMain = attachedFile.IsMain, CopyCount = attachedFile.CopyCount, Length = attachedFile.Length, AuthorId = _configuration.AuthorAttachmentDocumentId, PageCount = attachedFile.PageCount, OriginalName = "integration/" + requestId + "/" + Guid.NewGuid(), //attachedFile.Name, ValidName = attachedFile.Name.MakeValidFileName(), ContentType = FileTypeHelper.GetContentType(attachedFile.Name), Hash = _generateHash.GenerateFileHash(attachedFile.File), BucketName = "requests" }; CreateAttachment(attachment); Task.Run(() => _fileStorage.AddAsync(attachment.BucketName, attachment.OriginalName, attachedFile.File, attachment.ContentType)).Wait(); }
public int?GetMainAttachmentId(int oldDocumentId, NiisWebContextMigration niisWebContext) { var documentData = _oldNiisDocumentDataService.GetDocumentData(oldDocumentId); if (documentData == null) { return(null); } if (string.IsNullOrWhiteSpace(documentData.FileName)) { documentData.FileName = $"{oldDocumentId}.{FileTypes.Pdf}"; } var attachment = new Attachment { AuthorId = _appConfiguration.AuthorAttachmentDocumentId, ContentType = FileTypeHelper.GetContentType(documentData.FileName), BucketName = $"old-document-{oldDocumentId}", IsMain = true, DateCreate = documentData.DateCreate, DateUpdate = documentData.DateUpdate, OriginalName = documentData.FileName, Length = documentData.File.Length, ValidName = documentData.FileName.MakeValidFileName(), Hash = _generateHash.GenerateFileHash(documentData.File) }; _newNiisAttachmentFileService = new NewNiisAttachmentFileService(niisWebContext); _newNiisAttachmentFileService.CreateAttachment(attachment); _fileStorage.AddAsync(attachment.BucketName, attachment.ValidName, documentData.File, attachment.ContentType).Wait(); return(attachment.Id); }
public ImageResult(string sourceFilename) { SourceFilename = sourceFilename; ContentType = FileTypeHelper.GetContentType(SourceFilename); }