/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="request">The request being emitted.</param> internal void WriteToXml(EwsServiceXmlWriter writer, GetUserAvailabilityRequest request) { if (request.IsFreeBusyViewRequested) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.FreeBusyViewOptions); request.TimeWindow.WriteToXmlUnscopedDatesOnly(writer, XmlElementNames.TimeWindow); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MergedFreeBusyIntervalInMinutes, this.MergedFreeBusyInterval); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.RequestedView, this.RequestedFreeBusyView); writer.WriteEndElement(); // FreeBusyViewOptions } if (request.IsSuggestionsViewRequested) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.SuggestionsViewOptions); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.GoodThreshold, this.GoodSuggestionThreshold); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MaximumResultsByDay, this.MaximumSuggestionsPerDay); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MaximumNonWorkHourResultsByDay, this.MaximumNonWorkHoursSuggestionsPerDay); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MeetingDurationInMinutes, this.MeetingDuration); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MinimumSuggestionQuality, this.MinimumSuggestionQuality); TimeWindow timeWindowToSerialize = this.DetailedSuggestionsWindow == null ? request.TimeWindow : this.DetailedSuggestionsWindow; timeWindowToSerialize.WriteToXmlUnscopedDatesOnly(writer, XmlElementNames.DetailedSuggestionsWindow); if (this.CurrentMeetingTime.HasValue) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.CurrentMeetingTime, this.CurrentMeetingTime.Value); } writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.GlobalObjectId, this.GlobalObjectId); writer.WriteEndElement(); // SuggestionsViewOptions } }
/// <summary> /// Writes to XML. /// </summary> /// <param name="writer">The writer.</param> /// <param name="request">The request being emitted.</param> internal void WriteToXml(EwsServiceXmlWriter writer, GetUserAvailabilityRequest request) { if (request.IsFreeBusyViewRequested) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.FreeBusyViewOptions); request.TimeWindow.WriteToXmlUnscopedDatesOnly(writer, XmlElementNames.TimeWindow); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MergedFreeBusyIntervalInMinutes, this.MergedFreeBusyInterval); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.RequestedView, this.RequestedFreeBusyView); writer.WriteEndElement(); // FreeBusyViewOptions } if (request.IsSuggestionsViewRequested) { writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.SuggestionsViewOptions); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.GoodThreshold, this.GoodSuggestionThreshold); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MaximumResultsByDay, this.MaximumSuggestionsPerDay); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MaximumNonWorkHourResultsByDay, this.MaximumNonWorkHoursSuggestionsPerDay); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MeetingDurationInMinutes, this.MeetingDuration); writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.MinimumSuggestionQuality, this.MinimumSuggestionQuality); TimeWindow timeWindowToSerialize = this.DetailedSuggestionsWindow == null ? request.TimeWindow : this.DetailedSuggestionsWindow; timeWindowToSerialize.WriteToXmlUnscopedDatesOnly(writer, XmlElementNames.DetailedSuggestionsWindow); if (this.CurrentMeetingTime.HasValue) { writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.CurrentMeetingTime, this.CurrentMeetingTime.Value); } writer.WriteElementValue( XmlNamespace.Types, XmlElementNames.GlobalObjectId, this.GlobalObjectId); writer.WriteEndElement(); // SuggestionsViewOptions } }