protected override void Adjust(ExDateTime actualizationTime)
 {
     if (Reminder.GetDefaultReminderNextTime(new ExDateTime?(this.Item.StartTime), this.MinutesBeforeStart) != null && this.IsItemStateValid)
     {
         this.Item.OccurrencePropertyBag.UpdateMasterRecurrence();
         this.Item.LocationIdentifierHelperInstance.SetLocationIdentifier(37493U);
         Reminder.Adjust(this.Master.Reminder, actualizationTime);
     }
 }
        internal static void SetCalendarTime(PropertyBag.BasicPropertyStore propertyBag, GuidIdPropertyDefinition utcTimeProperty, PropertyTagPropertyDefinition legacyUtcTimeProperty, GuidIdPropertyDefinition timeZoneDefinition, bool isEndTime, object value)
        {
            StoreObject      storeObject      = propertyBag.Context.StoreObject;
            CalendarItemBase calendarItemBase = storeObject as CalendarItemBase;

            if (calendarItemBase != null && calendarItemBase.PropertyBag.ExTimeZone != null && calendarItemBase.IsAllDayEventCache == null)
            {
                object obj = IsAllDayEventProperty.CalculateIsAllDayEvent(propertyBag);
                if (obj is bool)
                {
                    calendarItemBase.IsAllDayEventCache = new bool?((bool)obj);
                }
            }
            propertyBag.SetValueWithFixup(utcTimeProperty, value);
            propertyBag.SetValueWithFixup(legacyUtcTimeProperty, value);
            ExTimeZone timeZone = propertyBag.TimeZone;

            if (value is ExDateTime && ((ExDateTime)value).TimeZone != null && ((ExDateTime)value).TimeZone != ExTimeZone.UnspecifiedTimeZone)
            {
                timeZone = ((ExDateTime)value).TimeZone;
            }
            if (timeZone == ExTimeZone.UtcTimeZone)
            {
                if (!(storeObject is CalendarItemOccurrence))
                {
                    propertyBag.Delete(timeZoneDefinition);
                }
            }
            else if (value is ExDateTime && timeZone != ExTimeZone.UnspecifiedTimeZone)
            {
                if (timeZoneDefinition == InternalSchema.TimeZoneDefinitionStart)
                {
                    byte[] timeZoneBlob = O12TimeZoneFormatter.GetTimeZoneBlob(timeZone);
                    StartTimeZoneProperty.RecalculateNormalizedTimeProperty(propertyBag, InternalSchema.MapiEndTime, InternalSchema.MapiPREndDate, timeZone);
                    StartTimeZoneProperty.RecalculateNormalizedTimeProperty(propertyBag, InternalSchema.ReminderNextTime, null, timeZone);
                    StartTimeZoneProperty.SyncRecurringTimeZoneProperties(propertyBag, timeZone, timeZoneBlob);
                    propertyBag.SetValueWithFixup(timeZoneDefinition, timeZoneBlob);
                }
                else
                {
                    byte[] timeZoneBlob2 = O12TimeZoneFormatter.GetTimeZoneBlob(timeZone, (ExDateTime)value);
                    propertyBag.SetValueWithFixup(timeZoneDefinition, timeZoneBlob2);
                }
            }
            if (!isEndTime)
            {
                propertyBag.SetValueWithFixup(InternalSchema.ReminderDueByInternal, value);
            }
            if (storeObject != null)
            {
                Reminder.Adjust(storeObject);
            }
        }
        protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value)
        {
            CalendarItemBase calendarItemBase = propertyBag.Context.StoreObject as CalendarItemBase;

            if (calendarItemBase != null)
            {
                calendarItemBase.LocationIdentifierHelperInstance.SetLocationIdentifier(42869U, LastChangeAction.ModifyReminder);
            }
            propertyBag.SetValueWithFixup(InternalSchema.ReminderDueByInternal, value);
            if (ObjectClass.IsMessage(propertyBag.GetValue(InternalSchema.ItemClass) as string, false))
            {
                propertyBag.SetValueWithFixup(InternalSchema.ReplyTime, (ExDateTime)value);
            }
            Reminder.Adjust(propertyBag.Context.StoreObject);
        }
 protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value)
 {
     propertyBag.SetValueWithFixup(this.nativeProp, value);
     Reminder.Adjust(propertyBag.Context.StoreObject);
 }
Beispiel #5
0
 protected static void Adjust(Reminder reminder, ExDateTime actualizationTime)
 {
     reminder.Adjust(actualizationTime);
 }