(function () {
    BemsWebApplication.BemsMonitoringPointForecastingHourAheadViewModel = function (data) {
        this.SiteId = ko.observable();
        this.FacilityTypeId = ko.observable();
        this.FacilityCode = ko.observable();
        this.PropertyId = ko.observable();
        this.CreatedDateTime = ko.observable();
        this.TargetDateTime = ko.observable();
        this.ForecastedValue = ko.observable();
        if (data)
            this.fromJS(data);
    };

    $.extend(BemsWebApplication.BemsMonitoringPointForecastingHourAheadViewModel.prototype, {
        toJS: function () {
            return {
                SiteId: this.SiteId(),
                FacilityTypeId: this.FacilityTypeId(),
                FacilityCode: this.FacilityCode(),
                PropertyId: this.PropertyId(),
                CreatedDateTime: this.CreatedDateTime(),
                TargetDateTime: this.TargetDateTime(),
                ForecastedValue: this.ForecastedValue(),
            };
        },

        fromJS: function (data) {
            if (data) {
                this.SiteId(data.SiteId);
                this.FacilityTypeId(data.FacilityTypeId);
                this.FacilityCode(data.FacilityCode);
                this.PropertyId(data.PropertyId);
                this.CreatedDateTime(data.CreatedDateTime);
                this.TargetDateTime(data.TargetDateTime);
                this.ForecastedValue(data.ForecastedValue);

            }
        }
    });
})();