private bool IsOrganizerValid(MailboxSession organizerSession, CalendarInstanceContext instanceContext) { bool isOrganizer = false; CalendarVersionStoreGateway cvsGateway = instanceContext.ValidationContext.CvsGateway; cvsGateway.QueryByGlobalObjectId(organizerSession, instanceContext.ValidationContext.BaseItem.GlobalObjectId, string.Empty, new StorePropertyDefinition[] { StoreObjectSchema.ItemClass, CalendarItemBaseSchema.AppointmentState }, delegate(PropertyBag propertyBag) { string valueOrDefault = propertyBag.GetValueOrDefault <string>(StoreObjectSchema.ItemClass); if (ObjectClass.IsCalendarItemCalendarItemOccurrenceOrRecurrenceException(valueOrDefault)) { AppointmentStateFlags valueOrDefault2 = propertyBag.GetValueOrDefault <AppointmentStateFlags>(CalendarItemBaseSchema.AppointmentState); isOrganizer = ((valueOrDefault2 & AppointmentStateFlags.Received) == AppointmentStateFlags.None); if (!isOrganizer) { return(false); } } return(true); }, false, null, null, null); return(isOrganizer); }
private static bool PairWithCancellation(CalendarVersionStoreGateway cvsGateway, CalendarItemBase deletedVersion, MailboxSession session) { bool pairedWithCancellation = false; int deletedItemSequenceNumber = deletedVersion.AppointmentSequenceNumber; cvsGateway.QueryByGlobalObjectId(session, deletedVersion.GlobalObjectId, "{B7DF6DD0-6F29-42b4-A1AE-44A0733782AA}", MeetingInquiryMessage.cancellationQueryProperties, delegate(PropertyBag propertyBag) { int valueOrDefault = propertyBag.GetValueOrDefault <int>(CalendarItemBaseSchema.AppointmentSequenceNumber); if (valueOrDefault >= deletedItemSequenceNumber) { pairedWithCancellation = true; } return(false); }, true, MeetingInquiryMessage.cancellationClassArray, null, null); return(pairedWithCancellation); }