private static DelegatedStoragePropertyAccessor <ICalendarItem, bool> CreateSeriesMasterDataPropagationOperationAccessor(PropertyChangeMetadataProcessingFlags propertyChangeMetadataProcessingFlag, uint lid) { return(new DelegatedStoragePropertyAccessor <ICalendarItem, bool>(delegate(ICalendarItem container, out bool value) { PropertyChangeMetadataProcessingFlags valueOrDefault = container.GetValueOrDefault <PropertyChangeMetadataProcessingFlags>(CalendarItemSchema.PropertyChangeMetadataProcessingFlags, PropertyChangeMetadataProcessingFlags.None); value = ((valueOrDefault & propertyChangeMetadataProcessingFlag) == propertyChangeMetadataProcessingFlag); return true; }, delegate(ICalendarItem container, bool value) { PropertyChangeMetadataProcessingFlags propertyChangeMetadataProcessingFlags = container.GetValueOrDefault <PropertyChangeMetadataProcessingFlags>(CalendarItemSchema.PropertyChangeMetadataProcessingFlags, PropertyChangeMetadataProcessingFlags.None); if (value) { propertyChangeMetadataProcessingFlags |= propertyChangeMetadataProcessingFlag; } else { propertyChangeMetadataProcessingFlags &= ~propertyChangeMetadataProcessingFlag; } LocationIdentifierHelper locationIdentifierHelperInstance = container.LocationIdentifierHelperInstance; if (locationIdentifierHelperInstance != null) { locationIdentifierHelperInstance.SetLocationIdentifier(lid); } container[CalendarItemSchema.PropertyChangeMetadataProcessingFlags] = propertyChangeMetadataProcessingFlags; }, null, null, new PropertyDefinition[0])); }
protected override void PerformSet(TStoreObject container, TValue value) { LocationIdentifierHelper locationIdentifierHelperInstance = container.LocationIdentifierHelperInstance; if (locationIdentifierHelperInstance != null) { locationIdentifierHelperInstance.SetLocationIdentifier(this.locationIdentifier); } base.PerformSet(container, value); }