private void HandleMessageUnseenAtServer(object sender, ImapMonitorEventArgs e) { string messageKey = Message.CreateUniqueKeyString(e.AccountName, e.MailboxName, e.Uid); Message msg; if (MessagesDico.TryGetValue(messageKey, out msg) && msg.IsSeen) { msg.IsSeen = false; OnMessageModified(msg); DatabaseManager.Update(msg); } }
private void HandleMessageDeletedAtServer(object sender, ImapMonitorEventArgs e) { string messageKey = Message.CreateUniqueKeyString(e.AccountName, e.MailboxName, e.Uid); Message msg; if (MessagesDico.TryGetValue(messageKey, out msg)) { MessagesDico.Remove(messageKey); OnMessageRemoved(msg); DatabaseManager.DeleteMessage(msg); } }