(function() {
    BemsWebApplication.CmFileViewModel = function(data) {
            this.SiteId = ko.observable();
            this.FileId = ko.observable();
            this.FileCategoryId = ko.observable();
            this.FileName = ko.observable();
            this.FileSize = ko.observable();
            this.CreatedDate = ko.observable();
            this.ContentType = ko.observable();
            if(data)
                this.fromJS(data);
    };

    $.extend(BemsWebApplication.CmFileViewModel.prototype, {
        toJS: function() {
            return {
                SiteId: this.SiteId(),
                FileId: this.FileId(),
                FileCategoryId: this.FileCategoryId(),
                FileName: this.FileName(),
                FileSize: this.FileSize(),
                CreatedDate: this.CreatedDate(),
                ContentType: this.ContentType(),
            };
        },

        fromJS: function(data) {
            if(data) {
                this.SiteId(data.SiteId);
                this.FileId(data.FileId);
                this.FileCategoryId(data.FileCategoryId);
                this.FileName(data.FileName);
                this.FileSize(data.FileSize);
                this.CreatedDate(data.CreatedDate);
                this.ContentType(data.ContentType);

            }
        }
    });
})();