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> </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>"); } }
// 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>"); }