public static void SetIsResponseRequested(CalendarItemBase calendarItemBase, bool value) { bool flag = CalendarItemBaseData.GetIsResponseRequested(calendarItemBase); if (flag != value) { calendarItemBase.SetProperties(CalendarItemBaseData.isResponseRequestedPropertyDefinition, new object[] { value }); } }
public virtual EditCalendarItemHelper.CalendarItemUpdateFlags CopyTo(CalendarItemBase calendarItemBase) { if (calendarItemBase.Id != null && (this.id == null || this.id.CompareTo(calendarItemBase.Id.ObjectId) != 0)) { throw new OwaLostContextException("Lost changes since last save."); } EditCalendarItemHelper.CalendarItemUpdateFlags calendarItemUpdateFlags = EditCalendarItemHelper.CalendarItemUpdateFlags.None; if (EditCalendarItemHelper.BodyChanged(this.bodyText, calendarItemBase)) { if (!string.IsNullOrEmpty(this.bodyText)) { if (this.bodyFormat == BodyFormat.TextHtml) { ItemUtility.SetItemBody(calendarItemBase, BodyFormat.TextHtml, this.bodyText); calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } else { if (this.bodyFormat != BodyFormat.TextPlain) { throw new ArgumentOutOfRangeException("calendarItemBase", "Unhandled body format type : " + this.bodyFormat); } ItemUtility.SetItemBody(calendarItemBase, BodyFormat.TextPlain, this.bodyText); calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } } else { ItemUtility.SetItemBody(calendarItemBase, BodyFormat.TextPlain, string.Empty); calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } } if (this.freeBusyStatus != calendarItemBase.FreeBusyStatus) { calendarItemBase.FreeBusyStatus = this.freeBusyStatus; calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } if (calendarItemBase.Importance != this.importance) { calendarItemBase.Importance = this.importance; calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } if (calendarItemBase.IsAllDayEvent != this.isAllDayEvent) { calendarItemBase.IsAllDayEvent = this.isAllDayEvent; calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.TimeChanged; } if (calendarItemBase.IsMeeting != this.isMeeting) { calendarItemBase.IsMeeting = this.isMeeting; calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } if (CalendarItemBaseData.GetIsResponseRequested(calendarItemBase) != this.isResponseRequested) { CalendarItemBaseData.SetIsResponseRequested(calendarItemBase, this.isResponseRequested); calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } if (!CalendarUtilities.StringsEqualNullEmpty(calendarItemBase.Location, this.location, StringComparison.CurrentCulture)) { calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.LocationChanged; calendarItemBase.Location = ((this.location != null) ? this.location : string.Empty); } CalendarItemBaseData.SyncAttendeesToCalendarItem(this, calendarItemBase); if (calendarItemBase.AttendeesChanged) { calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.AttendeesChanged; } if (calendarItemBase.Sensitivity != this.sensitivity) { calendarItemBase.Sensitivity = this.sensitivity; calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } if (calendarItemBase.EndTime != this.endTime) { calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.TimeChanged; calendarItemBase.EndTime = this.endTime; } if (calendarItemBase.StartTime != this.startTime) { calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.TimeChanged; calendarItemBase.StartTime = this.startTime; } if (!CalendarUtilities.StringsEqualNullEmpty(calendarItemBase.Subject, this.subject, StringComparison.CurrentCulture)) { calendarItemBase.Subject = ((this.subject != null) ? this.subject : string.Empty); calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.OtherChanged; } return(calendarItemUpdateFlags); }
public virtual void SetFrom(CalendarItemBase calendarItemBase) { if (this.attachmentIds == null) { this.attachmentIds = new List <AttachmentId>(); } else { this.attachmentIds.Clear(); } if (this.attendees == null) { this.attendees = new List <AttendeeData>(); } else { this.attendees.Clear(); } if (calendarItemBase.AttachmentCollection != null) { foreach (AttachmentHandle handle in calendarItemBase.AttachmentCollection) { using (Attachment attachment = calendarItemBase.AttachmentCollection.Open(handle)) { if (attachment.Id == null) { throw new ArgumentNullException("attachment.Id"); } this.attachmentIds.Add(attachment.Id); } } } if (calendarItemBase.Body != null) { this.bodyText = ItemUtility.GetItemBody(calendarItemBase, BodyFormat.TextPlain); this.bodyFormat = BodyFormat.TextPlain; } this.calendarItemType = calendarItemBase.CalendarItemType; this.endTime = calendarItemBase.EndTime; this.freeBusyStatus = calendarItemBase.FreeBusyStatus; try { if (calendarItemBase.ParentId != null) { this.folderId = StoreObjectId.Deserialize(calendarItemBase.ParentId.GetBytes()); } else { this.folderId = null; } if (calendarItemBase.Id != null && calendarItemBase.Id.ObjectId != null) { this.id = StoreObjectId.Deserialize(calendarItemBase.Id.ObjectId.GetBytes()); } else { this.id = null; } } catch (ArgumentException) { throw new OwaInvalidRequestException("Invalid store object id"); } catch (FormatException) { throw new OwaInvalidRequestException("Invalid store object id"); } if (calendarItemBase.Id != null) { this.changeKey = calendarItemBase.Id.ChangeKeyAsBase64String(); } else { this.changeKey = null; } this.importance = calendarItemBase.Importance; this.isAllDayEvent = calendarItemBase.IsAllDayEvent; this.isMeeting = calendarItemBase.IsMeeting; this.isOrganizer = calendarItemBase.IsOrganizer(); this.isResponseRequested = CalendarItemBaseData.GetIsResponseRequested(calendarItemBase); this.location = calendarItemBase.Location; this.meetingRequestWasSent = calendarItemBase.MeetingRequestWasSent; this.organizer = AttendeeData.CloneParticipant(calendarItemBase.Organizer); if (calendarItemBase.ParentId != null) { this.parentId = StoreObjectId.FromProviderSpecificId(calendarItemBase.ParentId.ProviderLevelItemId); } if (calendarItemBase.AttendeeCollection != null) { foreach (Attendee attendee in calendarItemBase.AttendeeCollection) { this.attendees.Add(new AttendeeData(attendee)); } } this.sensitivity = calendarItemBase.Sensitivity; this.startTime = calendarItemBase.StartTime; this.subject = calendarItemBase.Subject; }