UNPKG

@jaricardodev/ews-javascript-api

Version:
47 lines (40 loc) 1.76 kB
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)); } } } }