Esempio n. 1
0
        public void ExpandItemParts()
        {
            ExTraceGlobals.MailCallTracer.TraceDebug((long)this.GetHashCode(), "ReadConversationEventHandler.ExpandItemParts");
            OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("CnvId");

            OwaStoreObjectId[]   array        = (OwaStoreObjectId[])base.GetParameter("IPId");
            Conversation         conversation = ConversationUtilities.LoadConversation(base.UserContext, owaStoreObjectId, ItemPartWriter.GetRequestedProperties());
            List <StoreObjectId> localItemIds = ConversationUtilities.GetLocalItemIds((MailboxSession)owaStoreObjectId.GetSession(base.UserContext), conversation, owaStoreObjectId.ParentFolderId);

            ConversationUtilities.MarkLocalNodes(conversation, localItemIds);
            conversation.OnBeforeItemLoad += ItemPartWriter.OnBeforeItemLoad;
            foreach (OwaStoreObjectId owaStoreObjectId2 in array)
            {
                this.SanitizingWriter.Write("<div id=\"");
                this.SanitizingWriter.Write(owaStoreObjectId2.ToString());
                this.SanitizingWriter.Write("\">");
                IConversationTreeNode conversationTreeNode;
                if (!conversation.ConversationTree.TryGetConversationTreeNode(owaStoreObjectId2.StoreObjectId, out conversationTreeNode))
                {
                    this.Writer.Write("<div id=divExp itemNotFound=1>&nbsp;</div>");
                }
                else
                {
                    MailboxSession session = (MailboxSession)owaStoreObjectId.GetSession(base.UserContext);
                    ConversationUtilities.SortPropertyBags(conversationTreeNode, localItemIds, session);
                    using (ItemPartWriter writer = ItemPartWriter.GetWriter(base.UserContext, this.Writer, owaStoreObjectId, conversation, conversationTreeNode))
                    {
                        writer.RenderExpandedItemPart(false, false, null);
                    }
                }
                this.SanitizingWriter.Write("</div>");
            }
        }
Esempio n. 2
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>");
        }