public IOfficeConnectAddin(ThisAddIn addin) { try { _addin = addin; IOfficeConnectGlobals.ErEnUkendtBrugerAktiv = true; var outlookInboxFolder = _addin.Application.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox); // Get outlook inbox store ID IOfficeConnectGlobals.InboxFolderEntryID = outlookInboxFolder.EntryID; IOfficeConnectGlobals.UserStoreID = outlookInboxFolder.StoreID; Task.Run(() => { IOfficeConnectGlobals.EnsureCache(); log.Info("Cache was built"); }); var brugerKendt = IOfficeConnectGlobals.GetCurrentBruger(); if (brugerKendt == null) { var m = string.Format("Brugeren du er logget på windows med ({0}) er ukendt i IOffice", Environment.UserName); log.Warn(m); MessageBox.Show(m, "Ukendt bruger", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { log.InfoFormat("Bruger med ID {0} og navn {1} logget ind", brugerKendt.ID, brugerKendt.Navn); IOfficeConnectGlobals.ErEnUkendtBrugerAktiv = false; // Hookup on mail received _addin.Application.NewMailEx += Application_NewMailEx; // Hookup item sent // http://stackoverflow.com/questions/23803960/outlook-itemadd-event-not-triggered _sentItemsFolder = _addin.Application.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderSentMail); _sentItems = _sentItemsFolder.Items; _sentItems.ItemAdd -= sentItems_ItemAdd; _sentItems.ItemAdd += sentItems_ItemAdd; log.Info("Events new mail og itemsend hooked up"); } } catch (Exception e) { var m = string.Format("Generel fejl under opstart: {0}", e.Message); log.Error(m, e); MessageBox.Show(m, "Ukendt fejl under opstart", MessageBoxButtons.OK, MessageBoxIcon.Warning); throw; } }
public IOfficeConnectAddin(ThisAddIn addin) { try { _addin = addin; IOfficeConnectGlobals.ErEnUkendtBrugerAktiv = true; var outlookInboxFolder = _addin.Application.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox); // Get outlook inbox store ID IOfficeConnectGlobals.InboxFolderEntryID = outlookInboxFolder.EntryID; IOfficeConnectGlobals.UserStoreID = outlookInboxFolder.StoreID; Task.Run(() => { IOfficeConnectGlobals.EnsureCache(); log.Info("Cache was built"); }); var brugerKendt = IOfficeConnectGlobals.GetCurrentBruger(); if (brugerKendt == null) { var m = string.Format("Brugeren du er logget på windows med ({0}) er ukendt i IOffice", Environment.UserName); log.Warn(m); MessageBox.Show(m, "Ukendt bruger", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { log.InfoFormat("Bruger med ID {0} og navn {1} logget ind", brugerKendt.ID, brugerKendt.Navn); IOfficeConnectGlobals.ErEnUkendtBrugerAktiv = false; if (IOfficeConnectGlobals.ArchiveRootFolderExists(_addin.Application.Session, brugerKendt) == true) { // Hookup on mail received _addin.Application.NewMailEx += Application_NewMailEx; // Hookup item sent // http://stackoverflow.com/questions/23803960/outlook-itemadd-event-not-triggered _sentItemsFolder = _addin.Application.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderSentMail); _sentItems = _sentItemsFolder.Items; _sentItems.ItemAdd -= sentItems_ItemAdd; _sentItems.ItemAdd += sentItems_ItemAdd; log.Info("Events new mail og itemsend hooked up"); IOfficeConnectGlobals.ErFuldtInitialiseret = true; } else { var m = string.Format("Mappen til arkivering kunne ikke findes\r\nGå venligst ind i IOffice og vælg Settings\r\nUnder settings vælg fanebladet References\r\nTryk på luppen og vælg mappen \"Kunder\" under offentlige mapper\r\n\r\nGenstart Outlook når mappen er valgt så IOffice connect kan anvende indstillingen"); MessageBox.Show(m, "Mappen ikke fundet", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } catch (Exception e) { var m = string.Format("Generel fejl under opstart: {0}", e.Message); log.Error(m, e); MessageBox.Show(m, "Ukendt fejl under opstart", MessageBoxButtons.OK, MessageBoxIcon.Warning); throw; } }