UNPKG

@jaricardodev/ews-javascript-api

Version:
53 lines (51 loc) 2.28 kB
import {CalendarEventDetails} from "./CalendarEventDetails"; import {LegacyFreeBusyStatus} from "../../Enumerations/LegacyFreeBusyStatus"; import {DateTime} from "../../DateTime"; import {XmlElementNames} from "../../Core/XmlElementNames"; import {ExchangeService} from "../../Core/ExchangeService"; import {EwsUtilities} from "../../Core/EwsUtilities"; import {ComplexProperty} from "../ComplexProperty"; export class CalendarEvent extends ComplexProperty { private startTime: DateTime = null; private endTime: DateTime = null; private freeBusyStatus: LegacyFreeBusyStatus = 0; private details: CalendarEventDetails = null; get StartTime(): DateTime { return this.startTime; } get EndTime(): DateTime { return this.endTime; } get FreeBusyStatus(): LegacyFreeBusyStatus { return this.freeBusyStatus; } get Details(): CalendarEventDetails { return this.details; } LoadFromJson(jsonProperty: any, service: ExchangeService): any { throw new Error("CalendarEvent.ts - LoadFromJson : Not implemented."); } LoadFromXmlJsObject(jsonProperty: any, service: ExchangeService): void { for (var key in jsonProperty) { switch (key) { case XmlElementNames.StartTime: this.startTime = EwsUtilities.ParseAsUnbiasedDatetimescopedToServicetimeZone( jsonProperty[key], service); break; case XmlElementNames.EndTime: this.endTime = EwsUtilities.ParseAsUnbiasedDatetimescopedToServicetimeZone( jsonProperty[key], service); break; case XmlElementNames.BusyType: this.freeBusyStatus = <LegacyFreeBusyStatus><any>LegacyFreeBusyStatus[jsonProperty[key]]; break; case XmlElementNames.CalendarEventDetails: this.details = new CalendarEventDetails(); this.details.LoadFromXmlJsObject(jsonProperty[key], service); break; default: break; } } } }