Example #1
0
        // Token: 0x06001D9B RID: 7579 RVA: 0x000AC294 File Offset: 0x000AA494
        internal static AddressBookViewState Load(UserContext userContext, bool isPicker, bool isRoomView)
        {
            PropertyDefinition[] propsToReturn        = isPicker ? AddressBookViewState.pickerProperties : AddressBookViewState.browseProperties;
            PropertyDefinition   propertyDefinition   = isPicker ? ViewStateProperties.AddressBookPickerMultiLine : ViewStateProperties.AddressBookLookupMultiLine;
            AddressBookViewState addressBookViewState = new AddressBookViewState();

            addressBookViewState.isRoomView = isRoomView;
            if (userContext.IsWebPartRequest)
            {
                return(addressBookViewState);
            }
            using (Folder folder = Folder.Bind(userContext.MailboxSession, DefaultFolderType.Root, propsToReturn))
            {
                addressBookViewState.isMultiLine = Utilities.GetFolderProperty <bool>(folder, propertyDefinition, !isRoomView);
                if (isPicker)
                {
                    return(addressBookViewState);
                }
                addressBookViewState.readingPanePosition = Utilities.GetFolderProperty <ReadingPanePosition>(folder, ViewStateProperties.AddressBookLookupReadingPanePosition, ReadingPanePosition.Right);
                if (!FolderViewStates.ValidateReadingPanePosition(addressBookViewState.readingPanePosition))
                {
                    addressBookViewState.readingPanePosition = ReadingPanePosition.Right;
                }
            }
            return(addressBookViewState);
        }
Example #2
0
        private static void InternalGetFolderViewStates(UserContext userContext, CalendarFolder folder, ref ExDateTime[] days, ref CalendarViewType viewType, out int viewWidth, out ReadingPanePosition readingPanePosition)
        {
            FolderViewStates folderViewStates = userContext.GetFolderViewStates(folder);

            CalendarUtilities.GetCalendarViewParamsFromViewStates(folderViewStates, out viewWidth, ref viewType, out readingPanePosition);
            days = CalendarUtilities.GetViewDays(userContext, days, viewType, OwaStoreObjectId.CreateFromStoreObject(folder), folderViewStates);
        }
Example #3
0
 private void PersistWidthOrHeight(bool isWidth)
 {
     if (!base.UserContext.IsWebPartRequest)
     {
         using (Folder calendarFolder = this.GetCalendarFolder(false))
         {
             FolderViewStates folderViewStates = base.UserContext.GetFolderViewStates(calendarFolder);
             try
             {
                 if (isWidth)
                 {
                     folderViewStates.ViewWidth = (int)base.GetParameter("w");
                 }
                 else
                 {
                     folderViewStates.ViewHeight = (int)base.GetParameter("h");
                 }
                 folderViewStates.Save();
             }
             catch (ArgumentOutOfRangeException ex)
             {
                 throw new OwaInvalidRequestException(ex.Message, ex);
             }
         }
     }
 }
Example #4
0
 // Token: 0x06002FE0 RID: 12256 RVA: 0x001176C7 File Offset: 0x001158C7
 public static void GetCalendarViewParamsFromViewStates(FolderViewStates states, out int viewWidth, ref CalendarViewType viewType, out ReadingPanePosition readingPanePosition)
 {
     if (viewType == CalendarViewType.None)
     {
         viewType = states.CalendarViewType;
     }
     viewWidth = states.GetViewWidth(450);
     if (viewType == CalendarViewType.Monthly)
     {
         readingPanePosition = ReadingPanePosition.Off;
         return;
     }
     if (viewType == CalendarViewType.Min)
     {
         readingPanePosition = states.ReadingPanePosition;
         return;
     }
     readingPanePosition = states.ReadingPanePositionMultiDay;
 }
Example #5
0
 public void PersistReadingPane()
 {
     ExTraceGlobals.CalendarCallTracer.TraceDebug((long)this.GetHashCode(), "CalendarViewEventHandler.PersistReadingPane");
     using (Folder calendarFolder = this.GetCalendarFolder(false))
     {
         if (Utilities.IsPublic(calendarFolder) || Utilities.IsOtherMailbox(calendarFolder) || Utilities.CanModifyFolderProperties(calendarFolder))
         {
             FolderViewStates folderViewStates = base.UserContext.GetFolderViewStates(calendarFolder);
             if ((bool)base.GetParameter("isMD"))
             {
                 folderViewStates.ReadingPanePositionMultiDay = (ReadingPanePosition)base.GetParameter("s");
             }
             else
             {
                 folderViewStates.ReadingPanePosition = (ReadingPanePosition)base.GetParameter("s");
             }
             folderViewStates.Save();
         }
     }
 }
Example #6
0
        // Token: 0x06001F8A RID: 8074 RVA: 0x000B57B8 File Offset: 0x000B39B8
        internal void RenderConversationParts(TextWriter writer, OwaStoreObjectId conversationId, Folder contextFolder, Folder dataFolder)
        {
            ExDateTime?lastDeliveryTime = ConversationUtilities.GetLastDeliveryTime(this.ConversationPartsDataSource.Conversation);

            writer.Write("<div id=\"");
            writer.Write("tblExp");
            writer.Write("\" ");
            writer.Write("expId");
            writer.Write("=\"");
            Utilities.HtmlEncode(conversationId.ToString(), writer);
            writer.Write("\" ");
            writer.Write("iGC");
            writer.Write("=");
            writer.Write(ConversationUtilities.GetGlobalCount(this.ConversationPartsDataSource.Conversation));
            writer.Write(">");
            FolderViewStates    folderViewStates    = base.UserContext.GetFolderViewStates(contextFolder);
            ReadingPanePosition readingPanePosition = folderViewStates.ReadingPanePosition;
            int num;

            if (readingPanePosition == ReadingPanePosition.Right)
            {
                num = folderViewStates.ViewWidth;
            }
            else
            {
                num = 800;
            }
            int num2 = (num - ListViewColumns.GetColumn(ColumnId.DeliveryTime).Width - ListViewColumns.GetColumn(ColumnId.MailIcon).Width - ListViewColumns.GetColumn(ColumnId.From).Width - ListViewColumns.GetColumn(ColumnId.Importance).Width - ListViewColumns.GetColumn(ColumnId.HasAttachment).Width - ListViewColumns.GetColumn(ColumnId.Categories).Width - ListViewColumns.GetColumn(ColumnId.FlagDueDate).Width - 18) / 4;

            num2 = Math.Max(num2, 0);
            List <StoreObjectId> localItemIds = ConversationUtilities.GetLocalItemIds(this.ConversationPartsDataSource.Conversation, dataFolder);

            ConversationUtilities.MarkLocalNodes(this.ConversationPartsDataSource.Conversation, localItemIds);
            while (this.DataSource.MoveNext())
            {
                this.RenderConversationPartRow(writer, contextFolder, dataFolder, lastDeliveryTime, num2);
            }
            writer.Write("</div>");
        }
Example #7
0
        // Token: 0x06002FDB RID: 12251 RVA: 0x00117464 File Offset: 0x00115664
        public static ExDateTime[] GetViewDays(UserContext userContext, ExDateTime[] days, CalendarViewType viewType, OwaStoreObjectId folderId, FolderViewStates viewStates)
        {
            ExDateTime exDateTime = (days == null || days.Length == 0) ? DateTimeUtilities.GetLocalTime().Date : days[0];

            switch (viewType)
            {
            case CalendarViewType.Min:
                if (days == null || days.Length == 0)
                {
                    int dailyViewDays = viewStates.DailyViewDays;
                    days = new ExDateTime[dailyViewDays];
                    for (int i = 0; i < dailyViewDays; i++)
                    {
                        days[i]    = exDateTime;
                        exDateTime = exDateTime.IncrementDays(1);
                    }
                }
                break;

            case CalendarViewType.Weekly:
                days = DateTimeUtilities.GetWeekFromDay(exDateTime, userContext.UserOptions.WeekStartDay, 0, false);
                break;

            case CalendarViewType.WorkWeek:
                days = DateTimeUtilities.GetWeekFromDay(exDateTime, userContext.UserOptions.WeekStartDay, CalendarUtilities.GetWorkDays(userContext, folderId), true);
                break;

            case CalendarViewType.Monthly:
                days = CalendarUtilities.GetViewDaysForMonthlyView(userContext, exDateTime);
                break;

            case CalendarViewType.WeeklyAgenda:
            case CalendarViewType.WorkWeeklyAgenda:
            {
                ExDateTime firstDay = CalendarUtilities.GetWeekDays(folderId, userContext, exDateTime, false)[0];
                int        workDays = CalendarUtilities.GetWorkDays(userContext, folderId);
                days = CalendarUtilities.GetViewDaysForWeeklyAgenda(workDays, firstDay, viewType == CalendarViewType.WorkWeeklyAgenda);
                break;
            }
            }
            return(days);
        }
        // Token: 0x060021E8 RID: 8680 RVA: 0x000C18B0 File Offset: 0x000BFAB0
        protected override void LoadViewState()
        {
            OwaStoreObjectId owaStoreObjectId = null;

            if (base.SerializedContainerId != null)
            {
                if (OwaStoreObjectId.IsDummyArchiveFolder(base.SerializedContainerId))
                {
                    owaStoreObjectId         = base.UserContext.GetArchiveRootFolderId();
                    this.archiveRootFolderId = owaStoreObjectId.ToString();
                }
                else
                {
                    owaStoreObjectId = OwaStoreObjectId.CreateFromString(base.SerializedContainerId);
                }
            }
            if (owaStoreObjectId == null)
            {
                base.AlgorithmTracer.TraceDebug((long)this.GetHashCode(), "folder Id is null, using default folder");
                owaStoreObjectId = OwaStoreObjectId.CreateFromMailboxFolderId(this.DefaultFolderId);
            }
            PropertyDefinition[] array = new PropertyDefinition[]
            {
                FolderSchema.DisplayName,
                FolderSchema.ItemCount,
                FolderSchema.UnreadCount,
                ViewStateProperties.ReadingPanePosition,
                ViewStateProperties.ViewWidth,
                ViewStateProperties.ViewHeight,
                ViewStateProperties.MultiLine,
                ViewStateProperties.SortColumn,
                ViewStateProperties.SortOrder,
                ViewStateProperties.ViewFilter,
                ViewStateProperties.FilteredViewLabel,
                FolderSchema.SearchFolderAllowAgeout,
                FolderSchema.IsOutlookSearchFolder,
                FolderSchema.AdminFolderFlags,
                FolderSchema.FolderQuota,
                FolderSchema.FolderSize,
                FolderSchema.ELCFolderComment,
                FolderSchema.ELCPolicyIds,
                FolderSchema.ExtendedFolderFlags,
                StoreObjectSchema.EffectiveRights,
                FolderSchema.OutlookSearchFolderClsId
            };
            this.folder = Utilities.GetFolderForContent <Folder>(base.UserContext, owaStoreObjectId, array);
            this.favoritesFilterParameter = Utilities.GetFavoritesFilterViewParameter(base.UserContext, this.Folder);
            if (this.folder is SearchFolder && this.favoritesFilterParameter != null && !this.favoritesFilterParameter.IsCurrentVersion)
            {
                this.favoritesFilterParameter.UpgradeFilter(this.folder as SearchFolder, array);
            }
            this.sortOrder           = this.DefaultSortOrder;
            this.sortedColumn        = this.DefaultSortedColumn;
            this.isMultiLine         = this.DefaultMultiLineSetting;
            this.readingPanePosition = this.DefaultReadingPanePosition;
            FolderViewStates folderViewStates = base.UserContext.GetFolderViewStates(this.folder);

            if (base.UserContext.IsWebPartRequest)
            {
                string          queryStringParameter = Utilities.GetQueryStringParameter(base.Request, "view", false);
                WebPartListView webPartListView      = WebPartUtilities.LookUpWebPartView(this.folder.Id.ObjectId.ObjectType, this.folder.ClassName, queryStringParameter);
                if (webPartListView != null)
                {
                    if (webPartListView.ColumnId != null)
                    {
                        this.sortedColumn = (ColumnId)webPartListView.ColumnId.Value;
                    }
                    if (webPartListView.SortOrder != null)
                    {
                        this.sortOrder = (SortOrder)webPartListView.SortOrder.Value;
                    }
                    if (webPartListView.IsMultiLine != null)
                    {
                        this.isMultiLine = webPartListView.IsMultiLine.Value;
                    }
                }
            }
            else
            {
                this.viewWidth   = folderViewStates.ViewWidth;
                this.viewHeight  = folderViewStates.ViewHeight;
                this.sortOrder   = folderViewStates.GetSortOrder(this.DefaultSortOrder);
                this.isMultiLine = folderViewStates.GetMultiLine(this.DefaultMultiLineSetting);
                string sortColumn = folderViewStates.GetSortColumn(null);
                if (sortColumn != null)
                {
                    ColumnId columnId = ColumnIdParser.Parse(sortColumn);
                    if (columnId < ColumnId.Count && (!this.isMultiLine || ListViewColumns.GetColumn(columnId).SortBoundaries != null))
                    {
                        this.sortedColumn = columnId;
                    }
                }
            }
            if (ConversationUtilities.IsConversationSortColumn(this.sortedColumn) && !ConversationUtilities.ShouldAllowConversationView(base.UserContext, this.Folder))
            {
                this.sortedColumn = ColumnId.DeliveryTime;
            }
            this.readingPanePosition = folderViewStates.GetReadingPanePosition(this.DefaultReadingPanePosition);
            this.LoadELCData();
        }