예제 #1
0
        [Test]//, Ignore( "Investigating problems on OMNIAMEA-UNIT")]
        public void Test()
        {
            FolderDescriptor folderDescriptor = FolderEnum.SearchFolder("Format");

            Assert.IsNotNull(folderDescriptor);
            IEFolder folder =
                OutlookSession.OpenFolder(folderDescriptor.FolderIDs.EntryId, folderDescriptor.FolderIDs.StoreId);

            Assert.IsNotNull(folder);
            using ( folder )
            {
                IEMessages messages = folder.GetMessages();
                Assert.IsNotNull(messages);
                using ( messages )
                {
                    Assert.AreEqual(1, messages.GetCount());
                    IEMessage mail = messages.OpenMessage(0);
                    Assert.IsNotNull(mail);
                    using ( mail )
                    {
                        MessageBody msgBody = mail.GetRawBodyAsRTF();
                        Assert.AreEqual(MailBodyFormat.PlainTextInRTF, msgBody.Format);
                    }
                }
            }
        }
예제 #2
0
            public bool FolderFetched(FolderDescriptor parent, FolderDescriptor folder, out FolderDescriptor folderTag)
            {
                folderTag = folder;
                IEFolder mapiFolder =
                    OutlookSession.OpenFolder(folder.FolderIDs.EntryId, folder.FolderIDs.StoreId);

                if (mapiFolder != null)
                {
                    using ( mapiFolder )
                    {
                        string name = mapiFolder.GetStringProp(MAPIConst.PR_DISPLAY_NAME);
                        Tracer._Trace(name);
                        string containerClass = mapiFolder.GetStringProp(MAPIConst.PR_CONTAINER_CLASS);
                        containerClass = containerClass;
                        EnumerateMailWithBody(mapiFolder);
                        for (int i = 0; i < 1; ++i)
                        {
                            EnumerateMail(mapiFolder);
                        }
                    }
                }
                if (parent == null)
                {
                    return(true);
                }
                return(true);
            }
예제 #3
0
            private void SearchForFolders()
            {
                FolderEnum folderEnum = FolderEnum.SearchForFolders(new string[] { "MoveFirst", "MoveSecond" });

                _folderFirst  = folderEnum.GetFolderDescriptor("MoveFirst");
                _folderSecond = folderEnum.GetFolderDescriptor("MoveSecond");
                _storeID      = _folderFirst.FolderIDs.StoreId;
            }
예제 #4
0
 public bool FolderFetched(FolderDescriptor parent, FolderDescriptor folder, out FolderDescriptor folderTag)
 {
     folderTag = folder;
     Console.WriteLine("Folder name = " + folder.Name);
     HashMap.Entry entry = _folders.GetEntry(folder.Name);
     if (entry != null)
     {
         entry.Value = folder;
     }
     return(true);
 }
예제 #5
0
        [Test]//, Ignore( "Investigating problems on OMNIAMEA-UNIT")]
        public void GetSetCategories()
        {
            FolderEnum       folderEnum       = FolderEnum.SearchForFolders(new string[] { "TasksTest" });
            FolderDescriptor folderDescriptor = folderEnum.GetFolderDescriptor("TasksTest");

            Assert.IsNotNull(folderDescriptor);
            IEFolder folder =
                OutlookSession.OpenFolder(folderDescriptor.FolderIDs.EntryId, folderDescriptor.FolderIDs.StoreId);

            Assert.IsNotNull(folder);
            using ( folder )
            {
                IEMessages messages = folder.GetMessages();
                Assert.IsNotNull(messages);
                using ( messages )
                {
                    Assert.AreEqual(1, messages.GetCount());
                    IEMessage task = messages.OpenMessage(0);
                    Assert.IsNotNull(task);
                    using ( task )
                    {
                        ArrayList categories = OutlookSession.GetCategories(task);
                        Assert.AreEqual(null, categories);
                        categories = new ArrayList();
                        categories.Add("category1");
                        categories.Add("category2");
                        categories.Add("category3");
                        OutlookSession.SetCategories(task, categories);
                        task.SaveChanges();
                    }
                    task = messages.OpenMessage(0);
                    Assert.IsNotNull(task);
                    using ( task )
                    {
                        ArrayList categories = OutlookSession.GetCategories(task);
                        Assert.AreEqual(3, categories.Count);
                        categories.Remove("category1");
                        categories.Remove("category2");
                        categories.Remove("category3");
                        Assert.AreEqual(0, categories.Count);
                        OutlookSession.SetCategories(task, null);
                        task.SaveChanges();
                    }
                    task = messages.OpenMessage(0);
                    Assert.IsNotNull(task);
                    using ( task )
                    {
                        ArrayList categories = OutlookSession.GetCategories(task);
                        Assert.AreEqual(null, categories);
                    }
                }
            }
        }
        private void UpdateFolder(MAPIFolder folder)
        {
            if (folder.DefaultItemType != OlItemType.olAppointmentItem && folder.DefaultItemType != OlItemType.olTaskItem && folder.DefaultItemType != OlItemType.olContactItem)
            {
                string wrongFolderMessage = string.Format("Wrong ItemType in folder '{0}'. It should be a calendar, task or contact folder.", folder.Name);
                MessageBox.Show(wrongFolderMessage, "Configuration Error");
                return;
            }

            _selectedFolder    = new FolderDescriptor(folder.EntryID, folder.StoreID);
            SelectedFolderName = folder.Name;
            OutlookFolderType  = folder.DefaultItemType;
        }
예제 #7
0
        public void AddLocation()
        {
            var location = LocationTextBox.Text ?? string.Empty;

            var folder = new FolderDescriptor(location);

            var listBoxItem = GetListBoxItem(folder);

            List.SelectedIndex = List.Items.Add(listBoxItem);

            LocationTextBox.Text = string.Empty;

            EnableButtons();
        }
예제 #8
0
            private void MoveMessage(FolderDescriptor source, FolderDescriptor destination)
            {
                IEFolder srcFolder =
                    OutlookSession.OpenFolder(source.FolderIDs.EntryId, source.FolderIDs.StoreId);

                Assert.IsNotNull(srcFolder);
                using ( srcFolder )
                {
                    IEFolder destFolder =
                        OutlookSession.OpenFolder(destination.FolderIDs.EntryId, destination.FolderIDs.StoreId);
                    Assert.IsNotNull(destFolder);
                    using ( destFolder )
                    {
                        srcFolder.MoveMessage(_messageID, destFolder);
                    }
                }
            }
        public void SetOptions(CalDavSynchronizer.Contracts.Options options)
        {
            EnableChangeTriggeredSynchronization = options.EnableChangeTriggeredSynchronization;

            if (!string.IsNullOrEmpty(options.OutlookFolderEntryId) && !string.IsNullOrEmpty(options.OutlookFolderStoreId))
            {
                _selectedFolder = new FolderDescriptor(options.OutlookFolderEntryId, options.OutlookFolderStoreId);
            }
            else
            {
                _selectedFolder = null;
            }

            UpdateFolder();

            FolderAccountName = options.OutlookFolderAccountName;
        }
예제 #10
0
        private ListBoxItem GetListBoxItem([NotNull] FolderDescriptor descriptor)
        {
            Debug.ArgumentNotNull(descriptor, nameof(descriptor));

            var stackPanel = new StackPanel();

            stackPanel.Children.Add(new TextBlock
            {
                Text = descriptor.Location
            });

            var listBoxItem = new ListBoxItem
            {
                Content = stackPanel,
                Tag     = descriptor
            };

            return(listBoxItem);
        }