Ejemplo n.º 1
0
        //COMPLETE
        private void HandleEmailFile(string file)
        {
            using (var message = new Storage.Message(file))
            {
                var attachFolder          = Directory.CreateDirectory($@"c:\temp\temp_msg_attachments_{DateTime.Now:MM-dd-yy hh-mm-ss tt}").FullName;
                SubmissionDetails details = ParseMessage(message.BodyText);
                foreach (Storage.Attachment attachment in message.Attachments)
                {
                    File.WriteAllBytes(attachFolder + "\\" + attachment.FileName, attachment.Data);
                    details.Files.Add(attachFolder + "\\" + attachment.FileName);
                }

                details.Sender = message.Sender.DisplayName;

                Globals.AttachmentFolder = attachFolder;

                HandleFiles(details);
                Directory.Delete(attachFolder, true);


                Globals.AttachmentFolder = "";

                /*if (handed[0] + handed[1] == 0)
                 * {
                 *  MessageBox.Show("Something went wrong. Please try again.");
                 *  return;
                 * }*/
#if DEBUG
#else
                message.Save($@"Z:\Archive\Field Data E-Mails\{details.JobNumbers[0]} {GetInitials(details.Sender)} {DateTime.Now:MM-dd-yy HH-mm-ss}.msg");
                File.AppendAllLines($@"Z:\Archive\Field Data E-Mails Record Search.csv",
                                    new List <string> {
                    $@"{details.JobNumbers[0]}, {details.Address}, {details.Purpose}, {GetInitials(details.Sender)}, {DateTime.Now:MM-dd-yy HH-mm-ss}, Z:\Archive\{details.JobNumbers[0]} {GetInitials(details.Sender)} {DateTime.Now:MM-dd-yy HH-mm-ss}.msg"
                });
#endif
                // TODO: Review post-process handling.

                /*var result = MessageBox.Show(
                 *  $"The e-mail has been parsed successfully! See below for the information.\n" +
                 *  $"Address: {details.Address}\n" +
                 *  $"Message Date: {message.ReceivedOn.Value}\n" +
                 *  $"Sender: {message.Sender.DisplayName} ({message.Sender.Email})\n" +
                 *  $"Purpose: {details.Purpose}\n" +
                 *  $"Total Files: {message.Attachments.Count}\n" +
                 *  $"    Images: {handed[1]}\n" +
                 *  $"    Other Files: {handed[0]}\n\n" +
                 *  $"Would you like to open the field data now?",
                 *  "Parsing Successful",
                 *  MessageBoxButtons.YesNo
                 *  );
                 * message.Dispose();
                 * if (result == DialogResult.Yes)
                 * {
                 *  Process.Start.JobNumbers.GetPath(details.JobNumbers[0]) + "\\Field Data\\");
                 * }*/
            }
        }
Ejemplo n.º 2
0
        //COMPLETE
        private void HandleOutlookItem(MemoryStream filestream)
        {
            Storage.Message message = new Storage.Message(filestream);
            //OutlookStorage.Message message = new OutlookStorage.Message(filestream);
            string fileName = $"temp_msg_{DateTime.Now:MM-dd-yy hh-mm-ss tt}.msg";

            message.Save(@"c:\temp\" + fileName);
            message.Dispose();
            HandleEmailFile(@"c:\temp\" + fileName);
            File.Delete(@"c:\temp\" + fileName);
        }
Ejemplo n.º 3
0
        public void RemoveAttachments()
        {
            using (var inputStream = File.OpenRead(Path.Combine("SampleFiles", "EmailWith2Attachments.msg")))
                using (var inputMessage = new Storage.Message(inputStream, FileAccess.ReadWrite))
                {
                    var attachments = inputMessage.Attachments.ToList();

                    foreach (var attachment in attachments)
                    {
                        inputMessage.DeleteAttachment(attachment);
                    }

                    using (var outputStream = new MemoryStream())
                    {
                        inputMessage.Save(outputStream);
                        using (var outputMessage = new Storage.Message(outputStream))
                        {
                            var count = outputMessage.Attachments.Count;
                            Assert.IsTrue(count == 0);
                        }
                    }
                }
        }