/// <summary> /// EventHandler for ItemAdd Event of InboxFolder /// </summary> /// <param name="Item">The Item wich was added to InboxFolder</param> private void Items_ItemAdd(object Item) { if (MutexManager.InFullSync()) { return; } try { // Check the ItemType, could be a MeetingAccept or something else if (Item is Ol.ContactItem) { // Cast to ContactItem Object Ol.ContactItem contact = (Ol.ContactItem)Item; if (MutexManager.IsBlocked(contact)) { logger.Debug("Removing contact " + OutlookAdapter.ContactItemDisplay(contact) + " from mutex file"); MutexManager.ClearBlockedContact(contact); return; } logger.Info("Adding " + OutlookAdapter.ContactItemDisplay(contact)); // Do something with Item GoogleAdapter ga = new GoogleAdapter(Config.Username, Config.Password, logger); MutexManager.AddToBlockedContacts(contact); ga.CreateContactFromOutlookAsync(contact); // Release COM Object contact = null; } } catch (System.Exception ex) { logger.Error(ex.Message); logger.Debug(ex.StackTrace.ToString()); MessageBox.Show(ex.Message); } }
private void Items_ItemChange(object Item) { if (MutexManager.InFullSync()) { return; } try { if (Item is ContactItem) { ContactItem item = (ContactItem)Item; if (MutexManager.IsBlocked(item)) { logger.Debug("Removing contact " + OutlookAdapter.ContactItemDisplay(item) + " from mutex file"); MutexManager.ClearBlockedContact(item); return; } logger.Info("Adding " + OutlookAdapter.ContactItemDisplay(item) + " to mutex file"); MutexManager.AddToBlockedContacts(item); logger.Info("Updating " + OutlookAdapter.ContactItemDisplay(item)); GoogleAdapter ga = new GoogleAdapter(Config.Username, Config.Password, logger); ga.UpdateContactFromOutlookAsync(item, null); } } catch (System.Exception ex) { logger.Error(ex.Message); logger.Debug(ex.StackTrace.ToString()); MessageBox.Show(ex.Message); } }