private void btnProcessSelected_Click(object sender, RoutedEventArgs e) { foreach (var _removeMail in grdViewRemoveEmails.SelectedItems.ToList()) { if (((RemoveMail)_removeMail).Subject.ToUpper() == "REMOVE") { string[] _body = ((RemoveMail)_removeMail).Body.Trim().Split(','); string[] _name = _body[0].Split(' '); BankruptcyCase _case = BankruptcyCaseService.GetByNameAndZip(_name[0], "", _name[1], Int32.Parse(_body[1].Trim())); if (_case != null) { _case.DontSend = true; BankruptcyCaseService.Save(_case, false); ((RemoveMail)_removeMail).Processed = true; ((RemoveMail)_removeMail).FoundAndRemoved = true; } else { ((RemoveMail)_removeMail).Processed = true; ((RemoveMail)_removeMail).FoundAndRemoved = false; } Imap.QuickDownloadMessages(ConfigurationManager.AppSettings["RemovePOP3Server"], ConfigurationManager.AppSettings["RemovePOP3User"], ConfigurationManager.AppSettings["RemovePOP3Password"], "Inbox"); } } }
private void LoadAndProcessRemoveEmails() { try { MailMessageCollection msgs; grdViewRemoveEmails.ItemsSource = null; Imap imp = new Imap(); imp.Connect(ConfigurationManager.AppSettings["RemovePOP3Server"]); imp.Login(ConfigurationManager.AppSettings["RemovePOP3User"], ConfigurationManager.AppSettings["RemovePOP3Password"]); imp.SelectFolder("Inbox"); int totalCount = imp.MessageCount; msgs = imp.DownloadEntireMessages("1:" + totalCount.ToString(), false); if (totalCount > 0) { _removeMailMessages = new List <RemoveMail>(); RemoveMail _removeMailMessage = new RemoveMail(); int i = 1; foreach (MailMessage _msg in msgs) { _removeMailMessage = new RemoveMail() { IndexOnMailServer = i, MsgDateTime = _msg.DateReceived, ToAddress = _msg.To.ToString(), FromAddress = _msg.From.ToString(), Body = _msg.BodyPlainText, Subject = _msg.Subject }; if (((RemoveMail)_removeMailMessage).Subject.ToUpper().Contains("REMOVE")) { try { string[] _body = ((RemoveMail)_removeMailMessage).Body.Trim().Split(','); string[] _name = _body[0].Split(' '); BankruptcyCase _case = BankruptcyCaseService.GetByNameAndZip(_name[0], "", _name[1], Int32.Parse(_body[1].Trim())); if (_case != null) { _case.DontSend = true; BankruptcyCaseService.Save(_case, false); ((RemoveMail)_removeMailMessage).Processed = true; ((RemoveMail)_removeMailMessage).FoundAndRemoved = true; } else { ((RemoveMail)_removeMailMessage).Processed = true; ((RemoveMail)_removeMailMessage).FoundAndRemoved = false; } } catch { } } _removeMailMessages.Add(_removeMailMessage); //save to the DB RemoveMailService.Save(_removeMailMessage); } grdViewRemoveEmails.ItemsSource = _removeMailMessages; } //delete the messages if (ConfigurationManager.AppSettings["RemovePOP3Messages"] == "true") { imp.DeleteMessages(Imap.AllMessages, false); //_removeMailMessages.Clear(); } imp.Close(); imp.Disconnect(); } catch (Exception ex) { Debug.WriteLine(ex.ToString()); } }