protected sealed override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value) { ConversationId conversationId = value as ConversationId; if (conversationId == null) { throw new ArgumentException("value", "Must be a non-null ConversationId instance"); } ConversationIndex conversationIndex; if (!ConversationIndex.TryCreate(propertyBag.GetValueOrDefault <byte[]>(InternalSchema.ConversationIndex), out conversationIndex)) { conversationIndex = ConversationIndex.Create(conversationId); } else { conversationIndex = conversationIndex.UpdateGuid(new Guid(conversationId.GetBytes())); } byte[] array = conversationIndex.ToByteArray(); string valueOrDefault = propertyBag.GetValueOrDefault <string>(InternalSchema.ItemClass); if (valueOrDefault != null && ObjectClass.IsOfClass(valueOrDefault, "IPM.ConversationAction")) { array[0] = 1; array[1] = (array[2] = (array[3] = (array[4] = (array[5] = 0)))); } propertyBag.SetValueWithFixup(InternalSchema.ConversationIndex, array); }
protected sealed override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value) { if (value == null) { propertyBag.Delete(InternalSchema.MapiConversationFamilyId); return; } ConversationId conversationId = value as ConversationId; if (conversationId == null) { throw new ArgumentException("value", "Must be null or ConversationId"); } propertyBag.SetOrDeleteProperty(InternalSchema.MapiConversationFamilyId, conversationId.GetBytes()); }
public static ConversationIndex Create(ConversationId conversationId) { Util.ThrowOnNullArgument(conversationId, "conversationId"); return(ConversationIndex.Create(new Guid(conversationId.GetBytes()))); }
public ConversationIndex UpdateGuid(ConversationId conversationId) { return(this.UpdateGuid(conversationId.GetBytes())); }
internal static QueryFilter ConversationIdBasedSmartFilterToNativeFilter(this SmartPropertyDefinition conversationIdSmartPropertyDefinition, SinglePropertyFilter filter, PropertyDefinition conversationIdNativePropertyDefinition) { ComparisonFilter comparisonFilter = filter as ComparisonFilter; if (comparisonFilter != null) { ConversationId conversationId = (ConversationId)comparisonFilter.PropertyValue; return(new ComparisonFilter(comparisonFilter.ComparisonOperator, conversationIdNativePropertyDefinition, conversationId.GetBytes())); } ExistsFilter existsFilter = filter as ExistsFilter; if (existsFilter != null) { return(new ExistsFilter(conversationIdNativePropertyDefinition)); } throw conversationIdSmartPropertyDefinition.CreateInvalidFilterConversionException(filter); }