Exemplo n.º 1
0
        protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value)
        {
            AppointmentStateFlags?valueAsNullable       = propertyBag.GetValueAsNullable <AppointmentStateFlags>(InternalSchema.AppointmentStateInternal);
            AppointmentStateFlags appointmentStateFlags = (AppointmentStateFlags)value;

            if (valueAsNullable != null && (valueAsNullable.Value & AppointmentStateFlags.Received) == AppointmentStateFlags.Received && (appointmentStateFlags & AppointmentStateFlags.Received) != AppointmentStateFlags.Received)
            {
                propertyBag.SetLocationIdentifier(63651U, LastChangeAction.SmartPropertyFixup);
                ExTraceGlobals.StorageTracer.TraceInformation(63651, (long)propertyBag.GetHashCode(), "Prevent from removing Received flag on AppointmentState");
                appointmentStateFlags |= AppointmentStateFlags.Received;
            }
            propertyBag.SetValueWithFixup(InternalSchema.AppointmentStateInternal, appointmentStateFlags);
        }