(function () {
    BemsWebApplication.FmsEquipmentRentInfoViewModel = function (data) {
        this.SiteId = ko.observable();
        this.EquipmentRentId = ko.observable();
        this.RegisterUserId = ko.observable();
        this.RentUserId = ko.observable();
        this.RegisterDate = ko.observable();
        this.RentDate = ko.observable();
        this.ReturnDueDate = ko.observable();
        this.ReturnFixDate = ko.observable();
        this.EquipmentStateTypeId = ko.observable();
        this.Comment = ko.observable();
        this.Title = ko.observable();
        this.RentUser = ko.observable();
        if (data)
            this.fromJS(data);
    };

    $.extend(BemsWebApplication.FmsEquipmentRentInfoViewModel.prototype, {
        toJS: function () {
            return {
                SiteId: this.SiteId(),
                EquipmentRentId: this.EquipmentRentId(),
                RegisterUserId: this.RegisterUserId(),
                RentUserId: this.RentUserId(),
                RegisterDate: this.RegisterDate(),
                RentDate: this.RentDate(),
                ReturnDueDate: this.ReturnDueDate(),
                ReturnFixDate: this.ReturnFixDate(),
                EquipmentStateTypeId: this.EquipmentStateTypeId(),
                Comment: this.Comment(),
                Title: this.Title(),
                RentUser: this.RentUser(),
            };
        },

        fromJS: function (data) {
            if (data) {
                this.SiteId(data.SiteId);
                this.EquipmentRentId(data.EquipmentRentId);
                this.RegisterUserId(data.RegisterUserId);
                this.RentUserId(data.RentUserId);
                this.RegisterDate(data.RegisterDate);
                this.RentDate(data.RentDate);
                this.ReturnDueDate(data.ReturnDueDate);
                this.ReturnFixDate(data.ReturnFixDate);
                this.EquipmentStateTypeId(data.EquipmentStateTypeId);
                this.Comment(data.Comment);
                this.Title(data.Title);
                this.RentUser(data.RentUser);
            }
        }
    });
})();