Exemplo n.º 1
0
        public MailboxViewModel(MailboxWrapper mailbox)
        {
            Mailbox                              = mailbox;
            Folders                              = new ObservableCollection <MailboxFolderViewModel>();
            Delegates                            = new DelegatesViewModel(this);
            getFoldersWorker                     = new BackgroundWorker();
            getFoldersWorker.DoWork             += getFoldersWorker_DoWork;
            getFoldersWorker.RunWorkerCompleted += getFoldersWorker_RunWorkerCompleted;
            getFoldersWorker.RunWorkerAsync();

            MailboxesAndGroupsView        = new ListCollectionView(MasterAddressList);
            MailboxesAndGroupsView.Filter = obj => (((MailboxWrapper)obj).DistinguishedName != Mailbox.DistinguishedName);
        }
Exemplo n.º 2
0
        private void addMailboxViewModelTab()
        {
            MailboxWrapper selected = (MailboxWrapper)UserMailboxesView.CurrentItem;
            //Check if the selected mailbox is already open, and if it is make it the selected tab.
            MailboxViewModel dup = MailboxViewModels.SingleOrDefault(x => x.Mailbox.DistinguishedName == selected.DistinguishedName);

            if (dup == null)
            {
                MailboxViewModel newTab = new MailboxViewModel(selected);
                newTab.IsSelected = true;
                MailboxViewModels.Add(newTab);
            }
            else
            {
                dup.IsSelected = true;
            }
        }
Exemplo n.º 3
0
        private bool filterDelegatesList(object obj)
        {
            MailboxWrapper mailbox = obj as MailboxWrapper;

            //You can't add groups as delegates.
            if (mailbox.RecipientType.Contains("Group"))
            {
                return(false);
            }
            //You can't add the user as a delegate to their own mailbox.
            if (mailbox.DistinguishedName == ParentMailboxViewModel.Mailbox.DistinguishedName)
            {
                return(false);
            }
            //Neither can you add users who are already delegates.
            DelegateUserViewModel dup = DelegateUsers.SingleOrDefault(x =>
                                                                      x.EwsDelegateUser.UserId.PrimarySmtpAddress == mailbox.PrimarySmtp);

            if (dup != null)
            {
                return(false);
            }
            return(true);
        }