private static EmailMessage ConvertToDto(System.Net.Mail.MailMessage message, MessageUidDTO messageUidDto, DateTime sentDate) { var emailMessageDto = new EmailMessage { FromAddress = message.From.Address, FromDisplayName = message.From.DisplayName, Recipients = String.Join("; ", message.To.Select(address => address.Address).ToArray()), Subject = message.Subject, ContentType = ContentTypeEnum.Email, Body = message.Body, SendDate = sentDate, MessageUidDto = messageUidDto }; foreach (var attachment in message.Attachments) { var fileId = AttachmentFolder.Save(attachment.ContentStream); emailMessageDto.EmailAttachments.Add(new LocalStoredAttachment { FileId = fileId, FileName = attachment.Name }); } return(emailMessageDto); }
public void Handle(ExistingBugImportedToTargetProcessMessage <BugzillaBug> message) { var newAttachments = message.ThirdPartyBug.attachmentCollection.Where(attachment => !AttachmentExists(message, attachment)).ToList(); AttachmentFolder.Delete(message.ThirdPartyBug.attachmentCollection.Except(newAttachments).Select(x => x.FileId)); PushAttachmentsToTp(message.TpBugId, message.ThirdPartyBug, newAttachments); }
public void Handle(TargetProcessExceptionThrownMessage message) { _logger.Error("Error occured", new Exception(message.ExceptionString)); if (Data.CreatingBug) { AttachmentFolder.Delete(Data.ThirdPartyBug.attachmentCollection.Select(x => x.FileId)); } MarkAsComplete(); }
public void AddAttachmentToEmail(string attachmentName, string attachmentContent) { byte[] byteArray = Encoding.ASCII.GetBytes(attachmentContent); var stream = new MemoryStream(byteArray); var fileId = AttachmentFolder.Save(stream); var emailAttachment = new LocalStoredAttachment { FileId = fileId, FileName = attachmentName }; _emailAttachments.Add(emailAttachment); }
private List <LocalStoredAttachment> CreateAttachments(IEnumerable <attachment> attachments) { var storedAttachments = new List <LocalStoredAttachment>(); foreach (var attachment in attachments.Where(a => a.isobsolete == isobsolete._0 && a.data.Value != null)) { var attachmentFileName = GetAttachmentFileName(attachment); FileId fileId = null; try { fileId = SaveAttachmentFile(attachment); var localAttachment = new LocalStoredAttachment { FileId = fileId, FileName = attachmentFileName, Description = attachment.desc, OwnerId = ObjectFactory.GetInstance <IUserMapper>().GetTpIdBy(attachment.attacher), CreateDate = CreateDateConverter.ParseFromBugzillaLocalTime(attachment.date) }; storedAttachments.Add(localAttachment); } catch (Exception ex) { ObjectFactory.GetInstance <IActivityLogger>().Error( string.Format("Cannot import attachment. Bugzilla Bug ID: {1}; File name: {0}", attachmentFileName, bug_id), ex); if (fileId != null && File.Exists(AttachmentFolder.GetAttachmentFileFullPath(fileId))) { AttachmentFolder.Delete(new[] { fileId }); } } } return(storedAttachments); }
private void CompleteSaga() { AttachmentFolder.Delete(Data.EmailReceivedMessage.Mail.EmailAttachments.Select(a => a.FileId)); MarkAsComplete(); }
private static FileId SaveAttachmentFile(attachment attachment) { byte[] data = Convert.FromBase64String(attachment.data.Value); return(AttachmentFolder.Save(new MemoryStream(data))); }
public void FileStorageShouldReturnFile(string accountName, string profileName, string fileName) { File.Exists(AttachmentFolder.GetAttachmentFileFullPath(new FileId(Guid.Parse(fileName)))).Should(Be.True); }