Beispiel #1
0
 public void Add(SyncItem itemToAdd)
 {
     if (!Contains(itemToAdd))
     {
         Items.Add(itemToAdd);
         if (ItemSync != null)
         {
             ItemSync(this, itemToAdd);
         }
     }
 }
Beispiel #2
0
 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;
 }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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);
                }
            }
        }
Beispiel #5
0
        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;
                }
            }
        }