public AttachmentSummary(EnumValueInfo category, StaffSummary attachedBy, DateTime attachedTime, AttachedDocumentSummary document) { this.Category = category; this.AttachedBy = attachedBy; this.AttachedTime = attachedTime; this.Document = document; }
public AttachedDocumentSummary CreateAttachedDocumentSummary(AttachedDocument doc) { var summary = new AttachedDocumentSummary(); UpdateAttachedDocumentSummary(doc, summary); return summary; }
public void UpdateAttachedDocumentSummary(AttachedDocument doc, AttachedDocumentSummary summary) { summary.DocumentRef = doc.GetRef(); summary.CreationTime = doc.CreationTime; summary.ReceivedTime = doc.DocumentReceivedTime; summary.MimeType = doc.MimeType; summary.ContentUrl = doc.ContentUrl; summary.FileExtension = doc.FileExtension; summary.DocumentHeaders = new Dictionary<string, string>(doc.DocumentHeaders); summary.DocumentTypeName = doc.DocumentTypeName; }
/// <summary> /// Downloads a document at a specified relativeUrl to a temporary file. /// </summary> /// <param name="documentSummary"></param> /// <returns>The location of the downloaded file.</returns> public static string DownloadFile(AttachedDocumentSummary documentSummary) { Platform.CheckForNullReference(documentSummary, "documentSummary"); // if already cached locally, return local file name var tempFile = TempFileManager.Instance.GetFile(documentSummary.DocumentRef); if (!string.IsNullOrEmpty(tempFile)) return tempFile; var ftpFileTransfer = new FtpFileTransfer( AttachedDocumentSettings.Default.FtpUserId, AttachedDocumentSettings.Default.FtpPassword, AttachedDocumentSettings.Default.FtpBaseUrl, AttachedDocumentSettings.Default.FtpPassiveMode); var fullUrl = new Uri(ftpFileTransfer.BaseUri, documentSummary.ContentUrl); var fileExtension = Path.GetExtension(fullUrl.LocalPath).Trim('.'); var localFilePath = TempFileManager.Instance.CreateFile(documentSummary.DocumentRef, fileExtension, fn => ftpFileTransfer.Download(new FileTransferRequest(fullUrl, fn)), TimeSpan.FromSeconds(AttachedDocumentSettings.Default.DownloadCacheTimeToLive)); return localFilePath; }