ews javascript api

__extends

declaration
 __extends 

var __extends = this.__extends || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    __.prototype = b.prototype;
    d.prototype = new __();
};
var CalendarEvent_1 = require("../../ComplexProperties/Availability/CalendarEvent");
var WorkingHours_1 = require("../../ComplexProperties/Availability/WorkingHours");
var FreeBusyViewType_1 = require("../../Enumerations/FreeBusyViewType");
var XmlElementNames_1 = require("../XmlElementNames");
var ServiceResponse_1 = require("./ServiceResponse");
var AttendeeAvailability = (function (_super) {
    __extends(AttendeeAvailability, _super);
    function AttendeeAvailability() {
        _super.apply(this, arguments);
        this.calendarEvents = [];
        this.mergedFreeBusyStatus = [];
        this.viewType = FreeBusyViewType_1.FreeBusyViewType.None;
        this.workingHours = null;
    }
    Object.defineProperty(AttendeeAvailability.prototype, "CalendarEvents", {
        get: function () { return this.calendarEvents; },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AttendeeAvailability.prototype, "ViewType", {
        get: function () { return this.viewType; },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AttendeeAvailability.prototype, "MergedFreeBusyStatus", {
        get: function () { return this.mergedFreeBusyStatus; },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AttendeeAvailability.prototype, "WorkingHours", {
        get: function () { return this.workingHours; },
        enumerable: true,
        configurable: true
    });
    AttendeeAvailability.prototype.LoadFreeBusyViewFromXmlJsObject = function (jsObject, viewType, service) {
        var viewTypeString = jsObject[XmlElementNames_1.XmlElementNames.FreeBusyViewType];
        this.viewType = FreeBusyViewType_1.FreeBusyViewType[viewTypeString];
        for (var key in jsObject) {
            switch (key) {
                case XmlElementNames_1.XmlElementNames.MergedFreeBusy:
                    var mergedFreeBusy = jsObject[key];
                    for (var _i = 0, _a = mergedFreeBusy.split(''); _i < _a.length; _i++) {
                        var status = _a[_i];
                        this.mergedFreeBusyStatus.push(Number(status));
                    }
                    break;
                case XmlElementNames_1.XmlElementNames.CalendarEventArray:
                    var calendarEventArray = jsObject[key];
                    var calendarEvents = calendarEventArray[XmlElementNames_1.XmlElementNames.CalendarEvent];
                    if (!Array.isArray(calendarEvents)) {
                        calendarEvents = [calendarEvents];
                    }
                    for (var _b = 0; _b < calendarEvents.length; _b++) {
                        var calendarEventObj = calendarEvents[_b];
                        var calendarEvent = new CalendarEvent_1.CalendarEvent();
                        calendarEvent.LoadFromXmlJsObject(calendarEventObj, service);
                        this.calendarEvents.push(calendarEvent);
                    }
                    break;
                case XmlElementNames_1.XmlElementNames.WorkingHours:
                    this.workingHours = new WorkingHours_1.WorkingHours();
                    this.workingHours.LoadFromXmlJsObject(jsObject[key], service);
                    break;
            }
        }
    };
    return AttendeeAvailability;
})(ServiceResponse_1.ServiceResponse);
exports.AttendeeAvailability = AttendeeAvailability;