/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="propertyBag">The property bag.</param> /// <param name="isUpdateOperation">Indicates whether the context is an update operation.</param> internal override void WritePropertyValueToXml( EwsServiceXmlWriter writer, PropertyBag propertyBag, bool isUpdateOperation) { object value = propertyBag[this]; if (value != null) { if (writer.Service.RequestedServerVersion == ExchangeVersion.Exchange2007_SP1) { ExchangeService service = writer.Service as ExchangeService; if (service != null && service.Exchange2007CompatibilityMode == false) { MeetingTimeZone meetingTimeZone = new MeetingTimeZone((TimeZoneInfo)value); meetingTimeZone.WriteToXml(writer, XmlElementNames.MeetingTimeZone); } } else { base.WritePropertyValueToXml( writer, propertyBag, isUpdateOperation); } } }
/// <summary> /// Loads from XML. /// </summary> /// <param name="reader">The reader.</param> /// <param name="propertyBag">The property bag.</param> internal override sealed void LoadPropertyValueFromXml(EwsServiceXmlReader reader, PropertyBag propertyBag) { MeetingTimeZone meetingTimeZone = new MeetingTimeZone(); meetingTimeZone.LoadFromXml(reader, this.XmlElementName); propertyBag[AppointmentSchema.StartTimeZone] = meetingTimeZone.ToTimeZoneInfo(); }
/// <summary> /// Loads from XML. /// </summary> /// <param name="reader">The reader.</param> /// <param name="propertyBag">The property bag.</param> internal override sealed void LoadPropertyValueFromXml(EwsServiceXmlReader reader, PropertyBag propertyBag) { MeetingTimeZone meetingTimeZone = new MeetingTimeZone(); meetingTimeZone.LoadFromXml(reader, this.XmlElementName); propertyBag[AppointmentSchema.StartTimeZone] = meetingTimeZone.ToTimeZoneInfo(); }
/// <summary> /// Writes the json value. /// </summary> /// <param name="jsonObject">The json object.</param> /// <param name="propertyBag">The property bag.</param> /// <param name="service">The service.</param> /// <param name="isUpdateOperation">if set to <c>true</c> [is update operation].</param> internal override void WriteJsonValue(JsonObject jsonObject, PropertyBag propertyBag, ExchangeService service, bool isUpdateOperation) { MeetingTimeZone value = propertyBag[this] as MeetingTimeZone; if (value != null) { jsonObject.Add(this.XmlElementName, value.InternalToJson(service)); } }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="propertyBag">The property bag.</param> /// <param name="isUpdateOperation">Indicates whether the context is an update operation.</param> internal override void WritePropertyValueToXml( EwsServiceXmlWriter writer, PropertyBag propertyBag, bool isUpdateOperation) { MeetingTimeZone value = (MeetingTimeZone)propertyBag[this]; if (value != null) { value.WriteToXml(writer, this.XmlElementName); } }
/// <summary> /// Loads the property value from json. /// </summary> /// <param name="value">The JSON value. Can be a JsonObject, string, number, bool, array, or null.</param> /// <param name="service">The service.</param> /// <param name="propertyBag">The property bag.</param> internal override void LoadPropertyValueFromJson(object value, ExchangeService service, PropertyBag propertyBag) { JsonObject jsonObject = value as JsonObject; if (jsonObject != null) { MeetingTimeZone meetingTimeZone = new MeetingTimeZone(); meetingTimeZone.LoadFromJson(jsonObject, service); propertyBag[AppointmentSchema.StartTimeZone] = meetingTimeZone.ToTimeZoneInfo(); } }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="propertyBag">The property bag.</param> /// <param name="isUpdateOperation">Indicates whether the context is an update operation.</param> internal override void WritePropertyValueToXml( EwsServiceXmlWriter writer, PropertyBag propertyBag, bool isUpdateOperation) { object value = propertyBag[this]; if (value != null) { if (writer.Service.RequestedServerVersion == ExchangeVersion.Exchange2007_SP1) { ExchangeService service = writer.Service as ExchangeService; if (service != null && service.Exchange2007CompatibilityMode == false) { MeetingTimeZone meetingTimeZone = new MeetingTimeZone((TimeZoneInfo)value); meetingTimeZone.WriteToXml(writer, XmlElementNames.MeetingTimeZone); } } else { base.WritePropertyValueToXml( writer, propertyBag, isUpdateOperation); } } }