コード例 #1
0
        // Token: 0x060027A9 RID: 10153 RVA: 0x000E0D40 File Offset: 0x000DEF40
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            this.contextMenu = new AddressBookContextMenu(base.UserContext, true, false);
            string text   = base.OwaContext.FormsRegistryContext.Type;
            string action = base.OwaContext.FormsRegistryContext.Action;

            if (text != null)
            {
                object obj = DirectoryView.elementClassParser.Parse(text);
                if (obj != null && (DirectoryView.ElementClass)obj == DirectoryView.ElementClass.Rooms)
                {
                    this.type    |= DirectoryView.Type.Rooms;
                    this.viewType = ViewType.RoomBrowser;
                }
            }
            if (!string.IsNullOrEmpty(action))
            {
                if (string.Equals(action, "Pick", StringComparison.OrdinalIgnoreCase))
                {
                    this.viewType = ((DirectoryView.Type.Rooms == this.type) ? ViewType.RoomPicker : ViewType.DirectoryPicker);
                    this.type    |= DirectoryView.Type.Picker;
                }
                else if (string.Equals(action, "PickPaa", StringComparison.OrdinalIgnoreCase))
                {
                    this.type    |= (DirectoryView.Type.Picker | DirectoryView.Type.PaaPicker);
                    this.viewType = ViewType.DirectoryPicker;
                }
                else if (string.Equals(action, "PickMobile", StringComparison.OrdinalIgnoreCase))
                {
                    this.type    |= DirectoryView.Type.Mobile;
                    this.viewType = ViewType.DirectoryPicker;
                }
            }
            if (string.IsNullOrEmpty(base.SerializedContainerId))
            {
                if (this.IsRoomView && this.IsPicker && DirectoryAssistance.IsRoomsAddressListAvailable(base.UserContext))
                {
                    this.addressBookBase = base.UserContext.AllRoomsAddressBookInfo.ToAddressBookBase();
                    return;
                }
                this.addressBookBase = base.UserContext.GlobalAddressListInfo.ToAddressBookBase();
                return;
            }
            else
            {
                if (base.UserContext.GlobalAddressListInfo.Origin == GlobalAddressListInfo.GalOrigin.DefaultGlobalAddressList)
                {
                    this.addressBookBase = DirectoryAssistance.FindAddressBook(base.SerializedContainerId, base.UserContext);
                    return;
                }
                if (base.UserContext.GlobalAddressListInfo.Id.Equals(DirectoryAssistance.ParseADObjectId(base.SerializedContainerId)))
                {
                    this.addressBookBase = base.UserContext.GlobalAddressListInfo.ToAddressBookBase();
                    return;
                }
                throw new OwaInvalidRequestException("Address Book Serialized Id is unsupported " + base.SerializedContainerId);
            }
        }
コード例 #2
0
        public static SecondaryNavigationDirectoryList CreateCondensedDirectoryList(UserContext userContext, bool isRoomPicker)
        {
            SecondaryNavigationDirectoryList secondaryNavigationDirectoryList = new SecondaryNavigationDirectoryList(userContext);

            secondaryNavigationDirectoryList.AddEntry(userContext.GlobalAddressListInfo.DisplayName, userContext.GlobalAddressListInfo.ToBase64String(), !isRoomPicker, false);
            if (DirectoryAssistance.IsRoomsAddressListAvailable(userContext) && userContext.AllRoomsAddressBookInfo != null && !userContext.AllRoomsAddressBookInfo.IsEmpty)
            {
                secondaryNavigationDirectoryList.AddEntry(userContext.AllRoomsAddressBookInfo.DisplayName, userContext.AllRoomsAddressBookInfo.ToBase64String(), isRoomPicker, true);
            }
            return(secondaryNavigationDirectoryList);
        }
コード例 #3
0
        // Token: 0x06002432 RID: 9266 RVA: 0x000D1148 File Offset: 0x000CF348
        protected void RenderSecondaryNavigation(TextWriter output, bool showContacts)
        {
            if (output == null)
            {
                throw new ArgumentNullException("output");
            }
            output.Write("<div id=\"{0}\" class=\"secNvPaneCont\">", this.lastModuleName);
            switch (this.navigationModule)
            {
            case NavigationModule.Mail:
                NavigationHost.RenderMailSecondaryNavigation(output, base.UserContext);
                goto IL_229;

            case NavigationModule.Calendar:
            {
                PropertyDefinition[] propsToReturn = new PropertyDefinition[]
                {
                    ViewStateProperties.CalendarViewType,
                    ViewStateProperties.DailyViewDays
                };
                using (CalendarFolder calendarFolder = CalendarFolder.Bind(base.UserContext.MailboxSession, DefaultFolderType.Calendar, propsToReturn))
                {
                    DailyView.RenderSecondaryNavigation(output, calendarFolder, base.UserContext);
                    goto IL_229;
                }
                break;
            }

            case NavigationModule.Contacts:
                break;

            case NavigationModule.Tasks:
                TaskView.RenderSecondaryNavigation(output, base.UserContext);
                goto IL_229;

            case NavigationModule.Options:
                goto IL_21D;

            case NavigationModule.AddressBook:
                this.recipientBlockType = ((AddressBook)this).RecipientBlockType;
                if (base.UserContext.IsFeatureEnabled(Feature.GlobalAddressList))
                {
                    bool isRoomPicker = ((AddressBook)this).IsRoomPicker && DirectoryAssistance.IsRoomsAddressListAvailable(base.UserContext);
                    output.Write("<div class=\"abNavPane\" style=\"height:");
                    output.Write(showContacts ? "30" : "100");
                    output.Write("%;top:0px;\"><div id=\"divMdNmAD\">");
                    output.Write(LocalizedStrings.GetHtmlEncoded(346766088));
                    output.Write("</div><div id=\"divSecNvAD\">");
                    DirectoryView.RenderSecondaryNavigation(output, base.UserContext, isRoomPicker);
                    output.Write("</div></div>");
                }
                if (showContacts)
                {
                    output.Write("<div class=\"abNavPane\" style=\"height:");
                    output.Write(base.UserContext.IsFeatureEnabled(Feature.GlobalAddressList) ? "70" : "100");
                    output.Write("%;bottom:0px;\"><div id=\"divMdNmC\">");
                    output.Write(LocalizedStrings.GetHtmlEncoded(-1165546057));
                    output.Write("</div><div id=\"divSecNvC\"");
                    bool isPicker = ((AddressBook)this).IsPicker;
                    if (isPicker)
                    {
                        output.Write(" class=\"noFltrsCntRg\"");
                    }
                    output.Write(">");
                    ContactView.RenderSecondaryNavigation(output, base.UserContext, isPicker);
                    output.Write("</div></div>");
                    goto IL_229;
                }
                goto IL_229;

            case NavigationModule.Documents:
                DocumentLibraryUtilities.RenderSecondaryNavigation(output, base.UserContext);
                goto IL_229;

            case NavigationModule.PublicFolders:
                NavigationHost.RenderPublicFolderSecondaryNavigation(output, base.UserContext);
                goto IL_229;

            default:
                goto IL_21D;
            }
            ContactView.RenderSecondaryNavigation(output, base.UserContext, false);
            goto IL_229;
IL_21D:
            NavigationHost.RenderMailSecondaryNavigation(output, base.UserContext);
IL_229:
            output.Write("</div>");
        }