Esempio n. 1
0
        public override void ProcessBeforeItemMove(object item, object moveTo, AddinExpress.MSO.ADXCancelEventArgs e)
        {
            if (item is Outlook._ContactItem)
            {
                Outlook._ContactItem movedContact = (Outlook._ContactItem)item;
                Outlook._Application outlookApp   = ((AddinModule)this.Module).OutlookApp;
                Outlook._JournalItem journalItem  = null;

                try
                {
                    journalItem = (Outlook._JournalItem)outlookApp.CreateItem(Outlook.OlItemType.olJournalItem);
                    if (moveTo != null)
                    {
                        Outlook.MAPIFolder targetFolder = (Outlook.MAPIFolder)moveTo;
                        journalItem.Subject = String.Format("You've moved {0} to {1}",
                                                            movedContact.FullName, targetFolder.FolderPath);
                        Marshal.ReleaseComObject(moveTo);
                    }
                    else
                    {
                        journalItem.Subject = String.Format("You've permanently deleted {0}",
                                                            movedContact.FullName);
                    }
                    journalItem.Save();
                }
                finally
                {
                    if (journalItem != null)
                    {
                        Marshal.ReleaseComObject(journalItem);
                    }
                }
            }
        }
Esempio n. 2
0
        public override void ProcessItemAdd(object item)
        {
            if (item is Outlook._ContactItem)
            {
                Outlook._ContactItem newContact   = (Outlook._ContactItem)item;
                Outlook._Application outlookApp   = ((AddinModule)this.Module).OutlookApp;
                Outlook.MAPIFolder   targetFolder = (Outlook.MAPIFolder) this.FolderObj;
                Outlook._JournalItem journalItem  = null;

                try
                {
                    journalItem         = (Outlook._JournalItem)outlookApp.CreateItem(Outlook.OlItemType.olJournalItem);
                    journalItem.Subject = String.Format("You've added {0} to {1}",
                                                        newContact.FullName, targetFolder.FolderPath);
                    journalItem.Save();
                }
                finally
                {
                    if (journalItem != null)
                    {
                        Marshal.ReleaseComObject(journalItem);
                    }
                }
            }
        }
Esempio n. 3
0
        public override void ProcessItemRemove()
        {
            Outlook._Application outlookApp   = ((AddinModule)this.Module).OutlookApp;
            Outlook.MAPIFolder   targetFolder = (Outlook.MAPIFolder) this.FolderObj;
            Outlook._JournalItem journalItem  = null;

            try
            {
                journalItem         = (Outlook._JournalItem)outlookApp.CreateItem(Outlook.OlItemType.olJournalItem);
                journalItem.Subject = String.Format("You've removed items from {0}", targetFolder.FolderPath);
                journalItem.Save();
            }
            finally
            {
                if (journalItem != null)
                {
                    Marshal.ReleaseComObject(journalItem);
                }
            }
        }