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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
 }