protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value) { PersonId personId = value as PersonId; if (personId == null) { throw new ArgumentException("value"); } byte[] array = new byte[22]; array[0] = 1; Array.Copy(personId.GetBytes(), 0, array, 6, 16); propertyBag.SetValue(InternalSchema.ConversationIndex, array); propertyBag.SetValue(InternalSchema.ConversationIndexTracking, true); }
internal override QueryFilter SmartFilterToNativeFilter(SinglePropertyFilter filter) { ComparisonFilter comparisonFilter = filter as ComparisonFilter; if (comparisonFilter == null || !comparisonFilter.Property.Equals(this)) { throw base.CreateInvalidFilterConversionException(filter); } PersonId personId = (PersonId)comparisonFilter.PropertyValue; return(new ComparisonFilter(comparisonFilter.ComparisonOperator, InternalSchema.MapiConversationId, personId.GetBytes())); }