public void Add(SyncItem itemToAdd) { if (!Contains(itemToAdd)) { Items.Add(itemToAdd); if (ItemSync != null) { ItemSync(this, itemToAdd); } } }
public bool Contains(SyncItem item) { foreach (SyncItem syncItem in Items) { if (item.EntryID == syncItem.EntryID) return true; if ((item.ReceivedTime == syncItem.ReceivedTime) && (item.SenderSubject == syncItem.SenderSubject)) return true; } return false; }
private SyncItem SyncMailItem(object outlookItem) { var outlookMail = (Outlook.MailItem) outlookItem; var syncItem = new SyncItem(); syncItem.EntryID = outlookMail.EntryID; syncItem.SenderSubject = outlookMail.Subject; syncItem.ReceivedTime = outlookMail.ReceivedTime; syncItem.AccountID = MailHelper.GetItemAccountID(outlookItem); syncItems.Add(syncItem); return syncItem; }
void SyncItems_ItemSync(object sender, SyncItem e) { // Use this event to handle all incoming e-mails var outlookMailItem = MailHelper.GetMailItemFromId(this.BaseAddIn.OutlookApp, e.EntryID); var eventArg = new MailReceivedEventArgs { Item=e, OutlookApplication=this.BaseAddIn.OutlookApp, //OutlookMailItem = outlookMailItem, MailItem=new AOMailItem(outlookMailItem) }; if (MailHelper.IsSentItem(outlookMailItem)) { if (MailSent != null) { MailSent(this, eventArg); } } else { if (MailReceived != null) { MailReceived(this, eventArg); } } }
public void Load() { Items.Clear(); if (CheckFile()) { XmlDocument xmlDoc = new XmlDocument(); if (xmlDoc != null) { xmlDoc.Load(FileName); XmlNode rootNode = xmlDoc.DocumentElement; foreach (XmlNode node in rootNode) { if (node.Name == "synctimes") { foreach (XmlNode ItemNode in node) { SyncTime NewItem = new SyncTime(); if ((ItemNode.InnerText != null) && (ItemNode.InnerText != string.Empty)) { NewItem.LatestTime = Convert.ToDateTime(ItemNode.InnerText); } if (ItemNode.Attributes["accountid"] != null) { NewItem.AccountID = ItemNode.Attributes["accountid"].Value; } SyncTimes.Add(NewItem); NewItem = null; } } else if (node.Name == "syncitems") { foreach (XmlNode ItemNode in node) { SyncItem NewItem = new SyncItem(); NewItem.EntryID = ItemNode.InnerText.Trim(); if (ItemNode.Attributes["receivedtime"] != null) { NewItem.ReceivedTime = Convert.ToDateTime( ItemNode.Attributes["receivedtime"].Value); } if (ItemNode.Attributes["sendersubj"] != null) { NewItem.SenderSubject = ItemNode.Attributes["sendersubj"].Value; } if (ItemNode.Attributes["accountid"] != null) { NewItem.AccountID = ItemNode.Attributes["accountid"].Value; } Items.Add(NewItem); NewItem = null; } } } rootNode = null; xmlDoc = null; } } }