예제 #1
0
        public void ProvideFolderTest()
        {
            var app = OutlookExtensions.ProvideApplication();
            var f1  = app.ProvideFolder(OlDefaultFolders.olFolderCalendar, "test");

            log.Info(
                app.GetSession()
                .GetDefaultFolder(OlDefaultFolders.olFolderCalendar)
                .Folders.OfType <MAPIFolder>()
                .Select(_ => _.Name)
                .Join());

            var f2 = app.ProvideFolder(OlDefaultFolders.olFolderCalendar, "test");

            log.Info(
                app.GetSession()
                .GetDefaultFolder(OlDefaultFolders.olFolderCalendar)
                .Folders.OfType <MAPIFolder>()
                .Select(_ => _.Name)
                .Join());

            Assert.AreEqual(f1.Name, f2.Name);
            log.Info(
                app.GetSession()
                .GetDefaultFolder(OlDefaultFolders.olFolderCalendar)
                .Folders.OfType <MAPIFolder>()
                .Select(_ => _.Name)
                .Join());
        }
예제 #2
0
        public void DelegateTest()
        {
            var app = OutlookExtensions.ProvideApplication();

            Assert.IsTrue(app.TryGetSelectedMail(out var mail));
            app.Delegate(mail);
        }
예제 #3
0
        public void InviteEveryoneTest()
        {
            var app = OutlookExtensions.ProvideApplication();

            Assert.IsTrue(app.TryGetSelectedMail(out var mail));
            app.InviteEveryone(mail);
        }
예제 #4
0
        public void TryGetSelectedMailTest()
        {
            var app = OutlookExtensions.ProvideApplication();

            Assert.IsTrue(app.TryGetSelectedMail(out var mail));
            log.Info(mail.Subject);
        }
예제 #5
0
        public void AppointmentReminder()
        {
            var app            = OutlookExtensions.ProvideApplication();
            var ns             = app.GetNamespace("MAPI");
            var calendarFolder = ns.GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
            var ti             = new TimeInterval(DateTime.Now, TimeSpan.FromMinutes(60));
            var upcoming       = app.GetOutlookAppointmentsStartingIn(calendarFolder, ti);

            log.Info(upcoming.ListFormat()
                     .Add(_ => _.Subject)
                     .Add(_ => _.Location)
                     .Add(_ => _.Start)
                     .Add(_ => _.End)
                     );
        }
예제 #6
0
        public void BetterDecline()
        {
            var app      = OutlookExtensions.ProvideApplication();
            var explorer = app.ActiveExplorer();

            log.Info(explorer.Caption);

            var declinedFolder = app.ProvideFolder(OlDefaultFolders.olFolderCalendar, "declined");

            foreach (var i in explorer.Selection.OfType <AppointmentItem>())
            {
                log.Info(i.Subject);
                i.Respond(OlMeetingResponse.olMeetingDeclined);
                i.Move(declinedFolder);
            }
        }