@jaricardodev/ews-javascript-api
Version:
EWS Managed api in JavaScript
47 lines (40 loc) • 1.76 kB
text/typescript
import { ExchangeService } from "../ExchangeService";
import { TimeZoneInfo } from "../../TimeZoneInfo";
import { ServiceResponse } from "./ServiceResponse";
import { XmlElementNames } from "../XmlElementNames";
import { EwsServiceJsonReader } from "../EwsServiceJsonReader";
import { TimeZoneDefinition } from "../../ComplexProperties/TimeZones/TimeZoneDefinition";
/**
* internal Represents the response to a GetServerTimeZones request.
*/
export class GetServerTimeZonesResponse extends ServiceResponse {
private timeZones: TimeZoneInfo[] = [];
/**
* Gets the time zones returned by the associated GetServerTimeZones request.
* @value The time zones.
*/
get TimeZones(): TimeZoneInfo[] {
return this.timeZones;
}
/**
* @internal Initializes a new instance of the **GetServerTimeZonesResponse** class.
*/
constructor() {
super();
}
/**
* @internal Reads response elements from Xml JsObject.
*
* @param {any} jsObject The response object.
* @param {ExchangeService} service The service.
*/
ReadElementsFromXmlJsObject(responseObject: any, service: ExchangeService): void {
if (responseObject[XmlElementNames.TimeZoneDefinitions]) {
for (let tzObject of EwsServiceJsonReader.ReadAsArray(responseObject[XmlElementNames.TimeZoneDefinitions], XmlElementNames.TimeZoneDefinition)) {
let timeZoneDefinition: TimeZoneDefinition = new TimeZoneDefinition();
timeZoneDefinition.LoadFromXmlJsObject(tzObject, service)
this.timeZones.push(timeZoneDefinition.ToTimeZoneInfo(service, true));
}
}
}
}