internal static bool GetForCalendarItem(string messageClass, AppointmentStateFlags flags) { if (!ObjectClass.IsCalendarItemCalendarItemOccurrenceOrRecurrenceException(messageClass) && !ObjectClass.IsCalendarItemSeries(messageClass)) { throw new ArgumentException(string.Format("[IsOrganizerProperty.GetForCalendarItem] Message class MUST be a calendar item occurrence or recurrence exception in order to call this method. ItemClass: {0}", messageClass)); } return((flags & AppointmentStateFlags.Received) == AppointmentStateFlags.None); }
protected override object InternalTryGetValue(PropertyBag.BasicPropertyStore propertyBag) { bool? flag = null; string valueOrDefault = propertyBag.GetValueOrDefault <string>(InternalSchema.ItemClass, string.Empty); if (ObjectClass.IsCalendarItemCalendarItemOccurrenceOrRecurrenceException(valueOrDefault) || ObjectClass.IsCalendarItemSeries(valueOrDefault)) { AppointmentStateFlags valueOrDefault2 = propertyBag.GetValueOrDefault <AppointmentStateFlags>(InternalSchema.AppointmentStateInternal); flag = new bool?(IsOrganizerProperty.GetForCalendarItem(valueOrDefault, valueOrDefault2)); } else if (ObjectClass.IsMeetingMessage(valueOrDefault)) { MeetingMessage meetingMessage = propertyBag.Context.StoreObject as MeetingMessage; if (meetingMessage != null) { CalendarItemBase calendarItemBase = null; try { calendarItemBase = meetingMessage.GetCorrelatedItemInternal(true); } catch (CorruptDataException) { } catch (CorrelationFailedException) { } if (calendarItemBase != null) { flag = new bool?(calendarItemBase.IsOrganizer()); } else if (!(meetingMessage is MeetingResponse)) { flag = new bool?(meetingMessage.IsMailboxOwnerTheSender()); } } } if (flag != null) { return(flag); } return(new PropertyError(this, PropertyErrorCode.NotFound)); }
public static StoreObjectType GetObjectType(string itemClass) { if (ObjectClass.IsOfClass(itemClass, "IPM.Note.Rules.OofTemplate.Microsoft", false)) { return(StoreObjectType.OofMessage); } if (ObjectClass.IsOfClass(itemClass, "IPM.Note.Rules.ExternalOofTemplate.Microsoft", false)) { return(StoreObjectType.ExternalOofMessage); } if (ObjectClass.IsOfClass(itemClass, "IPM.Note.Reminder")) { return(StoreObjectType.ReminderMessage); } if (ObjectClass.IsOfClass(itemClass, "IPM.Note")) { return(StoreObjectType.Message); } if (ObjectClass.IsOfClass(itemClass, "IPM.Post")) { return(StoreObjectType.Post); } if (ObjectClass.IsReport(itemClass)) { return(StoreObjectType.Report); } if (ObjectClass.IsCalendarItem(itemClass)) { return(StoreObjectType.CalendarItem); } if (ObjectClass.IsCalendarItemSeries(itemClass)) { return(StoreObjectType.CalendarItemSeries); } if (ObjectClass.IsMeetingRequestSeries(itemClass)) { return(StoreObjectType.MeetingRequestSeries); } if (ObjectClass.IsMeetingRequest(itemClass)) { return(StoreObjectType.MeetingRequest); } if (ObjectClass.IsOfClass(itemClass, "IPM.MeetingMessageSeries.Resp")) { return(StoreObjectType.MeetingResponseSeries); } if (ObjectClass.IsOfClass(itemClass, "IPM.Schedule.Meeting.Resp")) { return(StoreObjectType.MeetingResponse); } if (ObjectClass.IsMeetingCancellationSeries(itemClass)) { return(StoreObjectType.MeetingCancellationSeries); } if (ObjectClass.IsMeetingCancellation(itemClass)) { return(StoreObjectType.MeetingCancellation); } if (ObjectClass.IsOfClass(itemClass, "IPM.Schedule.Meeting.Notification.Forward")) { return(StoreObjectType.MeetingForwardNotification); } if (ObjectClass.IsOfClass(itemClass, "IPM.MeetingMessageSeries.Notification.Forward")) { return(StoreObjectType.MeetingForwardNotificationSeries); } if (ObjectClass.IsOfClass(itemClass, "IPM.Notification.Meeting")) { return(StoreObjectType.MeetingForwardNotification); } if (ObjectClass.IsOfClass(itemClass, "IPM.Schedule.Inquiry")) { return(StoreObjectType.MeetingInquiryMessage); } if (ObjectClass.IsOfClass(itemClass, "IPM.Contact.Place")) { return(StoreObjectType.Place); } if (ObjectClass.IsOfClass(itemClass, "IPM.Contact")) { return(StoreObjectType.Contact); } if (ObjectClass.IsOfClass(itemClass, "IPM.UserPhoto.Preview")) { return(StoreObjectType.UserPhotoPreview); } if (ObjectClass.IsOfClass(itemClass, "IPM.UserPhoto")) { return(StoreObjectType.UserPhoto); } if (ObjectClass.IsOfClass(itemClass, "IPM.DistList")) { return(StoreObjectType.DistributionList); } if (ObjectClass.IsOfClass(itemClass, "IPM.Task")) { return(StoreObjectType.Task); } if (ObjectClass.IsOfClass(itemClass, "IPM.TaskRequest")) { return(StoreObjectType.TaskRequest); } if (ObjectClass.IsOfClass(itemClass, "IPM.ConversationAction")) { return(StoreObjectType.ConversationActionItem); } if (ObjectClass.IsOfClass(itemClass, "IPM.Note.rpmsg.Microsoft.Voicemail.UM.CA")) { return(StoreObjectType.Message); } if (ObjectClass.IsOfClass(itemClass, "IPM.Note.rpmsg.Microsoft.Voicemail.UM")) { return(StoreObjectType.Message); } if (ObjectClass.IsOfClass(itemClass, "IPM.Sharing", false)) { return(StoreObjectType.SharingMessage); } if (ObjectClass.IsOfClass(itemClass, "IPM.GroupMailbox.JoinRequest")) { return(StoreObjectType.GroupMailboxRequestMessage); } if (ObjectClass.IsOfClass(itemClass, "IPM.MailboxAssociation.Group")) { return(StoreObjectType.MailboxAssociationGroup); } if (ObjectClass.IsOfClass(itemClass, "IPM.MailboxAssociation.User")) { return(StoreObjectType.MailboxAssociationUser); } if (ObjectClass.IsOfClass(itemClass, "IPM.HierarchySync.Metadata")) { return(StoreObjectType.HierarchySyncMetadata); } if (ObjectClass.IsSubscriptionDataItem(itemClass)) { return(StoreObjectType.PushNotificationSubscription); } if (ObjectClass.IsOutlookServiceSubscriptionDataItem(itemClass)) { return(StoreObjectType.OutlookServiceSubscription); } if (ObjectClass.IsConfigurationItem(itemClass)) { return(StoreObjectType.Configuration); } if (ObjectClass.IsParkedMeetingMessage(itemClass)) { return(StoreObjectType.ParkedMeetingMessage); } if (ObjectClass.IsGenericMessage(itemClass)) { return(StoreObjectType.Message); } if (ObjectClass.IsCalendarFolder(itemClass)) { return(StoreObjectType.CalendarFolder); } if (ObjectClass.IsContactsFolder(itemClass)) { return(StoreObjectType.ContactsFolder); } if (ObjectClass.IsTaskFolder(itemClass)) { return(StoreObjectType.TasksFolder); } if (ObjectClass.IsNotesFolder(itemClass)) { return(StoreObjectType.NotesFolder); } if (ObjectClass.IsJournalFolder(itemClass)) { return(StoreObjectType.JournalFolder); } if (ObjectClass.IsShortcutFolder(itemClass)) { return(StoreObjectType.ShortcutFolder); } if (ObjectClass.IsGenericFolder(itemClass)) { return(StoreObjectType.Folder); } return(StoreObjectType.Unknown); }