コード例 #1
0
 // Token: 0x060014A9 RID: 5289 RVA: 0x00077AE0 File Offset: 0x00075CE0
 private static void SetFlag(Item mailboxItem, FlagData flagData)
 {
     if (flagData.Type == null && !(mailboxItem is MeetingMessage))
     {
         throw new ConversionException("Missing required data from the client for non-MeetingMessage item: Type!");
     }
     if ((flagData.StartDate != null || flagData.UtcStartDate != null || flagData.DueDate != null || flagData.UtcDueDate != null) && (flagData.StartDate == null || flagData.UtcStartDate == null || flagData.DueDate == null || flagData.UtcDueDate == null))
     {
         throw new ConversionException(string.Format(CultureInfo.InvariantCulture, "Incorrect all or nothing datetime properties: StartDate={0}, UtcStartDate={1}, DueDate={2}, UtcDueDate={3}", new object[]
         {
             flagData.StartDate,
             flagData.UtcStartDate,
             flagData.DueDate,
             flagData.UtcDueDate
         }));
     }
     if (flagData.StartDate != null && (flagData.StartDate.Value > flagData.DueDate.Value || flagData.UtcStartDate.Value > flagData.UtcDueDate.Value))
     {
         throw new ConversionException(string.Format(CultureInfo.InvariantCulture, "Start date cannot be later than due date: StartDate={0}, UtcStartDate={1}, DueDate={2}, UtcDueDate={3}", new object[]
         {
             flagData.StartDate,
             flagData.UtcStartDate,
             flagData.DueDate,
             flagData.UtcDueDate
         }));
     }
     if (flagData.ReminderSet != null && flagData.ReminderSet.Value && flagData.ReminderTime == null)
     {
         throw new ConversionException("Missing ReminderTime while ReminderSet is true.");
     }
     if (flagData.ReminderSet == null)
     {
         flagData.ReminderSet = new bool?(false);
     }
     if (!flagData.ReminderSet.Value)
     {
         XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, MessageItemSchema.ReplyTime, null);
     }
     else
     {
         XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, MessageItemSchema.ReplyTime, flagData.ReminderTime);
     }
     if (mailboxItem.Reminder != null)
     {
         mailboxItem.Reminder.IsSet = flagData.ReminderSet.Value;
     }
     if (flagData.ReminderTime != null && mailboxItem.Reminder != null && !flagData.ReminderTime.Equals(mailboxItem.Reminder.DueBy))
     {
         mailboxItem.Reminder.DueBy = flagData.ReminderTime;
     }
     XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, MessageItemSchema.ToDoOrdinalDate, flagData.OrdinalDate);
     XsoFlagProperty.SetOrDeleteProperty <string>(mailboxItem, MessageItemSchema.ToDoSubOrdinal, flagData.SubOrdinalDate);
     mailboxItem.SetFlagForUtcSession(flagData.Type, flagData.StartDate, flagData.UtcStartDate, flagData.DueDate, flagData.UtcDueDate);
     XsoFlagProperty.SetOrDeleteProperty <string>(mailboxItem, ItemSchema.FlagSubject, flagData.Subject);
 }
コード例 #2
0
 // Token: 0x060014AA RID: 5290 RVA: 0x00077E04 File Offset: 0x00076004
 private static void CompleteFlag(Item mailboxItem, FlagData flagData)
 {
     if (flagData.CompleteTime == null)
     {
         throw new ConversionException(string.Format(CultureInfo.InvariantCulture, "Missing required data from the client: CompleteTime={0}", new object[]
         {
             flagData.CompleteTime
         }));
     }
     if ((flagData.StartDate != null && flagData.DueDate != null && flagData.StartDate.Value > flagData.DueDate.Value) || (flagData.UtcStartDate != null && flagData.UtcDueDate != null && flagData.UtcStartDate.Value > flagData.UtcDueDate.Value))
     {
         throw new ConversionException(string.Format(CultureInfo.InvariantCulture, "Start date cannot be later than due date: StartDate={0}, UtcStartDate={1}, DueDate={2}, UtcDueDate={3}", new object[]
         {
             flagData.StartDate,
             flagData.UtcStartDate,
             flagData.DueDate,
             flagData.UtcDueDate
         }));
     }
     if (mailboxItem.Reminder != null)
     {
         mailboxItem.Reminder.IsSet = false;
     }
     XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, MessageItemSchema.ReplyTime, flagData.ReminderTime);
     XsoFlagProperty.SetOrDeleteProperty <string>(mailboxItem, ItemSchema.FlagSubject, flagData.Subject);
     if (!(mailboxItem is MeetingMessage))
     {
         XsoFlagProperty.SetOrDeleteProperty <string>(mailboxItem, ItemSchema.FlagRequest, flagData.Type);
     }
     XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, ItemSchema.LocalStartDate, flagData.StartDate);
     XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, ItemSchema.LocalDueDate, flagData.DueDate);
     XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, ItemSchema.UtcStartDate, flagData.UtcStartDate);
     XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, ItemSchema.UtcDueDate, flagData.UtcDueDate);
     XsoFlagProperty.SetOrDeleteValueProperty <ExDateTime>(mailboxItem, MessageItemSchema.ToDoOrdinalDate, flagData.OrdinalDate);
     XsoFlagProperty.SetOrDeleteProperty <string>(mailboxItem, MessageItemSchema.ToDoSubOrdinal, flagData.SubOrdinalDate);
     mailboxItem.CompleteFlagForUtcSession(flagData.DateCompleted, flagData.CompleteTime.Value);
 }