private bool SetBodySummary(IConversationTree conversationTree, ref IStorePropertyBag propertyBag, object summary, StoreObjectId storeId)
        {
            bool result = false;
            QueryResultPropertyBag queryResultPropertyBag = new QueryResultPropertyBag(propertyBag, ConversationDataExtractor.BodyPropertiesCanBeExtracted, new object[]
            {
                summary,
                summary
            });

            propertyBag = queryResultPropertyBag.AsIStorePropertyBag();
            IConversationTreeNode conversationTreeNode = null;

            conversationTree.TryGetConversationTreeNode(storeId, out conversationTreeNode);
            foreach (StoreObjectId storeObjectId in conversationTreeNode.ToListStoreObjectId())
            {
                if (storeObjectId.Equals(storeId))
                {
                    LoadedItemPart loadedItemPart;
                    if (this.loadedItemParts.TryGetValue(storeObjectId, out loadedItemPart))
                    {
                        loadedItemPart.AddBodySummary(summary);
                        result = true;
                    }
                    conversationTreeNode.UpdatePropertyBag(storeObjectId, propertyBag);
                }
            }
            return(result);
        }
예제 #2
0
        internal void AddBodySummary(object bodySummary)
        {
            QueryResultPropertyBag queryResultPropertyBag = new QueryResultPropertyBag(base.StorePropertyBag, new NativeStorePropertyDefinition[]
            {
                InternalSchema.TextBody,
                InternalSchema.Preview
            }, new object[]
            {
                bodySummary,
                bodySummary
            });

            base.StorePropertyBag = queryResultPropertyBag.AsIStorePropertyBag();
        }