AlertType = new (function AlertType(){ this.duplicate = 1; this.unmatched = 2; this.getList = function() { return [ { "key": 1, "value": "Duplicate" }, { "key": 2, "value": "Unmatched" } ]; }; })(); IngredientsQualifier = new (function IngredientsQualifier(){ this.domesticAndImported = 0; this.imported = 1; this.domestic = 2; this.getList = function() { return [ { "key": 0, "value": "DomesticAndImported" }, { "key": 1, "value": "Imported" }, { "key": 2, "value": "Domestic" } ]; }; })(); CompareMethod = new (function CompareMethod(){ this.equal = 0; this.lessThanOrEqual = 1; this.greaterThanOrEqual = 2; this.exists = 3; this.getList = function() { return [ { "key": 0, "value": "Equal" }, { "key": 1, "value": "LessThanOrEqual" }, { "key": 2, "value": "GreaterThanOrEqual" }, { "key": 3, "value": "Exists" } ]; }; })(); MatchStatus = new (function MatchStatus(){ this.matched = 0; this.unmatched = 1; this.conflict = 2; this.invalid = 3; this.getList = function() { return [ { "key": 0, "value": "Matched" }, { "key": 1, "value": "Unmatched" }, { "key": 2, "value": "Conflict" }, { "key": 3, "value": "Invalid" } ]; }; })(); MatchStrength = new (function MatchStrength(){ this.weak = 0; this.fair = 1; this.strong = 2; this.getList = function() { return [ { "key": 0, "value": "Weak" }, { "key": 1, "value": "Fair" }, { "key": 2, "value": "Strong" } ]; }; })(); NotificationFrequency = new (function NotificationFrequency(){ this.immediately = 0; this.daily = 1; this.weekly = 2; this.biWeekly = 3; this.monthly = 4; this.getList = function() { return [ { "key": 0, "value": "Immediately" }, { "key": 1, "value": "Daily" }, { "key": 2, "value": "Weekly" }, { "key": 3, "value": "BiWeekly" }, { "key": 4, "value": "Monthly" } ]; }; })(); ProcurementMode = new (function ProcurementMode(){ this.banner = 0; this.grocer = 1; this.getList = function() { return [ { "key": 0, "value": "Banner" }, { "key": 1, "value": "Grocer" } ]; }; })(); PropertyScope = new (function PropertyScope(){ this.company = 1; this.banner = 2; this.grocer = 4; this.vendor = 8; this.brand = 16; this.product = 32; this.productIngredient = 64; this.getList = function() { return [ { "key": 1, "value": "Company" }, { "key": 2, "value": "Banner" }, { "key": 4, "value": "Grocer" }, { "key": 8, "value": "Vendor" }, { "key": 16, "value": "Brand" }, { "key": 32, "value": "Product" }, { "key": 64, "value": "ProductIngredient" } ]; }; })(); PropertyType = new (function PropertyType(){ this.boolean = 0; this.integer = 1; this.decimal = 2; this.string = 3; this.enum = 4; this.entity = 5; this.getList = function() { return [ { "key": 0, "value": "Boolean" }, { "key": 1, "value": "Integer" }, { "key": 2, "value": "Decimal" }, { "key": 3, "value": "String" }, { "key": 4, "value": "Enum" }, { "key": 5, "value": "Entity" } ]; }; })(); AddressScope = new (function AddressScope(){ this.address = 0; this.municipality = 1; this.region = 2; this.country = 3; this.getList = function() { return [ { "key": 0, "value": "Address" }, { "key": 1, "value": "Municipality" }, { "key": 2, "value": "Region" }, { "key": 3, "value": "Country" } ]; }; })(); RequestScope = new (function RequestScope(){ this.all = 0; this.me = 1; this.getList = function() { return [ { "key": 0, "value": "All" }, { "key": 1, "value": "Me" } ]; }; })(); ResponseFormat = new (function ResponseFormat(){ this.entity = 0; this.list = 1; this.item = 2; this.getList = function() { return [ { "key": 0, "value": "Entity" }, { "key": 1, "value": "List" }, { "key": 2, "value": "Item" } ]; }; })(); SectionStatus = new (function SectionStatus(){ this.complete = 0; this.pending = 1; this.incomplete = 2; this.invalid = 3; this.getList = function() { return [ { "key": 0, "value": "Complete" }, { "key": 1, "value": "Pending" }, { "key": 2, "value": "Incomplete" }, { "key": 3, "value": "Invalid" } ]; }; })(); VendorStatus = new (function VendorStatus(){ this.unknown = 0; this.new = 1; this.active = 2; this.pendingApproval = 4; this.pendingUpdate = 8; this.invalid = 16; this.incomplete = 32; this.rejected = 64; this.getList = function() { return [ { "key": 0, "value": "Unknown" }, { "key": 1, "value": "New" }, { "key": 2, "value": "Active" }, { "key": 4, "value": "PendingApproval" }, { "key": 8, "value": "PendingUpdate" }, { "key": 16, "value": "Invalid" }, { "key": 32, "value": "Incomplete" }, { "key": 64, "value": "Rejected" } ]; }; })(); ImportState = new (function ImportState(){ this.queued = 0; this.parsing = 1; this.matching = 2; this.reviewing = 3; this.committing = 4; this.complete = 5; this.failed = 6; this.aborted = 7; this.getList = function() { return [ { "key": 0, "value": "Queued" }, { "key": 1, "value": "Parsing" }, { "key": 2, "value": "Matching" }, { "key": 3, "value": "Reviewing" }, { "key": 4, "value": "Committing" }, { "key": 5, "value": "Complete" }, { "key": 6, "value": "Failed" }, { "key": 7, "value": "Aborted" } ]; }; })(); ImportOperation = new (function ImportOperation(){ this.ignore = 0; this.create = 1; this.update = 2; this.delete = 3; this.getList = function() { return [ { "key": 0, "value": "Ignore" }, { "key": 1, "value": "Create" }, { "key": 2, "value": "Update" }, { "key": 3, "value": "Delete" } ]; }; })(); ImportTargetType = new (function ImportTargetType(){ this.vendor = 0; this.brand = 1; this.product = 2; this.address = 3; this.getList = function() { return [ { "key": 0, "value": "Vendor" }, { "key": 1, "value": "Brand" }, { "key": 2, "value": "Product" }, { "key": 3, "value": "Address" } ]; }; })(); ResultMode = new (function ResultMode(){ this.list = 0; this.grid = 1; this.getList = function() { return [ { "key": 0, "value": "List" }, { "key": 1, "value": "Grid" } ]; }; })(); ObservableValidationMode = new (function ObservableValidationMode(){ this.self = 0; this.children = 1; this.getList = function() { return [ { "key": 0, "value": "Self" }, { "key": 1, "value": "Children" } ]; }; })(); GrocerSearchResultMode = new (function GrocerSearchResultMode(){ this.grocer = 0; this.banner = 1; this.getList = function() { return [ { "key": 0, "value": "Grocer" }, { "key": 1, "value": "Banner" } ]; }; })(); GrocerSearchStatus = new (function GrocerSearchStatus(){ this.notInStore = 0; this.pending = 1; this.accepted = 2; this.inStore = 3; this.getList = function() { return [ { "key": 0, "value": "NotInStore" }, { "key": 1, "value": "Pending" }, { "key": 2, "value": "Accepted" }, { "key": 3, "value": "InStore" } ]; }; })(); ProductStatus = new (function ProductStatus(){ this.active = 0; this.inactive = 1; this.pending = 2; this.new = 3; this.incomplete = 4; this.invalid = 5; this.getList = function() { return [ { "key": 0, "value": "Active" }, { "key": 1, "value": "Inactive" }, { "key": 2, "value": "Pending" }, { "key": 3, "value": "New" }, { "key": 4, "value": "Incomplete" }, { "key": 5, "value": "Invalid" } ]; }; })(); DuplicateHandling = new (function DuplicateHandling(){ this.bestScore = 0; this.shortestDistance = 1; this.getList = function() { return [ { "key": 0, "value": "Best Score" }, { "key": 1, "value": "Shortest Distance" } ]; }; })(); MergeOption = new (function MergeOption(){ this.add = 0; this.preserveManualMatches = 1; this.overwrite = 2; this.getList = function() { return [ { "key": 0, "value": "Add" }, { "key": 1, "value": "Preserve Manual Matches" }, { "key": 2, "value": "Overwrite" } ]; }; })(); UnmatchedHandling = new (function UnmatchedHandling(){ this.remove = 0; this.ignore = 1; this.getList = function() { return [ { "key": 0, "value": "Remove" }, { "key": 1, "value": "Ignore" } ]; }; })(); function ClaimTypes(data, extend) { data = data || {}; } ClaimTypes.unmap = { "include": [], "ignore": [] }; ClaimTypes.DisplayName = "http://schemas.localizeyourfood.com/identity/claims/displayname"; ClaimTypes.Culture = "http://schemas.localizeyourfood.com/identity/claims/culture"; ClaimTypes.Photo = "http://schemas.localizeyourfood.com/identity/claims/photo"; ClaimTypes.Role = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role"; ClaimTypes.Channel = "http://schemas.localizeyourfood.com/identity/claims/channel"; ClaimTypes.Feature = "http://schemas.localizeyourfood.com/identity/claims/feature"; ClaimTypes.Company = "http://schemas.localizeyourfood.com/identity/claims/company"; ClaimTypes.Banner = "http://schemas.localizeyourfood.com/identity/claims/banner"; ClaimTypes.Grocer = "http://schemas.localizeyourfood.com/identity/claims/grocer"; ClaimTypes.Vendor = "http://schemas.localizeyourfood.com/identity/claims/vendor"; ClaimTypes.Brand = "http://schemas.localizeyourfood.com/identity/claims/brand"; ClaimTypes.OriginalUserName = "http://schemas.localizeyourfood.com/identity/claims/originalusername"; ClaimTypes.System = "http://schemas.localizeyourfood.com/identity/claims/system"; function LabelAttribute(data, extend) { data = data || {}; this.locationName = ko.observable(typeof data.locationName == 'undefined' ? null : data.locationName).extend({ "errors": null, "isEmpty": true }); this.locationCode = ko.observable(typeof data.locationCode == 'undefined' ? null : data.locationCode).extend({ "errors": null, "isEmpty": true }); this.city = ko.observable(typeof data.city == 'undefined' ? null : data.city).extend({ "errors": null, "isEmpty": true }); this.descriptor = ko.observable(typeof data.descriptor == 'undefined' ? null : data.descriptor).extend({ "errors": null, "isEmpty": true }); this.type = ko.observable(typeof data.type == 'undefined' ? null : data.type).extend({ "errors": null, "isEmpty": true }); this.value = ko.observable(typeof data.value == 'undefined' ? null : data.value).extend({ "errors": null, "isEmpty": true }); } LabelAttribute.unmap = { "include": [ "locationName", "locationCode", "city", "descriptor", "type", "value" ], "ignore": [] }; function ListItem(data, extend) { data = data || {}; this.name = typeof data.name == 'undefined' ? null : data.name; this.key = typeof data.key == 'undefined' ? null : data.key; } ListItem.unmap = { "include": [ "name", "key" ], "ignore": [] }; ListItem.key = 'key'; function Media(data, extend) { data = data || {}; this.fileName = typeof data.fileName == 'undefined' ? null : data.fileName; this.entityId = typeof data.entityId == 'undefined' ? null : data.entityId; this.url = typeof data.url == 'undefined' ? null : data.url; this.type = typeof data.type == 'undefined' ? 0 : data.type; } Media.unmap = { "include": [ "fileName", "entityId", "length", "url", "type", "contentStream" ], "ignore": [] }; Media.key = 'fileName'; function MediaThumbnail(data, extend) { data = data || {}; this.width = ko.observable(typeof data.width == 'undefined' ? 0 : data.width).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Width must be a number." }, "errors": null, "isEmpty": true }); this.height = ko.observable(typeof data.height == 'undefined' ? 0 : data.height).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Height must be a number." }, "errors": null, "isEmpty": true }); this.fileName = typeof data.fileName == 'undefined' ? null : data.fileName; this.entityId = typeof data.entityId == 'undefined' ? null : data.entityId; this.url = typeof data.url == 'undefined' ? null : data.url; this.type = typeof data.type == 'undefined' ? 0 : data.type; } MediaThumbnail.unmap = { "include": [ "width", "height", "caption", "fileName", "entityId", "length", "url", "type", "contentStream" ], "ignore": [] }; MediaThumbnail.key = 'fileName'; function MediaImage(data, extend) { data = data || {}; this.height = typeof data.height == 'undefined' ? 0 : data.height; this.width = typeof data.width == 'undefined' ? 0 : data.width; this.caption = typeof data.caption == 'undefined' ? null : data.caption; this.thumbnails = data.thumbnails ? $.map(data.thumbnails, function(value, key) { return new MediaThumbnail(value); }) : []; this.category = typeof data.category == 'undefined' ? null : data.category; this.fileName = typeof data.fileName == 'undefined' ? null : data.fileName; this.entityId = typeof data.entityId == 'undefined' ? null : data.entityId; this.url = typeof data.url == 'undefined' ? null : data.url; this.type = typeof data.type == 'undefined' ? 0 : data.type; } MediaImage.unmap = { "include": [ "height", "width", "caption", "thumbnails", "category", "fileName", "entityId", "length", "url", "type", "contentStream" ], "ignore": [] }; MediaImage.key = 'fileName'; function ContactAddress(data, extend) { data = data || {}; this.contactAddressId = ko.observable(typeof data.contactAddressId == 'undefined' ? 0 : data.contactAddressId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ContactAddressId must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.addressId = ko.observable(typeof data.addressId == 'undefined' ? 0 : data.addressId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field AddressId must be a number." }, "errors": null, "isEmpty": true }); this.providerId = ko.observable(typeof data.providerId == 'undefined' ? 0 : data.providerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProviderId must be a number." }, "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; } ContactAddress.unmap = { "include": [ "contactAddressId", "vendorId", "addressId", "providerId", "createdAt", "updatedAt", "vendor", "address" ], "ignore": [] }; function SelectableList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); } SelectableList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function UnitValue(data, extend) { data = data || {}; this.value = ko.observable(typeof data.value == 'undefined' ? null : data.value).extend({ "errors": null, "isEmpty": true }); this.symbol = ko.observable(typeof data.symbol == 'undefined' ? null : data.symbol).extend({ "errors": null, "isEmpty": true }); } UnitValue.unmap = { "include": [ "value", "symbol", "hasValue" ], "ignore": [] }; function ChangePasswordViewModel(data, extend) { data = data || {}; this.userId = ko.observable(typeof data.userId == 'undefined' ? 0 : data.userId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UserId must be a number." }, "errors": null, "isEmpty": true }); this.currentPassword = ko.observable(typeof data.currentPassword == 'undefined' ? null : data.currentPassword).extend({ "required": { "params": { "ruleSet": null }, "message": "Current password is required" }, "errors": null, "isEmpty": true }); this.newPassword = ko.observable(typeof data.newPassword == 'undefined' ? null : data.newPassword).extend({ "required": { "params": { "ruleSet": null }, "message": "Please provide a matching password" }, "minLength": { "params": 6, "message": "Password must be 6 or more characters" }, "maxLength": { "params": 50, "message": "Password must be 6 or more characters" }, "errors": null, "isEmpty": true }); this.matchNewPassword = ko.observable(typeof data.matchNewPassword == 'undefined' ? null : data.matchNewPassword).extend({ "equal": { "params": this.newPassword, "message": "Passwords must match" }, "required": { "params": { "ruleSet": null }, "message": "Please provide a new password" }, "errors": null, "isEmpty": true }); } ChangePasswordViewModel.unmap = { "include": [ "userId", "currentPassword", "newPassword", "matchNewPassword" ], "ignore": [] }; ChangePasswordViewModel.key = 'userId'; function ConfirmEmailViewModel(data, extend) { data = data || {}; this.token = ko.observable(typeof data.token == 'undefined' ? null : data.token).extend({ "required": { "params": { "ruleSet": null }, "message": "Invalid email validation request" }, "errors": null, "isEmpty": true }); this.userId = ko.observable(typeof data.userId == 'undefined' ? 0 : data.userId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UserId must be a number." }, "errors": null, "isEmpty": true }); } ConfirmEmailViewModel.unmap = { "include": [ "token", "userId" ], "ignore": [] }; function ImpersonateViewModel(data, extend) { data = data || {}; this.email = ko.observable(typeof data.email == 'undefined' ? null : data.email).extend({ "errors": null, "isEmpty": true }); } ImpersonateViewModel.unmap = { "include": [ "email" ], "ignore": [] }; function LoginViewModel(data, extend) { data = data || {}; this.email = ko.observable(typeof data.email == 'undefined' ? null : data.email).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter your email" }, "email": { "params": { "ruleSet": null }, "message": "Invalid email address" }, "errors": null, "isEmpty": true }); this.password = ko.observable(typeof data.password == 'undefined' ? null : data.password).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter your password" }, "minLength": { "params": 6, "message": "Password must be at least 6 characters" }, "maxLength": { "params": 100, "message": "Password must be at least 6 characters" }, "errors": null, "isEmpty": true }); this.remember = ko.observable(typeof data.remember == 'undefined' ? false : data.remember).extend({ "errors": null, "isEmpty": true }); this.returnUrl = typeof data.returnUrl == 'undefined' ? null : data.returnUrl; } LoginViewModel.unmap = { "include": [ "email", "password", "remember", "returnUrl" ], "ignore": [] }; function ForgotPasswordViewModel(data, extend) { data = data || {}; this.email = ko.observable(typeof data.email == 'undefined' ? null : data.email).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter your email address" }, "email": { "params": { "ruleSet": null }, "message": "Invalid email address" }, "errors": null, "isEmpty": true }); } ForgotPasswordViewModel.unmap = { "include": [ "email" ], "ignore": [] }; function PrincipalViewModel(data, extend) { data = data || {}; this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.userName = typeof data.userName == 'undefined' ? null : data.userName; this.isAuthenticated = typeof data.isAuthenticated == 'undefined' ? false : data.isAuthenticated; this.name = typeof data.name == 'undefined' ? null : data.name; this.photoUrl = typeof data.photoUrl == 'undefined' ? null : data.photoUrl; this.claims = data.claims || []; } PrincipalViewModel.unmap = { "include": [ "userId", "userName", "isAuthenticated", "name", "photoUrl", "claims" ], "ignore": [] }; function ResetPasswordViewModel(data, extend) { data = data || {}; this.userId = ko.observable(typeof data.userId == 'undefined' ? 0 : data.userId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UserId must be a number." }, "errors": null, "isEmpty": true }); this.token = ko.observable(typeof data.token == 'undefined' ? null : data.token).extend({ "errors": null, "isEmpty": true }); this.password = ko.observable(typeof data.password == 'undefined' ? null : data.password).extend({ "required": { "params": { "ruleSet": null }, "message": "Please provide a new password" }, "minLength": { "params": 6, "message": "Password must be 6 or more characters" }, "maxLength": { "params": 50, "message": "Password must be 6 or more characters" }, "errors": null, "isEmpty": true }); this.confirmPassword = ko.observable(typeof data.confirmPassword == 'undefined' ? null : data.confirmPassword).extend({ "required": { "params": { "ruleSet": null }, "message": "Please confirm your password" }, "minLength": { "params": 6, "message": "Password must be 6 or more characters" }, "maxLength": { "params": 50, "message": "Password must be 6 or more characters" }, "equal": { "params": this.password, "message": "Passwords must match" }, "errors": null, "isEmpty": true }); } ResetPasswordViewModel.unmap = { "include": [ "userId", "token", "password", "confirmPassword" ], "ignore": [] }; function RoleViewModel(data, extend) { data = data || {}; this.id = ko.observable(typeof data.id == 'undefined' ? 0 : data.id).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Id must be a number." }, "errors": null, "isEmpty": true }); this.name = typeof data.name == 'undefined' ? null : data.name; this.value = typeof data.value == 'undefined' ? null : data.value; this.description = typeof data.description == 'undefined' ? null : data.description; } RoleViewModel.unmap = { "include": [ "name", "value", "description" ], "ignore": [ "id" ] }; RoleViewModel.AccountManager = "AccountManager"; RoleViewModel.Grocer = "Grocer"; RoleViewModel.Vendor = "Vendor"; RoleViewModel.Admin = "Admin"; RoleViewModel.key = 'id'; function RoleList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new RoleViewModel(value); }) : []).extend({ "arrayType": RoleViewModel, "errors": null, "isEmpty": true }); } RoleList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function UserGrocerViewModel(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.user = typeof data.user == 'undefined' ? null : data.user; this.grocer = typeof data.grocer == 'undefined' ? null : data.grocer; } UserGrocerViewModel.unmap = { "include": [ "grocerId", "user", "grocer" ], "ignore": [] }; UserGrocerViewModel.key = 'grocerId'; function UserItemViewModel(data, extend) { data = data || {}; this.email = typeof data.email == 'undefined' ? null : data.email; this.emailConfirmed = typeof data.emailConfirmed == 'undefined' ? false : data.emailConfirmed; this.id = typeof data.id == 'undefined' ? 0 : data.id; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.name = typeof data.name == 'undefined' ? null : data.name; this.photoUrl = typeof data.photoUrl == 'undefined' ? null : data.photoUrl; this.lastLoginAt = typeof data.lastLoginAt == 'undefined' ? null : data.lastLoginAt; this.cultureCode = ko.observable(typeof data.cultureCode == 'undefined' ? null : data.cultureCode).extend({ "errors": null, "isEmpty": true }); this.grocers = data.grocers ? $.map(data.grocers, function(value, key) { return new ListItem(value); }) : []; this.banners = data.banners ? $.map(data.banners, function(value, key) { return new ListItem(value); }) : []; this.companies = data.companies ? $.map(data.companies, function(value, key) { return new ListItem(value); }) : []; this.vendors = data.vendors ? $.map(data.vendors, function(value, key) { return new ListItem(value); }) : []; this.roles = data.roles || []; this.hasTerms = typeof data.hasTerms == 'undefined' ? false : data.hasTerms; this.termsAcceptedAt = typeof data.termsAcceptedAt == 'undefined' ? null : data.termsAcceptedAt; this.termsUpdatedAt = typeof data.termsUpdatedAt == 'undefined' ? null : data.termsUpdatedAt; this.isAdmin = typeof data.isAdmin == 'undefined' ? false : data.isAdmin; this.isGrocer = typeof data.isGrocer == 'undefined' ? false : data.isGrocer; this.isVendor = typeof data.isVendor == 'undefined' ? false : data.isVendor; } UserItemViewModel.unmap = { "include": [ "email", "emailConfirmed", "id", "isActive", "name", "photoUrl", "lastLoginAt", "cultureCode", "grocers", "banners", "companies", "vendors", "roles", "hasTerms", "termsAcceptedAt", "termsUpdatedAt", "isAdmin", "isGrocer", "isVendor" ], "ignore": [] }; UserItemViewModel.key = 'id'; function UserItemList(data, extend) { data = data || {}; this.roleId = ko.observable(typeof data.roleId == 'undefined' ? null : data.roleId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RoleId must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? null : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new UserItemViewModel(value); }) : []).extend({ "arrayType": UserItemViewModel, "errors": null, "isEmpty": true }); } UserItemList.unmap = { "include": [ "roleId", "vendorId", "grocerId", "bannerId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function UserNotificationViewModel(data, extend) { data = data || {}; this.notificationTypeId = ko.observable(typeof data.notificationTypeId == 'undefined' ? 0 : data.notificationTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field NotificationTypeId must be a number." }, "errors": null, "isEmpty": true }); this.isEnabled = ko.observable(typeof data.isEnabled == 'undefined' ? false : data.isEnabled).extend({ "errors": null, "isEmpty": true }); this.updatedAt = ko.observable(typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt).extend({ "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.frequency = ko.observable(typeof data.frequency == 'undefined' ? 0 : data.frequency).extend({ "errors": null, "isEmpty": true }); } UserNotificationViewModel.unmap = { "include": [ "userId", "notificationTypeId", "isEnabled", "frequency" ], "ignore": [ "updatedAt", "name", "description" ] }; function UserViewModel(data, extend) { data = data || {}; this.id = ko.observable(typeof data.id == 'undefined' ? 0 : data.id).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Id must be a number." }, "errors": null, "isEmpty": true }); this.email = ko.observable(typeof data.email == 'undefined' ? null : data.email).extend({ "required": { "params": { "ruleSet": null }, "message": "'Email' should not be empty." }, "email": { "params": { "ruleSet": null }, "message": "'Email' is not a valid email address." }, "errors": null, "isEmpty": true }); this.emailConfirmed = ko.observable(typeof data.emailConfirmed == 'undefined' ? false : data.emailConfirmed).extend({ "errors": null, "isEmpty": true }); this.phoneNumber = ko.observable(typeof data.phoneNumber == 'undefined' ? null : data.phoneNumber).extend({ "minLength": { "params": 7, "message": "'Phone' must be between 7 and 45 characters." }, "maxLength": { "params": 45, "message": "'Phone' must be between 7 and 45 characters." }, "errors": null, "isEmpty": true }); this.lastLoginAt = ko.observable(typeof data.lastLoginAt == 'undefined' ? null : data.lastLoginAt).extend({ "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.termsAcceptedAt = ko.observable(typeof data.termsAcceptedAt == 'undefined' ? null : data.termsAcceptedAt).extend({ "errors": null, "isEmpty": true }); this.termsUpdatedAt = ko.observable(typeof data.termsUpdatedAt == 'undefined' ? null : data.termsUpdatedAt).extend({ "errors": null, "isEmpty": true }); this.cultureCode = ko.observable(typeof data.cultureCode == 'undefined' ? null : data.cultureCode).extend({ "errors": null, "isEmpty": true }); this.avatar = new MediaImage(data.avatar); this.grocers = ko.observableArray(data.grocers || []).extend({ "errors": null, "isEmpty": true }); this.banners = ko.observableArray(data.banners || []).extend({ "errors": null, "isEmpty": true }); this.companies = ko.observableArray(data.companies || []).extend({ "errors": null, "isEmpty": true }); this.vendors = ko.observableArray(data.vendors || []).extend({ "errors": null, "isEmpty": true }); this.roles = ko.observableArray(data.roles || []).extend({ "errors": null, "isEmpty": true }); this.notifications = ko.observableArray(data.notifications ? $.map(data.notifications, function(value, key) { return new UserNotificationViewModel(value); }) : []).extend({ "arrayType": UserNotificationViewModel, "errors": null, "isEmpty": true }); this.hasTerms = ko.observable(typeof data.hasTerms == 'undefined' ? false : data.hasTerms).extend({ "errors": null, "isEmpty": true }); } UserViewModel.unmap = { "include": [ "id", "email", "emailConfirmed", "phoneNumber", "lastLoginAt", "isActive", "name", "termsAcceptedAt", "termsUpdatedAt", "cultureCode", "grocers", "banners", "companies", "vendors", "roles", "notifications", "hasTerms" ], "ignore": [ "avatar" ], "avatar": MediaImage.unmap }; UserViewModel.key = 'id'; function UserList(data, extend) { data = data || {}; this.roleId = ko.observable(typeof data.roleId == 'undefined' ? null : data.roleId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RoleId must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? null : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new UserViewModel(value); }) : []).extend({ "arrayType": UserViewModel, "errors": null, "isEmpty": true }); } UserList.unmap = { "include": [ "roleId", "vendorId", "grocerId", "bannerId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function TemplateViewModel(data, extend) { data = data || {}; this.printTemplateId = ko.observable(typeof data.printTemplateId == 'undefined' ? 0 : data.printTemplateId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PrintTemplateId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.shortName = ko.observable(typeof data.shortName == 'undefined' ? null : data.shortName).extend({ "errors": null, "isEmpty": true }); this.paperSize = ko.observable(typeof data.paperSize == 'undefined' ? null : data.paperSize).extend({ "errors": null, "isEmpty": true }); this.isLandscape = ko.observable(typeof data.isLandscape == 'undefined' ? false : data.isLandscape).extend({ "errors": null, "isEmpty": true }); this.labelTypeId = ko.observable(typeof data.labelTypeId == 'undefined' ? 0 : data.labelTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelTypeId must be a number." }, "errors": null, "isEmpty": true }); this.pageRowCount = ko.observable(typeof data.pageRowCount == 'undefined' ? 0 : data.pageRowCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageRowCount must be a number." }, "errors": null, "isEmpty": true }); this.pageColumnCount = ko.observable(typeof data.pageColumnCount == 'undefined' ? 0 : data.pageColumnCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageColumnCount must be a number." }, "errors": null, "isEmpty": true }); this.templateEngine = ko.observable(typeof data.templateEngine == 'undefined' ? 0 : data.templateEngine).extend({ "errors": null, "isEmpty": true }); this.banners = ko.observableArray(data.banners || []).extend({ "errors": null, "isEmpty": true }); } TemplateViewModel.unmap = { "include": [ "printTemplateId", "name", "shortName", "paperSize", "isLandscape", "labelTypeId", "pageRowCount", "pageColumnCount", "templateEngine", "banners" ], "ignore": [] }; TemplateViewModel.key = 'printTemplateId'; function TemplateList(data, extend) { data = data || {}; this.bannerId = ko.observableArray(data.bannerId || []).extend({ "errors": null, "isEmpty": true }); this.labelTypeId = ko.observableArray(data.labelTypeId || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new TemplateViewModel(value); }) : []).extend({ "arrayType": TemplateViewModel, "errors": null, "isEmpty": true }); } TemplateList.unmap = { "include": [ "bannerId", "labelTypeId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProcurementItemViewModel(data, extend) { data = data || {}; this.requestId = typeof data.requestId == 'undefined' ? 0 : data.requestId; this.bannerId = typeof data.bannerId == 'undefined' ? null : data.bannerId; this.brandId = typeof data.brandId == 'undefined' ? 0 : data.brandId; this.brandName = typeof data.brandName == 'undefined' ? null : data.brandName; this.grocerId = typeof data.grocerId == 'undefined' ? null : data.grocerId; this.targetName = typeof data.targetName == 'undefined' ? null : data.targetName; this.relevance = typeof data.relevance == 'undefined' ? null : data.relevance; this.meetsAllCriteria = typeof data.meetsAllCriteria == 'undefined' ? false : data.meetsAllCriteria; this.meetsMandatoryCriteria = typeof data.meetsMandatoryCriteria == 'undefined' ? false : data.meetsMandatoryCriteria; this.strength = typeof data.strength == 'undefined' ? 0 : data.strength; this.categories = data.categories || []; this.isFavoriteBrand = ko.observable(typeof data.isFavoriteBrand == 'undefined' ? false : data.isFavoriteBrand).extend({ "errors": null, "isEmpty": true }); this.accepted = ko.observable(typeof data.accepted == 'undefined' ? null : data.accepted).extend({ "errors": null, "isEmpty": true }); this.completedAt = ko.observable(typeof data.completedAt == 'undefined' ? null : data.completedAt).extend({ "errors": null, "isEmpty": true }); this.response = ko.observable(typeof data.response == 'undefined' ? null : data.response).extend({ "errors": null, "isEmpty": true }); this.productCount = typeof data.productCount == 'undefined' ? 0 : data.productCount; this.vendorId = typeof data.vendorId == 'undefined' ? 0 : data.vendorId; this.vendor = new ListItem(data.vendor); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.requestedAt = typeof data.requestedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.requestedAt; this.cancelledAt = ko.observable(typeof data.cancelledAt == 'undefined' ? null : data.cancelledAt).extend({ "errors": null, "isEmpty": true }); this.archivedAt = ko.observable(typeof data.archivedAt == 'undefined' ? null : data.archivedAt).extend({ "errors": null, "isEmpty": true }); this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.user = new ListItem(data.user); this.targetUserId = typeof data.targetUserId == 'undefined' ? null : data.targetUserId; this.targetUser = new ListItem(data.targetUser); this.completedUserId = typeof data.completedUserId == 'undefined' ? null : data.completedUserId; this.completedUser = new ListItem(data.completedUser); this.notes = typeof data.notes == 'undefined' ? null : data.notes; this.requestTypeId = typeof data.requestTypeId == 'undefined' ? 0 : data.requestTypeId; this.batchId = typeof data.batchId == 'undefined' ? null : data.batchId; } ProcurementItemViewModel.unmap = { "include": [ "requestId", "bannerId", "brandId", "brandName", "grocerId", "targetName", "relevance", "meetsAllCriteria", "meetsMandatoryCriteria", "strength", "categories", "isFavoriteBrand", "productCount", "vendorId", "vendor", "status", "requestedAt", "cancelledAt", "archivedAt", "userId", "user", "targetUserId", "targetUser", "completedUserId", "completedUser", "notes", "requestTypeId", "batchId" ], "ignore": [ "accepted", "completedAt", "response" ], "vendor": ListItem.unmap, "user": ListItem.unmap, "targetUser": ListItem.unmap, "completedUser": ListItem.unmap }; ProcurementItemViewModel.key = 'requestId'; function ProcurementItemList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? null : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.includeCancelled = ko.observable(typeof data.includeCancelled == 'undefined' ? null : data.includeCancelled).extend({ "errors": null, "isEmpty": true }); this.includeCompleted = ko.observable(typeof data.includeCompleted == 'undefined' ? null : data.includeCompleted).extend({ "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.archived = ko.observable(typeof data.archived == 'undefined' ? false : data.archived).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProcurementItemViewModel(value); }) : []).extend({ "arrayType": ProcurementItemViewModel, "errors": null, "isEmpty": true }); } ProcurementItemList.unmap = { "include": [ "grocerId", "productCatalogId", "includeCancelled", "includeCompleted", "vendorId", "status", "archived", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function VendorProcurementItemList(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.vendorId" }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? null : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.includeCancelled = ko.observable(typeof data.includeCancelled == 'undefined' ? null : data.includeCancelled).extend({ "errors": null, "isEmpty": true }); this.includeCompleted = ko.observable(typeof data.includeCompleted == 'undefined' ? null : data.includeCompleted).extend({ "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.archived = ko.observable(typeof data.archived == 'undefined' ? false : data.archived).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProcurementItemViewModel(value); }) : []).extend({ "arrayType": ProcurementItemViewModel, "errors": null, "isEmpty": true }); } VendorProcurementItemList.unmap = { "include": [ "vendorId", "grocerId", "productCatalogId", "includeCancelled", "includeCompleted", "status", "archived", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function RequestStatusViewModel(data, extend) { data = data || {}; this.requestStatusId = ko.observable(typeof data.requestStatusId == 'undefined' ? 0 : data.requestStatusId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RequestStatusId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); } RequestStatusViewModel.unmap = { "include": [ "requestStatusId", "name" ], "ignore": [] }; RequestStatusViewModel.Pending = 1; RequestStatusViewModel.Complete = 2; RequestStatusViewModel.Cancelled = 3; RequestStatusViewModel.key = 'requestStatusId'; function RequestStatusList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new RequestStatusViewModel(value); }) : []).extend({ "arrayType": RequestStatusViewModel, "errors": null, "isEmpty": true }); } RequestStatusList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function RequestVendorItemViewModel(data, extend) { data = data || {}; this.vendorId = typeof data.vendorId == 'undefined' ? 0 : data.vendorId; this.vendor = new ListItem(data.vendor); this.requestId = typeof data.requestId == 'undefined' ? 0 : data.requestId; this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.requestedAt = typeof data.requestedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.requestedAt; this.cancelledAt = ko.observable(typeof data.cancelledAt == 'undefined' ? null : data.cancelledAt).extend({ "errors": null, "isEmpty": true }); this.completedAt = ko.observable(typeof data.completedAt == 'undefined' ? null : data.completedAt).extend({ "errors": null, "isEmpty": true }); this.archivedAt = ko.observable(typeof data.archivedAt == 'undefined' ? null : data.archivedAt).extend({ "errors": null, "isEmpty": true }); this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.user = new ListItem(data.user); this.targetUserId = typeof data.targetUserId == 'undefined' ? null : data.targetUserId; this.targetUser = new ListItem(data.targetUser); this.completedUserId = typeof data.completedUserId == 'undefined' ? null : data.completedUserId; this.completedUser = new ListItem(data.completedUser); this.notes = typeof data.notes == 'undefined' ? null : data.notes; this.requestTypeId = typeof data.requestTypeId == 'undefined' ? 0 : data.requestTypeId; this.batchId = typeof data.batchId == 'undefined' ? null : data.batchId; } RequestVendorItemViewModel.unmap = { "include": [ "vendorId", "vendor", "requestId", "status", "requestedAt", "cancelledAt", "completedAt", "archivedAt", "userId", "user", "targetUserId", "targetUser", "completedUserId", "completedUser", "notes", "requestTypeId", "batchId" ], "ignore": [], "vendor": ListItem.unmap, "user": ListItem.unmap, "targetUser": ListItem.unmap, "completedUser": ListItem.unmap }; RequestVendorItemViewModel.key = 'requestId'; function RequestViewModel(data, extend) { data = data || {}; this.requestId = typeof data.requestId == 'undefined' ? 0 : data.requestId; this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.requestedAt = typeof data.requestedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.requestedAt; this.cancelledAt = ko.observable(typeof data.cancelledAt == 'undefined' ? null : data.cancelledAt).extend({ "errors": null, "isEmpty": true }); this.completedAt = ko.observable(typeof data.completedAt == 'undefined' ? null : data.completedAt).extend({ "errors": null, "isEmpty": true }); this.archivedAt = ko.observable(typeof data.archivedAt == 'undefined' ? null : data.archivedAt).extend({ "errors": null, "isEmpty": true }); this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.user = new ListItem(data.user); this.targetUserId = typeof data.targetUserId == 'undefined' ? null : data.targetUserId; this.targetUser = new ListItem(data.targetUser); this.completedUserId = typeof data.completedUserId == 'undefined' ? null : data.completedUserId; this.completedUser = new ListItem(data.completedUser); this.notes = typeof data.notes == 'undefined' ? null : data.notes; this.requestTypeId = typeof data.requestTypeId == 'undefined' ? 0 : data.requestTypeId; this.batchId = typeof data.batchId == 'undefined' ? null : data.batchId; } RequestViewModel.unmap = { "include": [ "requestId", "status", "requestedAt", "cancelledAt", "completedAt", "archivedAt", "userId", "user", "targetUserId", "targetUser", "completedUserId", "completedUser", "notes", "requestTypeId", "batchId" ], "ignore": [], "user": ListItem.unmap, "targetUser": ListItem.unmap, "completedUser": ListItem.unmap }; RequestViewModel.key = 'requestId'; function ProviderViewModel(data, extend) { data = data || {}; this.providerId = ko.observable(typeof data.providerId == 'undefined' ? 0 : data.providerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProviderId must be a number." }, "errors": null, "isEmpty": true }); this.name = typeof data.name == 'undefined' ? null : data.name; this.priority = typeof data.priority == 'undefined' ? 0 : data.priority; this.isExternal = typeof data.isExternal == 'undefined' ? false : data.isExternal; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; } ProviderViewModel.unmap = { "include": [ "providerId", "name", "priority", "isExternal", "createdAt", "updatedAt" ], "ignore": [] }; ProviderViewModel.key = 'providerId'; function SelectablePropertyEnumList(data, extend) { data = data || {}; this.propertyId = ko.observable(typeof data.propertyId == 'undefined' ? null : data.propertyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PropertyId must be a number." }, "errors": null, "isEmpty": true }); this.propertyKey = ko.observable(typeof data.propertyKey == 'undefined' ? null : data.propertyKey).extend({ "errors": null, "isEmpty": true }); this.names = ko.observableArray(data.names || []).extend({ "errors": null, "isEmpty": true }); this.values = ko.observableArray(data.values || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); } SelectablePropertyEnumList.unmap = { "include": [ "propertyId", "propertyKey", "names", "values", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function PropertyEnumViewModel(data, extend) { data = data || {}; this.propertyEnumId = ko.observable(typeof data.propertyEnumId == 'undefined' ? 0 : data.propertyEnumId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PropertyEnumId must be a number." }, "errors": null, "isEmpty": true }); this.propertyId = ko.observable(typeof data.propertyId == 'undefined' ? 0 : data.propertyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PropertyId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.value = ko.observable(typeof data.value == 'undefined' ? 0 : data.value).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Value must be a number." }, "errors": null, "isEmpty": true }); this.scoreWeight = ko.observable(typeof data.scoreWeight == 'undefined' ? null : data.scoreWeight).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ScoreWeight must be a number." }, "errors": null, "isEmpty": true }); this.channels = ko.observableArray(data.channels || []).extend({ "errors": null, "isEmpty": true }); } PropertyEnumViewModel.unmap = { "include": [ "propertyEnumId", "propertyId", "name", "value", "scoreWeight", "channels" ], "ignore": [] }; PropertyEnumViewModel.key = 'propertyEnumId'; function PropertyEnumList(data, extend) { data = data || {}; this.propertyId = ko.observable(typeof data.propertyId == 'undefined' ? null : data.propertyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PropertyId must be a number." }, "errors": null, "isEmpty": true }); this.propertyKey = ko.observable(typeof data.propertyKey == 'undefined' ? null : data.propertyKey).extend({ "errors": null, "isEmpty": true }); this.names = ko.observableArray(data.names || []).extend({ "errors": null, "isEmpty": true }); this.values = ko.observableArray(data.values || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new PropertyEnumViewModel(value); }) : []).extend({ "arrayType": PropertyEnumViewModel, "errors": null, "isEmpty": true }); } PropertyEnumList.unmap = { "include": [ "propertyId", "propertyKey", "names", "values", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function PropertyItemViewModel(data, extend) { data = data || {}; this.propertyId = typeof data.propertyId == 'undefined' ? 0 : data.propertyId; this.key = typeof data.key == 'undefined' ? null : data.key; this.name = typeof data.name == 'undefined' ? null : data.name; this.description = typeof data.description == 'undefined' ? null : data.description; this.group = typeof data.group == 'undefined' ? null : data.group; this.type = typeof data.type == 'undefined' ? 0 : data.type; this.scope = typeof data.scope == 'undefined' ? 0 : data.scope; this.scoreWeight = typeof data.scoreWeight == 'undefined' ? null : data.scoreWeight; this.entityName = typeof data.entityName == 'undefined' ? null : data.entityName; this.channels = data.channels || []; this.unitGroup = typeof data.unitGroup == 'undefined' ? null : data.unitGroup; this.symbol = typeof data.symbol == 'undefined' ? null : data.symbol; this.fullName = typeof data.fullName == 'undefined' ? null : data.fullName; } PropertyItemViewModel.unmap = { "include": [ "propertyId", "key", "name", "description", "group", "type", "scope", "scoreWeight", "entityName", "channels", "unitGroup", "symbol", "fullName" ], "ignore": [] }; PropertyItemViewModel.key = 'propertyId'; function PropertyItemList(data, extend) { data = data || {}; this.group = ko.observable(typeof data.group == 'undefined' ? null : data.group).extend({ "errors": null, "isEmpty": true }); this.propertyScope = ko.observable(typeof data.propertyScope == 'undefined' ? null : data.propertyScope).extend({ "errors": null, "isEmpty": true, "flags": PropertyScope }); this.channels = ko.observableArray(data.channels || []).extend({ "errors": null, "isEmpty": true }); this.keyNames = ko.observableArray(data.keyNames || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new PropertyItemViewModel(value); }) : []).extend({ "arrayType": PropertyItemViewModel, "errors": null, "isEmpty": true }); } PropertyItemList.unmap = { "include": [ "group", "propertyScope", "channels", "keyNames", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function SelectablePropertyList(data, extend) { data = data || {}; this.group = ko.observable(typeof data.group == 'undefined' ? null : data.group).extend({ "errors": null, "isEmpty": true }); this.propertyScope = ko.observable(typeof data.propertyScope == 'undefined' ? null : data.propertyScope).extend({ "errors": null, "isEmpty": true, "flags": PropertyScope }); this.channels = ko.observableArray(data.channels || []).extend({ "errors": null, "isEmpty": true }); this.keyNames = ko.observableArray(data.keyNames || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); } SelectablePropertyList.unmap = { "include": [ "group", "propertyScope", "channels", "keyNames", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function PropertyValueViewModel(data, extend) { data = data || {}; this.key = typeof data.key == 'undefined' ? null : data.key; this.name = typeof data.name == 'undefined' ? null : data.name; this.value = ko.observable(typeof data.value == 'undefined' ? null : data.value).extend({ "errors": null, "isEmpty": true }); this.symbol = typeof data.symbol == 'undefined' ? null : data.symbol; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; } PropertyValueViewModel.unmap = { "include": [ "key", "name", "value", "symbol", "propertyId", "createdAt", "updatedAt" ], "ignore": [] }; PropertyValueViewModel.key = 'key'; function PropertyViewModel(data, extend) { data = data || {}; this.propertyId = ko.observable(typeof data.propertyId == 'undefined' ? 0 : data.propertyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PropertyId must be a number." }, "errors": null, "isEmpty": true }); this.key = ko.observable(typeof data.key == 'undefined' ? null : data.key).extend({ "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.group = ko.observable(typeof data.group == 'undefined' ? null : data.group).extend({ "errors": null, "isEmpty": true }); this.type = ko.observable(typeof data.type == 'undefined' ? 0 : data.type).extend({ "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true, "flags": PropertyScope }); this.scoreWeight = ko.observable(typeof data.scoreWeight == 'undefined' ? null : data.scoreWeight).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score Weight must be a number." }, "errors": null, "isEmpty": true }); this.entityName = ko.observable(typeof data.entityName == 'undefined' ? null : data.entityName).extend({ "errors": null, "isEmpty": true }); this.fullName = typeof data.fullName == 'undefined' ? null : data.fullName; this.channels = ko.observableArray(data.channels || []).extend({ "errors": null, "isEmpty": true }); this.enumValues = ko.observableArray(data.enumValues ? $.map(data.enumValues, function(value, key) { return new PropertyEnumViewModel(value); }) : []).extend({ "arrayType": PropertyEnumViewModel, "errors": null, "isEmpty": true }); this.unitGroup = ko.observable(typeof data.unitGroup == 'undefined' ? null : data.unitGroup).extend({ "errors": null, "isEmpty": true }); this.symbol = ko.observable(typeof data.symbol == 'undefined' ? null : data.symbol).extend({ "errors": null, "isEmpty": true }); } PropertyViewModel.unmap = { "include": [ "propertyId", "key", "name", "description", "group", "type", "scope", "scoreWeight", "entityName", "fullName", "channels", "enumValues", "unitGroup", "symbol" ], "ignore": [] }; PropertyViewModel.key = 'propertyId'; function PropertyList(data, extend) { data = data || {}; this.group = ko.observable(typeof data.group == 'undefined' ? null : data.group).extend({ "errors": null, "isEmpty": true }); this.propertyScope = ko.observable(typeof data.propertyScope == 'undefined' ? null : data.propertyScope).extend({ "errors": null, "isEmpty": true, "flags": PropertyScope }); this.channels = ko.observableArray(data.channels || []).extend({ "errors": null, "isEmpty": true }); this.keyNames = ko.observableArray(data.keyNames || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new PropertyViewModel(value); }) : []).extend({ "arrayType": PropertyViewModel, "errors": null, "isEmpty": true }); } PropertyList.unmap = { "include": [ "group", "propertyScope", "channels", "keyNames", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function UnitGroupViewModel(data, extend) { data = data || {}; this.unitGroupId = ko.observable(typeof data.unitGroupId == 'undefined' ? 0 : data.unitGroupId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UnitGroupId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); } UnitGroupViewModel.unmap = { "include": [ "unitGroupId", "name" ], "ignore": [] }; UnitGroupViewModel.key = 'unitGroupId'; function UnitGroupList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new UnitGroupViewModel(value); }) : []).extend({ "arrayType": UnitGroupViewModel, "errors": null, "isEmpty": true }); } UnitGroupList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function UnitGroupItemViewModel(data, extend) { data = data || {}; this.unitGroupId = typeof data.unitGroupId == 'undefined' ? 0 : data.unitGroupId; this.name = typeof data.name == 'undefined' ? null : data.name; } UnitGroupItemViewModel.unmap = { "include": [ "unitGroupId", "name" ], "ignore": [] }; UnitGroupItemViewModel.key = 'unitGroupId'; function UnitGroupItemList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new UnitGroupItemViewModel(value); }) : []).extend({ "arrayType": UnitGroupItemViewModel, "errors": null, "isEmpty": true }); } UnitGroupItemList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function UnitItemViewModel(data, extend) { data = data || {}; this.unitId = typeof data.unitId == 'undefined' ? 0 : data.unitId; this.name = typeof data.name == 'undefined' ? null : data.name; this.symbol = typeof data.symbol == 'undefined' ? null : data.symbol; this.formatString = typeof data.formatString == 'undefined' ? null : data.formatString; } UnitItemViewModel.unmap = { "include": [ "unitId", "name", "symbol", "formatString" ], "ignore": [] }; UnitItemViewModel.key = 'unitId'; function UnitItemList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new UnitItemViewModel(value); }) : []).extend({ "arrayType": UnitItemViewModel, "errors": null, "isEmpty": true }); } UnitItemList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function UnitViewModel(data, extend) { data = data || {}; this.unitId = ko.observable(typeof data.unitId == 'undefined' ? 0 : data.unitId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UnitId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.symbol = ko.observable(typeof data.symbol == 'undefined' ? null : data.symbol).extend({ "errors": null, "isEmpty": true }); this.formatString = ko.observable(typeof data.formatString == 'undefined' ? null : data.formatString).extend({ "errors": null, "isEmpty": true }); } UnitViewModel.unmap = { "include": [ "unitId", "name", "symbol", "formatString" ], "ignore": [] }; function UnitList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new UnitViewModel(value); }) : []).extend({ "arrayType": UnitViewModel, "errors": null, "isEmpty": true }); } UnitList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function IngredientViewModel(data, extend) { data = data || {}; this.ingredientId = ko.observable(typeof data.ingredientId == 'undefined' ? 0 : data.ingredientId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field IngredientId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); } IngredientViewModel.unmap = { "include": [ "ingredientId", "name" ], "ignore": [] }; function IngredientList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new IngredientViewModel(value); }) : []).extend({ "arrayType": IngredientViewModel, "errors": null, "isEmpty": true }); } IngredientList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function PackagingRetailViewModel(data, extend) { data = data || {}; this.packaged = ko.observable(typeof data.packaged == 'undefined' ? false : data.packaged).extend({ "errors": null, "isEmpty": true }); this.width = new UnitValue(data.width); this.height = new UnitValue(data.height); this.depth = new UnitValue(data.depth); this.cost = new UnitValue(data.cost); this.msrp = new UnitValue(data.msrp); this.languages = ko.observableArray(data.languages || []).extend({ "errors": null, "isEmpty": true }); this.maxUnitsPerWeek = ko.observable(typeof data.maxUnitsPerWeek == 'undefined' ? null : data.maxUnitsPerWeek).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Max Units per Week must be a number." }, "errors": null, "isEmpty": true }); this.unitsPerCase = ko.observable(typeof data.unitsPerCase == 'undefined' ? null : data.unitsPerCase).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Units per Case must be a number." }, "errors": null, "isEmpty": true }); this.pricingComment = ko.observable(typeof data.pricingComment == 'undefined' ? null : data.pricingComment).extend({ "errors": null, "isEmpty": true }); this.forecastStoreUnitsPerWeek = ko.observable(typeof data.forecastStoreUnitsPerWeek == 'undefined' ? null : data.forecastStoreUnitsPerWeek).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Units per store per week (forecast) must be a number." }, "errors": null, "isEmpty": true }); this.annualRetailSales = new UnitValue(data.annualRetailSales); this.packagingType = ko.observable(typeof data.packagingType == 'undefined' ? null : data.packagingType).extend({ "errors": null, "isEmpty": true }); this.shelfLife = ko.observable(typeof data.shelfLife == 'undefined' ? null : data.shelfLife).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Shelf Life must be a number." }, "errors": null, "isEmpty": true }); this.storageTemperature = ko.observable(typeof data.storageTemperature == 'undefined' ? null : data.storageTemperature).extend({ "errors": null, "isEmpty": true }); this.upc = ko.observable(typeof data.upc == 'undefined' ? false : data.upc).extend({ "errors": null, "isEmpty": true }); this.nutritionalInformationPanel = ko.observable(typeof data.nutritionalInformationPanel == 'undefined' ? false : data.nutritionalInformationPanel).extend({ "errors": null, "isEmpty": true }); this.ingredientList = ko.observable(typeof data.ingredientList == 'undefined' ? false : data.ingredientList).extend({ "errors": null, "isEmpty": true }); this.gtinEccnet = ko.observable(typeof data.gtinEccnet == 'undefined' ? null : data.gtinEccnet).extend({ "errors": null, "isEmpty": true }); } PackagingRetailViewModel.unmap = { "include": [ "packaged", "width", "height", "depth", "cost", "msrp", "languages", "maxUnitsPerWeek", "unitsPerCase", "pricingComment", "forecastStoreUnitsPerWeek", "annualRetailSales", "packagingType", "shelfLife", "storageTemperature", "upc", "nutritionalInformationPanel", "ingredientList", "gtinEccnet" ], "ignore": [], "width": UnitValue.unmap, "height": UnitValue.unmap, "depth": UnitValue.unmap, "cost": UnitValue.unmap, "msrp": UnitValue.unmap, "annualRetailSales": UnitValue.unmap }; function ProductCategoryViewModel(data, extend) { data = data || {}; this.productCategoryId = ko.observable(typeof data.productCategoryId == 'undefined' ? 0 : data.productCategoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCategoryId must be a number." }, "errors": null, "isEmpty": true }); this.name = typeof data.name == 'undefined' ? null : data.name; this.shortName = typeof data.shortName == 'undefined' ? null : data.shortName; this.isIngredientVisible = typeof data.isIngredientVisible == 'undefined' ? false : data.isIngredientVisible; this.parentCategoryId = typeof data.parentCategoryId == 'undefined' ? null : data.parentCategoryId; this.labelTypeId = typeof data.labelTypeId == 'undefined' ? 0 : data.labelTypeId; } ProductCategoryViewModel.unmap = { "include": [ "productCategoryId", "name", "shortName", "isIngredientVisible", "parentCategoryId", "labelTypeId" ], "ignore": [] }; ProductCategoryViewModel.key = 'productCategoryId'; function ProductCategoryList(data, extend) { data = data || {}; this.parentCategoryId = ko.observable(typeof data.parentCategoryId == 'undefined' ? null : data.parentCategoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ParentCategoryId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductCategoryViewModel(value); }) : []).extend({ "arrayType": ProductCategoryViewModel, "errors": null, "isEmpty": true }); } ProductCategoryList.unmap = { "include": [ "parentCategoryId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductIngredientPropertyViewModel(data, extend) { data = data || {}; this.containsGmo = ko.observable(typeof data.containsGmo == 'undefined' ? null : data.containsGmo).extend({ "errors": null, "isEmpty": true }); this.allergens = ko.observableArray(data.allergens || []).extend({ "errors": null, "isEmpty": true }); this.certifications = ko.observableArray(data.certifications || []).extend({ "errors": null, "isEmpty": true }); this.notes = ko.observable(typeof data.notes == 'undefined' ? null : data.notes).extend({ "maxLength": { "params": 250, "message": "The field Notes must be a string with a maximum length of 250." }, "errors": null, "isEmpty": true }); this.source = ko.observable(typeof data.source == 'undefined' ? null : data.source).extend({ "maxLength": { "params": 200, "message": "The field Source must be a string with a maximum length of 200." }, "errors": null, "isEmpty": true }); } ProductIngredientPropertyViewModel.unmap = { "include": [ "containsGmo", "allergens", "certifications", "notes", "source" ], "ignore": [] }; function ProductMediaViewModel(data, extend) { data = data || {}; this.photo = new MediaImage(data.photo); this.packageFront = new MediaImage(data.packageFront); this.marketing = new MediaImage(data.marketing); this.nutritionalPanel = new MediaImage(data.nutritionalPanel); this.ingredientPanel = new MediaImage(data.ingredientPanel); } ProductMediaViewModel.unmap = { "include": [], "ignore": [ "photo", "packageFront", "marketing", "nutritionalPanel", "ingredientPanel" ], "photo": MediaImage.unmap, "packageFront": MediaImage.unmap, "marketing": MediaImage.unmap, "nutritionalPanel": MediaImage.unmap, "ingredientPanel": MediaImage.unmap }; function ProductItemViewModel(data, extend) { data = data || {}; this.productId = typeof data.productId == 'undefined' ? 0 : data.productId; this.brandId = typeof data.brandId == 'undefined' ? 0 : data.brandId; this.brand = typeof data.brand == 'undefined' ? null : data.brand; this.name = typeof data.name == 'undefined' ? null : data.name; this.upc = typeof data.upc == 'undefined' ? null : data.upc; this.productCategoryId = typeof data.productCategoryId == 'undefined' ? null : data.productCategoryId; this.categoryName = typeof data.categoryName == 'undefined' ? null : data.categoryName; this.productSubCategoryId = typeof data.productSubCategoryId == 'undefined' ? null : data.productSubCategoryId; this.subCategoryName = typeof data.subCategoryName == 'undefined' ? null : data.subCategoryName; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.isValid = typeof data.isValid == 'undefined' ? false : data.isValid; this.moreInfo = typeof data.moreInfo == 'undefined' ? null : data.moreInfo; this.size = typeof data.size == 'undefined' ? null : data.size; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.createdById = typeof data.createdById == 'undefined' ? 0 : data.createdById; this.createdByName = typeof data.createdByName == 'undefined' ? null : data.createdByName; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.updatedById = typeof data.updatedById == 'undefined' ? 0 : data.updatedById; this.updatedByName = typeof data.updatedByName == 'undefined' ? null : data.updatedByName; this.vendorName = typeof data.vendorName == 'undefined' ? null : data.vendorName; this.certifications = data.certifications || []; this.ingredients = data.ingredients || []; this.hasIngredientNotes = typeof data.hasIngredientNotes == 'undefined' ? false : data.hasIngredientNotes; this.hasProductionNotes = typeof data.hasProductionNotes == 'undefined' ? false : data.hasProductionNotes; this.productionAddressText = typeof data.productionAddressText == 'undefined' ? null : data.productionAddressText; this.status = typeof data.status == 'undefined' ? 0 : data.status; } ProductItemViewModel.unmap = { "include": [ "productId", "brandId", "brand", "name", "upc", "productCategoryId", "categoryName", "productSubCategoryId", "subCategoryName", "isActive", "isValid", "moreInfo", "size", "createdAt", "createdById", "createdByName", "updatedAt", "updatedById", "updatedByName", "vendorName", "certifications", "ingredients", "hasIngredientNotes", "hasProductionNotes", "productionAddressText", "status" ], "ignore": [] }; ProductItemViewModel.key = 'productId'; function ProductItemList(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? null : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.pending = ko.observable(typeof data.pending == 'undefined' ? null : data.pending).extend({ "errors": null, "isEmpty": true }); this.published = ko.observable(typeof data.published == 'undefined' ? null : data.published).extend({ "errors": null, "isEmpty": true }); this.valid = ko.observable(typeof data.valid == 'undefined' ? null : data.valid).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductItemViewModel(value); }) : []).extend({ "arrayType": ProductItemViewModel, "errors": null, "isEmpty": true }); } ProductItemList.unmap = { "include": [ "vendorId", "brandId", "pending", "published", "valid", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductProfileViewModel(data, extend) { data = data || {}; this.size = ko.observable(typeof data.size == 'undefined' ? null : data.size).extend({ "maxLength": { "params": 200, "message": "Size is too long" }, "errors": null, "isEmpty": true }); this.ingredientNotes = ko.observable(typeof data.ingredientNotes == 'undefined' ? null : data.ingredientNotes).extend({ "minLength": { "params": 1, "message": "Ingredient notes too long" }, "maxLength": { "params": 1000, "message": "Ingredient notes too long" }, "errors": null, "isEmpty": true }); this.productionNotes = ko.observable(typeof data.productionNotes == 'undefined' ? null : data.productionNotes).extend({ "minLength": { "params": 1, "message": "Production notes too long" }, "maxLength": { "params": 1000, "message": "Production notes too long" }, "errors": null, "isEmpty": true }); this.certifications = ko.observableArray(data.certifications || []).extend({ "errors": null, "isEmpty": true }); this.kosherDesignation = ko.observableArray(data.kosherDesignation || []).extend({ "errors": null, "isEmpty": true }); this.kosherForPassover = ko.observable(typeof data.kosherForPassover == 'undefined' ? null : data.kosherForPassover).extend({ "errors": null, "isEmpty": true }); this.containsGmo = ko.observable(typeof data.containsGmo == 'undefined' ? null : data.containsGmo).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "maxLength": { "params": 250, "message": "Description too long" }, "errors": null, "isEmpty": true }); } ProductProfileViewModel.unmap = { "include": [ "size", "ingredientNotes", "productionNotes", "certifications", "kosherDesignation", "kosherForPassover", "containsGmo", "description" ], "ignore": [] }; function VendorRejectionViewModel(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.deactivate = ko.observable(typeof data.deactivate == 'undefined' ? false : data.deactivate).extend({ "errors": null, "isEmpty": true }); this.message = ko.observable(typeof data.message == 'undefined' ? null : data.message).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a message" }, "errors": null, "isEmpty": true }); } VendorRejectionViewModel.unmap = { "include": [ "vendorId", "deactivate", "message" ], "ignore": [] }; VendorRejectionViewModel.key = 'vendorId'; function VendorMediaViewModel(data, extend) { data = data || {}; this.logo = new MediaImage(data.logo); this.story = new MediaImage(data.story); this.people = new MediaImage(data.people); this.facility = new MediaImage(data.facility); this.firstProduct = new MediaImage(data.firstProduct); this.foundingStory = new MediaImage(data.foundingStory); this.ingredientSelection = new MediaImage(data.ingredientSelection); this.mission = new MediaImage(data.mission); this.productPassion = new MediaImage(data.productPassion); this.recipeSource = new MediaImage(data.recipeSource); } VendorMediaViewModel.unmap = { "include": [], "ignore": [ "logo", "story", "people", "facility", "firstProduct", "foundingStory", "ingredientSelection", "mission", "productPassion", "recipeSource" ], "logo": MediaImage.unmap, "story": MediaImage.unmap, "people": MediaImage.unmap, "facility": MediaImage.unmap, "firstProduct": MediaImage.unmap, "foundingStory": MediaImage.unmap, "ingredientSelection": MediaImage.unmap, "mission": MediaImage.unmap, "productPassion": MediaImage.unmap, "recipeSource": MediaImage.unmap }; function BrandViewModel(data, extend) { data = data || {}; this.brandId = ko.observable(typeof data.brandId == 'undefined' ? 0 : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "maxLength": { "params": 100, "message": "Brand is too long" }, "required": { "params": { "ruleSet": "soft" }, "message": "Please enter a brand" }, "errors": null, "isEmpty": true }); } BrandViewModel.unmap = { "include": [ "brandId", "vendorId", "name" ], "ignore": [] }; BrandViewModel.key = 'brandId'; function BrandList(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new BrandViewModel(value); }) : []).extend({ "arrayType": BrandViewModel, "errors": null, "isEmpty": true }); } BrandList.unmap = { "include": [ "vendorId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function MarketingViewModel(data, extend) { data = data || {}; this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "regex": { "params": { "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)", "ruleSet": null }, "message": "Website must be a valid URL starting with http:// or https://" }, "errors": null, "isEmpty": true }); this.facebookUrl = ko.observable(typeof data.facebookUrl == 'undefined' ? null : data.facebookUrl).extend({ "regex": { "params": { "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)", "ruleSet": null }, "message": "Facebook must be a valid URL starting with http:// or https://" }, "errors": null, "isEmpty": true }); this.twitterUrl = ko.observable(typeof data.twitterUrl == 'undefined' ? null : data.twitterUrl).extend({ "regex": { "params": { "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)", "ruleSet": null }, "message": "Twitter must be a valid URL starting with http:// or https://" }, "errors": null, "isEmpty": true }); this.instagramUrl = ko.observable(typeof data.instagramUrl == 'undefined' ? null : data.instagramUrl).extend({ "regex": { "params": { "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)", "ruleSet": null }, "message": "Instagram must be a valid URL starting with http:// or https://" }, "errors": null, "isEmpty": true }); this.pipedriveUrl = ko.observable(typeof data.pipedriveUrl == 'undefined' ? null : data.pipedriveUrl).extend({ "regex": { "params": { "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)", "ruleSet": null }, "message": "Pipedrive must be a valid URL starting with http:// or https://" }, "errors": null, "isEmpty": true }); this.annualMarketingBudget = new UnitValue(data.annualMarketingBudget); this.availableForDemo = ko.observable(typeof data.availableForDemo == 'undefined' ? null : data.availableForDemo).extend({ "errors": null, "isEmpty": true }); this.research = ko.observableArray(data.research || []).extend({ "errors": null, "isEmpty": true }); this.activity = ko.observableArray(data.activity || []).extend({ "errors": null, "isEmpty": true }); this.audience = ko.observableArray(data.audience || []).extend({ "errors": null, "isEmpty": true }); this.comments = ko.observable(typeof data.comments == 'undefined' ? null : data.comments).extend({ "errors": null, "isEmpty": true }); } MarketingViewModel.unmap = { "include": [ "website", "facebookUrl", "twitterUrl", "instagramUrl", "pipedriveUrl", "annualMarketingBudget", "availableForDemo", "research", "activity", "audience", "comments" ], "ignore": [], "annualMarketingBudget": UnitValue.unmap }; function SafetyRecallViewModel(data, extend) { data = data || {}; this.gtinEccnet = ko.observable(typeof data.gtinEccnet == 'undefined' ? false : data.gtinEccnet).extend({ "errors": null, "isEmpty": true }); this.gap = ko.observable(typeof data.gap == 'undefined' ? false : data.gap).extend({ "errors": null, "isEmpty": true }); this.gacp = ko.observable(typeof data.gacp == 'undefined' ? false : data.gacp).extend({ "errors": null, "isEmpty": true }); this.federallyInspected = ko.observable(typeof data.federallyInspected == 'undefined' ? false : data.federallyInspected).extend({ "errors": null, "isEmpty": true }); this.provinciallyInspected = ko.observable(typeof data.provinciallyInspected == 'undefined' ? false : data.provinciallyInspected).extend({ "errors": null, "isEmpty": true }); this.haccp = ko.observable(typeof data.haccp == 'undefined' ? false : data.haccp).extend({ "errors": null, "isEmpty": true }); this.licensedKitchen = ko.observable(typeof data.licensedKitchen == 'undefined' ? false : data.licensedKitchen).extend({ "errors": null, "isEmpty": true }); this.gfsi = ko.observable(typeof data.gfsi == 'undefined' ? false : data.gfsi).extend({ "errors": null, "isEmpty": true }); this.recallProcedures = ko.observable(typeof data.recallProcedures == 'undefined' ? false : data.recallProcedures).extend({ "errors": null, "isEmpty": true }); this.recallInsurance = ko.observable(typeof data.recallInsurance == 'undefined' ? false : data.recallInsurance).extend({ "errors": null, "isEmpty": true }); this.liabilityInsurance = new UnitValue(data.liabilityInsurance); } SafetyRecallViewModel.unmap = { "include": [ "gtinEccnet", "gap", "gacp", "federallyInspected", "provinciallyInspected", "haccp", "licensedKitchen", "gfsi", "recallProcedures", "recallInsurance", "liabilityInsurance" ], "ignore": [], "liabilityInsurance": UnitValue.unmap }; function VendorDashboardViewModel(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.vendorId" }); } VendorDashboardViewModel.unmap = { "include": [ "vendorId" ], "ignore": [] }; function VendorItemViewModel(data, extend) { data = data || {}; this.status = typeof data.status == 'undefined' ? 0 : data.status; this.email = typeof data.email == 'undefined' ? null : data.email; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.phone = typeof data.phone == 'undefined' ? null : data.phone; this.name = typeof data.name == 'undefined' ? null : data.name; this.ownershipTypeId = typeof data.ownershipTypeId == 'undefined' ? 0 : data.ownershipTypeId; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.createdById = typeof data.createdById == 'undefined' ? 0 : data.createdById; this.createdByName = typeof data.createdByName == 'undefined' ? null : data.createdByName; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.updatedById = typeof data.updatedById == 'undefined' ? 0 : data.updatedById; this.updatedByName = typeof data.updatedByName == 'undefined' ? null : data.updatedByName; this.vendorId = typeof data.vendorId == 'undefined' ? 0 : data.vendorId; this.vendorLogo = typeof data.vendorLogo == 'undefined' ? null : data.vendorLogo; this.website = typeof data.website == 'undefined' ? null : data.website; this.features = data.features || []; this.isClaimed = typeof data.isClaimed == 'undefined' ? false : data.isClaimed; } VendorItemViewModel.unmap = { "include": [ "status", "email", "isActive", "phone", "name", "ownershipTypeId", "createdAt", "createdById", "createdByName", "updatedAt", "updatedById", "updatedByName", "vendorId", "vendorLogo", "website", "features", "isClaimed" ], "ignore": [] }; VendorItemViewModel.key = 'vendorId'; function VendorItemList(data, extend) { data = data || {}; this.pending = ko.observable(typeof data.pending == 'undefined' ? null : data.pending).extend({ "errors": null, "isEmpty": true }); this.claimed = ko.observable(typeof data.claimed == 'undefined' ? null : data.claimed).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new VendorItemViewModel(value); }) : []).extend({ "arrayType": VendorItemViewModel, "errors": null, "isEmpty": true }); } VendorItemList.unmap = { "include": [ "pending", "claimed", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function VendorProfileViewModel(data, extend) { data = data || {}; this.contactName = ko.observable(typeof data.contactName == 'undefined' ? null : data.contactName).extend({ "maxLength": { "params": 100, "message": "'Contact name' must be between 0 and 100 characters." }, "errors": null, "isEmpty": true }); this.email = ko.observable(typeof data.email == 'undefined' ? null : data.email).extend({ "email": { "params": { "ruleSet": "soft" }, "message": "Invalid email address" }, "errors": null, "isEmpty": true }); this.phone = ko.observable(typeof data.phone == 'undefined' ? null : data.phone).extend({ "minLength": { "params": 7, "message": "'Phone' must be between 7 and 45 characters." }, "maxLength": { "params": 45, "message": "'Phone' must be between 7 and 45 characters." }, "errors": null, "isEmpty": true }); this.phone2 = ko.observable(typeof data.phone2 == 'undefined' ? null : data.phone2).extend({ "errors": null, "isEmpty": true }); this.ownershipType = ko.observable(typeof data.ownershipType == 'undefined' ? null : data.ownershipType).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "'Please select an ownership type' should not be empty." }, "errors": null, "isEmpty": true }); this.ownershipNote = ko.observable(typeof data.ownershipNote == 'undefined' ? null : data.ownershipNote).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "minLength": { "params": 1, "message": "Description too long" }, "maxLength": { "params": 1000, "message": "Description too long" }, "required": { "params": { "ruleSet": "soft" }, "message": "Please enter a description" }, "errors": null, "isEmpty": true }); this.numberEmployees = ko.observable(typeof data.numberEmployees == 'undefined' ? null : data.numberEmployees).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Number of Employees must be a number." }, "errors": null, "isEmpty": true }); this.canPrivateLabel = ko.observable(typeof data.canPrivateLabel == 'undefined' ? null : data.canPrivateLabel).extend({ "errors": null, "isEmpty": true }); this.certifications = ko.observableArray(data.certifications || []).extend({ "errors": null, "isEmpty": true }); this.partnerships = ko.observableArray(data.partnerships || []).extend({ "errors": null, "isEmpty": true }); this.shortCode = ko.observable(typeof data.shortCode == 'undefined' ? null : data.shortCode).extend({ "minLength": { "params": 2, "message": "'Short code' must be between 2 and 10 characters." }, "maxLength": { "params": 10, "message": "'Short code' must be between 2 and 10 characters." }, "regex": { "params": { "pattern": "[a-z0-9]{0,10}", "ruleSet": "soft" }, "message": "Short code must by between 2 and 10 characters, numbers and digits only." }, "errors": null, "isEmpty": true }); this.expandedHistory = ko.observable(typeof data.expandedHistory == 'undefined' ? false : data.expandedHistory).extend({ "errors": null, "isEmpty": true }); this.firstProduct = ko.observable(typeof data.firstProduct == 'undefined' ? null : data.firstProduct).extend({ "minLength": { "params": 1, "message": "Description too long" }, "maxLength": { "params": 500, "message": "Description too long" }, "errors": null, "isEmpty": true }); this.foundingStory = ko.observable(typeof data.foundingStory == 'undefined' ? null : data.foundingStory).extend({ "minLength": { "params": 1, "message": "Description too long" }, "maxLength": { "params": 500, "message": "Description too long" }, "errors": null, "isEmpty": true }); this.ingredientSelection = ko.observable(typeof data.ingredientSelection == 'undefined' ? null : data.ingredientSelection).extend({ "minLength": { "params": 1, "message": "Description too long" }, "maxLength": { "params": 500, "message": "Description too long" }, "errors": null, "isEmpty": true }); this.mission = ko.observable(typeof data.mission == 'undefined' ? null : data.mission).extend({ "minLength": { "params": 1, "message": "Description too long" }, "maxLength": { "params": 500, "message": "Description too long" }, "errors": null, "isEmpty": true }); this.productPassion = ko.observable(typeof data.productPassion == 'undefined' ? null : data.productPassion).extend({ "minLength": { "params": 1, "message": "Description too long" }, "maxLength": { "params": 500, "message": "Description too long" }, "errors": null, "isEmpty": true }); this.recipeSource = ko.observable(typeof data.recipeSource == 'undefined' ? null : data.recipeSource).extend({ "minLength": { "params": 1, "message": "Description too long" }, "maxLength": { "params": 500, "message": "Description too long" }, "errors": null, "isEmpty": true }); this.subsidiaryOf = ko.observable(typeof data.subsidiaryOf == 'undefined' ? null : data.subsidiaryOf).extend({ "errors": null, "isEmpty": true }); } VendorProfileViewModel.unmap = { "include": [ "contactName", "email", "phone", "phone2", "ownershipType", "ownershipNote", "description", "numberEmployees", "canPrivateLabel", "certifications", "partnerships", "shortCode", "expandedHistory", "firstProduct", "foundingStory", "ingredientSelection", "mission", "productPassion", "recipeSource", "subsidiaryOf" ], "ignore": [] }; function FeedbackViewModel(data, extend) { data = data || {}; this.feedbackId = ko.observable(typeof data.feedbackId == 'undefined' ? 0 : data.feedbackId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field FeedbackId must be a number." }, "errors": null, "isEmpty": true }); this.windowId = typeof data.windowId == 'undefined' ? null : data.windowId; this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.progress = ko.observable(typeof data.progress == 'undefined' ? 0 : data.progress).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Progress must be a number." }, "errors": null, "isEmpty": true }); this.title = ko.observable(typeof data.title == 'undefined' ? null : data.title).extend({ "errors": null, "isEmpty": true }); this.message = ko.observable(typeof data.message == 'undefined' ? null : data.message).extend({ "errors": null, "isEmpty": true }); this.readAt = ko.observable(typeof data.readAt == 'undefined' ? null : data.readAt).extend({ "errors": null, "isEmpty": true }); this.dismissedAt = ko.observable(typeof data.dismissedAt == 'undefined' ? null : data.dismissedAt).extend({ "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.version = typeof data.version == 'undefined' ? "00000000-0000-0000-0000-000000000000" : data.version; this.isRead = ko.observable(typeof data.isRead == 'undefined' ? false : data.isRead).extend({ "errors": null, "isEmpty": true }); this.isDismissed = ko.observable(typeof data.isDismissed == 'undefined' ? false : data.isDismissed).extend({ "errors": null, "isEmpty": true }); this.isSticky = typeof data.isSticky == 'undefined' ? false : data.isSticky; this.statusId = ko.observable(typeof data.statusId == 'undefined' ? 0 : data.statusId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field StatusId must be a number." }, "errors": null, "isEmpty": true }); this.statusName = ko.observable(typeof data.statusName == 'undefined' ? null : data.statusName).extend({ "errors": null, "isEmpty": true }); } FeedbackViewModel.unmap = { "include": [ "feedbackId", "windowId", "userId", "progress", "title", "message", "readAt", "dismissedAt", "createdAt", "updatedAt", "version", "isRead", "isDismissed", "isSticky", "statusId", "statusName" ], "ignore": [] }; function FeedbackList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new FeedbackViewModel(value); }) : []).extend({ "arrayType": FeedbackViewModel, "errors": null, "isEmpty": true }); } FeedbackList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function FeatureViewModel(data, extend) { data = data || {}; this.featureId = ko.observable(typeof data.featureId == 'undefined' ? 0 : data.featureId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field FeatureId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); } FeatureViewModel.unmap = { "include": [ "featureId", "name" ], "ignore": [] }; FeatureViewModel.Labeling = "Labeling"; FeatureViewModel.Sourcing = "Sourcing"; FeatureViewModel.ShelfConnect = "ShelfConnect"; function FeatureList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new FeatureViewModel(value); }) : []).extend({ "arrayType": FeatureViewModel, "errors": null, "isEmpty": true }); } FeatureList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function DistributorTypeViewModel(data, extend) { data = data || {}; this.distributorTypeId = ko.observable(typeof data.distributorTypeId == 'undefined' ? 0 : data.distributorTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field DistributorTypeId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); } DistributorTypeViewModel.unmap = { "include": [ "distributorTypeId", "name" ], "ignore": [] }; DistributorTypeViewModel.Self = 1; DistributorTypeViewModel.Distributor = 2; DistributorTypeViewModel.Other = 3; function DistributorTypeList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new DistributorTypeViewModel(value); }) : []).extend({ "arrayType": DistributorTypeViewModel, "errors": null, "isEmpty": true }); } DistributorTypeList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function DistributorViewModel(data, extend) { data = data || {}; this.distributorId = ko.observable(typeof data.distributorId == 'undefined' ? 0 : data.distributorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field DistributorId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "Please enter a distributor name" }, "maxLength": { "params": 255, "message": "Distributor name is too long" }, "errors": null, "isEmpty": true }); } DistributorViewModel.unmap = { "include": [ "distributorId", "name" ], "ignore": [] }; DistributorViewModel.key = 'distributorId'; function DistributionCapacityViewModel(data, extend) { data = data || {}; this.distributors = ko.observableArray(data.distributors ? $.map(data.distributors, function(value, key) { return new DistributorViewModel(value); }) : []).extend({ "arrayType": DistributorViewModel, "errors": null, "isEmpty": true }); this.otherDistributorChannel = ko.observable(typeof data.otherDistributorChannel == 'undefined' ? null : data.otherDistributorChannel).extend({ "errors": null, "isEmpty": true }); this.method = ko.observable(typeof data.method == 'undefined' ? null : data.method).extend({ "errors": null, "isEmpty": true }); this.otherMethod = ko.observable(typeof data.otherMethod == 'undefined' ? null : data.otherMethod).extend({ "errors": null, "isEmpty": true }); this.capability = ko.observable(typeof data.capability == 'undefined' ? null : data.capability).extend({ "errors": null, "isEmpty": true }); this.limitation = ko.observable(typeof data.limitation == 'undefined' ? null : data.limitation).extend({ "errors": null, "isEmpty": true }); this.channels = ko.observableArray(data.channels || []).extend({ "errors": null, "isEmpty": true }); this.canDropShip = ko.observable(typeof data.canDropShip == 'undefined' ? null : data.canDropShip).extend({ "errors": null, "isEmpty": true }); this.currentlySoldAt = ko.observable(typeof data.currentlySoldAt == 'undefined' ? null : data.currentlySoldAt).extend({ "errors": null, "isEmpty": true }); this.leadTimeToOrder = ko.observable(typeof data.leadTimeToOrder == 'undefined' ? null : data.leadTimeToOrder).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Lead Time to Order must be a number." }, "errors": null, "isEmpty": true }); this.minCasesPerOrder = ko.observable(typeof data.minCasesPerOrder == 'undefined' ? null : data.minCasesPerOrder).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Minimum Order Size must be a number." }, "errors": null, "isEmpty": true }); this.minCostPerOrder = new UnitValue(data.minCostPerOrder); } DistributionCapacityViewModel.unmap = { "include": [ "distributors", "otherDistributorChannel", "method", "otherMethod", "capability", "limitation", "channels", "canDropShip", "currentlySoldAt", "leadTimeToOrder", "minCasesPerOrder", "minCostPerOrder" ], "ignore": [], "minCostPerOrder": UnitValue.unmap }; function DistributorList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new DistributorViewModel(value); }) : []).extend({ "arrayType": DistributorViewModel, "errors": null, "isEmpty": true }); } DistributorList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function PropertyDiffViewModel(data, extend) { data = data || {}; this.type = typeof data.type == 'undefined' ? 0 : data.type; this.left = typeof data.left == 'undefined' ? null : data.left; this.right = typeof data.right == 'undefined' ? null : data.right; this.diff = typeof data.diff == 'undefined' ? null : data.diff; this.displayName = typeof data.displayName == 'undefined' ? null : data.displayName; } PropertyDiffViewModel.unmap = { "include": [ "type", "left", "right", "diff", "displayName" ], "ignore": [] }; function EntityDiffViewModel(data, extend) { data = data || {}; this.properties = ko.observableArray(data.properties ? $.map(data.properties, function(value, key) { return new PropertyDiffViewModel(value); }) : []).extend({ "arrayType": PropertyDiffViewModel, "errors": null, "isEmpty": true }); } EntityDiffViewModel.unmap = { "include": [ "properties" ], "ignore": [] }; function VendorDashboardViewModel(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.vendorId" }); } VendorDashboardViewModel.unmap = { "include": [ "vendorId" ], "ignore": [] }; function GrocerDashboardViewModel(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); } GrocerDashboardViewModel.unmap = { "include": [ "grocerId" ], "ignore": [] }; function CultureViewModel(data, extend) { data = data || {}; this.name = typeof data.name == 'undefined' ? null : data.name; this.code = typeof data.code == 'undefined' ? null : data.code; } CultureViewModel.unmap = { "include": [ "name", "code" ], "ignore": [] }; CultureViewModel.key = 'code'; function CultureList(data, extend) { data = data || {}; this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new CultureViewModel(value); }) : []).extend({ "arrayType": CultureViewModel, "errors": null, "isEmpty": true }); } CultureList.unmap = { "include": [ "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function CompanyItemViewModel(data, extend) { data = data || {}; this.companyId = typeof data.companyId == 'undefined' ? 0 : data.companyId; this.name = typeof data.name == 'undefined' ? null : data.name; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.procurementMode = typeof data.procurementMode == 'undefined' ? 0 : data.procurementMode; this.bannerCount = typeof data.bannerCount == 'undefined' ? 0 : data.bannerCount; this.grocerCount = typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount; this.channels = data.channels ? $.map(data.channels, function(value, key) { return new ListItem(value); }) : []; this.features = data.features ? $.map(data.features, function(value, key) { return new ListItem(value); }) : []; } CompanyItemViewModel.unmap = { "include": [ "companyId", "name", "createdAt", "updatedAt", "procurementMode", "bannerCount", "grocerCount", "channels", "features" ], "ignore": [] }; CompanyItemViewModel.key = 'companyId'; function CompanyItemList(data, extend) { data = data || {}; this.features = ko.observableArray(data.features || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new CompanyItemViewModel(value); }) : []).extend({ "arrayType": CompanyItemViewModel, "errors": null, "isEmpty": true }); } CompanyItemList.unmap = { "include": [ "features", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ChannelItemViewModel(data, extend) { data = data || {}; this.channelId = typeof data.channelId == 'undefined' ? 0 : data.channelId; this.name = typeof data.name == 'undefined' ? null : data.name; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.description = typeof data.description == 'undefined' ? null : data.description; } ChannelItemViewModel.unmap = { "include": [ "channelId", "name", "isActive", "description" ], "ignore": [] }; ChannelItemViewModel.key = 'channelId'; function ChannelViewModel(data, extend) { data = data || {}; this.channelId = ko.observable(typeof data.channelId == 'undefined' ? 0 : data.channelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ChannelId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.logo = new MediaImage(data.logo); this.productCertifications = ko.observableArray(data.productCertifications ? $.map(data.productCertifications, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.vendorCertifications = ko.observableArray(data.vendorCertifications ? $.map(data.vendorCertifications, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.claims = ko.observableArray(data.claims ? $.map(data.claims, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); } ChannelViewModel.unmap = { "include": [ "channelId", "name", "isActive", "description", "productCertifications", "vendorCertifications", "claims" ], "ignore": [ "logo" ], "logo": MediaImage.unmap }; ChannelViewModel.Local = "Local"; ChannelViewModel.Procurement = "Procurement"; ChannelViewModel.FairTrade = "Fair Trade"; ChannelViewModel.Organic = "Organic"; ChannelViewModel.NonGmo = "Non-GMO"; ChannelViewModel.key = 'channelId'; function ChannelList(data, extend) { data = data || {}; this.claimId = ko.observable(typeof data.claimId == 'undefined' ? null : data.claimId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ClaimId must be a number." }, "errors": null, "isEmpty": true }); this.vendorCertificationId = ko.observable(typeof data.vendorCertificationId == 'undefined' ? null : data.vendorCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.productCertificationId = ko.observable(typeof data.productCertificationId == 'undefined' ? null : data.productCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.names = ko.observableArray(data.names || []).extend({ "errors": null, "isEmpty": true }); this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ChannelViewModel(value); }) : []).extend({ "arrayType": ChannelViewModel, "errors": null, "isEmpty": true }); } ChannelList.unmap = { "include": [ "claimId", "vendorCertificationId", "productCertificationId", "names", "includeInactive", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ChannelItemList(data, extend) { data = data || {}; this.claimId = ko.observable(typeof data.claimId == 'undefined' ? null : data.claimId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ClaimId must be a number." }, "errors": null, "isEmpty": true }); this.vendorCertificationId = ko.observable(typeof data.vendorCertificationId == 'undefined' ? null : data.vendorCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.productCertificationId = ko.observable(typeof data.productCertificationId == 'undefined' ? null : data.productCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.names = ko.observableArray(data.names || []).extend({ "errors": null, "isEmpty": true }); this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ChannelViewModel(value); }) : []).extend({ "arrayType": ChannelViewModel, "errors": null, "isEmpty": true }); } ChannelItemList.unmap = { "include": [ "claimId", "vendorCertificationId", "productCertificationId", "names", "includeInactive", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function CacheViewModel(data, extend) { data = data || {}; this.name = typeof data.name == 'undefined' ? null : data.name; this.itemName = typeof data.itemName == 'undefined' ? null : data.itemName; this.itemType = typeof data.itemType == 'undefined' ? null : data.itemType; this.serviceName = typeof data.serviceName == 'undefined' ? null : data.serviceName; this.serviceType = typeof data.serviceType == 'undefined' ? null : data.serviceType; } CacheViewModel.unmap = { "include": [ "name", "itemName", "itemType", "serviceName", "serviceType" ], "ignore": [] }; function CacheList(data, extend) { data = data || {}; this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new CacheViewModel(value); }) : []).extend({ "arrayType": CacheViewModel, "errors": null, "isEmpty": true }); } CacheList.unmap = { "include": [ "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProcurementCriteriaPropertyViewModel(data, extend) { data = data || {}; this.propertyValueId = ko.observable(typeof data.propertyValueId == 'undefined' ? 0 : data.propertyValueId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PropertyValueId must be a number." }, "errors": null, "isEmpty": true }); this.key = ko.observable(typeof data.key == 'undefined' ? null : data.key).extend({ "errors": null, "isEmpty": true }); this.isMandatory = ko.observable(typeof data.isMandatory == 'undefined' ? false : data.isMandatory).extend({ "errors": null, "isEmpty": true }); this.compareMethod = ko.observable(typeof data.compareMethod == 'undefined' ? 0 : data.compareMethod).extend({ "errors": null, "isEmpty": true }); this.value = ko.observable(typeof data.value == 'undefined' ? null : data.value).extend({ "errors": null, "isEmpty": true }); this.symbol = ko.observable(typeof data.symbol == 'undefined' ? null : data.symbol).extend({ "errors": null, "isEmpty": true }); } ProcurementCriteriaPropertyViewModel.unmap = { "include": [ "propertyValueId", "key", "isMandatory", "compareMethod", "propertyId", "value", "symbol" ], "ignore": [] }; ProcurementCriteriaPropertyViewModel.key = 'propertyValueId'; function ProcurementCriteriaViewModel(data, extend) { data = data || {}; this.procurementCriteriaId = ko.observable(typeof data.procurementCriteriaId == 'undefined' ? 0 : data.procurementCriteriaId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProcurementCriteriaId must be a number." }, "errors": null, "isEmpty": true }); this.properties = ko.observableArray(data.properties ? $.map(data.properties, function(value, key) { return new ProcurementCriteriaPropertyViewModel(value); }) : []).extend({ "arrayType": ProcurementCriteriaPropertyViewModel, "errors": null, "isEmpty": true }); } ProcurementCriteriaViewModel.unmap = { "include": [ "procurementCriteriaId", "properties" ], "ignore": [] }; function CompanyViewModel(data, extend) { data = data || {}; this.companyId = ko.observable(typeof data.companyId == 'undefined' ? 0 : data.companyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CompanyId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.procurementMode = ko.observable(typeof data.procurementMode == 'undefined' ? 0 : data.procurementMode).extend({ "errors": null, "isEmpty": true }); this.procurementCriteria = new ProcurementCriteriaViewModel(data.procurementCriteria); this.bannerCount = ko.observable(typeof data.bannerCount == 'undefined' ? 0 : data.bannerCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerCount must be a number." }, "errors": null, "isEmpty": true }); this.grocerCount = ko.observable(typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerCount must be a number." }, "errors": null, "isEmpty": true }); this.channels = ko.observableArray(data.channels ? $.map(data.channels, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.features = ko.observableArray(data.features ? $.map(data.features, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); } CompanyViewModel.unmap = { "include": [ "companyId", "name", "createdAt", "updatedAt", "procurementMode", "procurementCriteria", "bannerCount", "grocerCount", "channels", "features" ], "ignore": [], "procurementCriteria": ProcurementCriteriaViewModel.unmap }; CompanyViewModel.key = 'companyId'; function ProcurementCriteriaList(data, extend) { data = data || {}; this.companyId = ko.observable(typeof data.companyId == 'undefined' ? null : data.companyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CompanyId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProcurementCriteriaViewModel(value); }) : []).extend({ "arrayType": ProcurementCriteriaViewModel, "errors": null, "isEmpty": true }); } ProcurementCriteriaList.unmap = { "include": [ "companyId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function CompanyList(data, extend) { data = data || {}; this.features = ko.observableArray(data.features || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new CompanyViewModel(value); }) : []).extend({ "arrayType": CompanyViewModel, "errors": null, "isEmpty": true }); } CompanyList.unmap = { "include": [ "features", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductSearchItemViewModel(data, extend) { data = data || {}; this.productCatalogId = typeof data.productCatalogId == 'undefined' ? 0 : data.productCatalogId; this.grocerId = typeof data.grocerId == 'undefined' ? 0 : data.grocerId; this.productId = typeof data.productId == 'undefined' ? 0 : data.productId; this.locationId = typeof data.locationId == 'undefined' ? 0 : data.locationId; this.distance = new UnitValue(data.distance); this.score = typeof data.score == 'undefined' ? 0.0 : data.score; this.productionScore = typeof data.productionScore == 'undefined' ? 0.0 : data.productionScore; this.ownershipScore = typeof data.ownershipScore == 'undefined' ? 0.0 : data.ownershipScore; this.ingredientScore = typeof data.ingredientScore == 'undefined' ? 0.0 : data.ingredientScore; this.isMatched = ko.observable(typeof data.isMatched == 'undefined' ? false : data.isMatched).extend({ "errors": null, "isEmpty": true }); this.allowMatch = typeof data.allowMatch == 'undefined' ? false : data.allowMatch; this.matchedProductCount = typeof data.matchedProductCount == 'undefined' ? 0 : data.matchedProductCount; this.brandProductCount = typeof data.brandProductCount == 'undefined' ? 0 : data.brandProductCount; this.meetsAllCriteria = typeof data.meetsAllCriteria == 'undefined' ? false : data.meetsAllCriteria; this.meetsMandatoryCriteria = typeof data.meetsMandatoryCriteria == 'undefined' ? false : data.meetsMandatoryCriteria; this.relevance = typeof data.relevance == 'undefined' ? 0.0 : data.relevance; this.attributes = data.attributes ? $.map(data.attributes, function(value, key) { return new LabelAttribute(value); }) : []; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.productName = typeof data.productName == 'undefined' ? null : data.productName; this.productUpc = typeof data.productUpc == 'undefined' ? null : data.productUpc; this.productSize = typeof data.productSize == 'undefined' ? null : data.productSize; this.brandName = typeof data.brandName == 'undefined' ? null : data.brandName; this.brandId = typeof data.brandId == 'undefined' ? null : data.brandId; this.isFavorite = ko.observable(typeof data.isFavorite == 'undefined' ? false : data.isFavorite).extend({ "errors": null, "isEmpty": true }); this.vendorName = typeof data.vendorName == 'undefined' ? null : data.vendorName; this.productCertifications = data.productCertifications ? $.map(data.productCertifications, function(value, key) { return new ListItem(value); }) : []; this.locationName = typeof data.locationName == 'undefined' ? null : data.locationName; this.locationCode = typeof data.locationCode == 'undefined' ? null : data.locationCode; this.logoThumbUrl = typeof data.logoThumbUrl == 'undefined' ? null : data.logoThumbUrl; this.strength = typeof data.strength == 'undefined' ? 0 : data.strength; } ProductSearchItemViewModel.unmap = { "include": [ "productCatalogId", "grocerId", "productId", "locationId", "distance", "score", "productionScore", "ownershipScore", "ingredientScore", "isMatched", "allowMatch", "matchedProductCount", "brandProductCount", "meetsAllCriteria", "meetsMandatoryCriteria", "relevance", "attributes", "createdAt", "updatedAt", "productName", "productUpc", "productSize", "brandName", "brandId", "isFavorite", "vendorName", "productCertifications", "locationName", "locationCode", "logoThumbUrl", "strength" ], "ignore": [], "distance": UnitValue.unmap }; ProductSearchItemViewModel.key = 'productCatalogId'; function ProductSearchItemList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Grocer must be a number." }, "required": { "params": { "ruleSet": null }, "message": "Please select a store" }, "notEqual": { "params": 0, "message": "Please select a store" }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); this.bannerId = typeof data.bannerId == 'undefined' ? null : data.bannerId; this.distance = new UnitValue(data.distance); this.distance.unitGroup = "distance"; this.city = ko.observable(typeof data.city == 'undefined' ? null : data.city).extend({ "errors": null, "isEmpty": true }); this.region = ko.observable(typeof data.region == 'undefined' ? null : data.region).extend({ "number": { "params": { "ruleSet": null }, "message": "The field State/Province must be a number." }, "errors": null, "isEmpty": true }); this.country = ko.observable(typeof data.country == 'undefined' ? null : data.country).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Country must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Vendor must be a number." }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? null : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.brand = ko.observable(typeof data.brand == 'undefined' ? null : data.brand).extend({ "errors": null, "isEmpty": true }); this.requestId = ko.observable(typeof data.requestId == 'undefined' ? null : data.requestId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RequestId must be a number." }, "errors": null, "isEmpty": true }); this.ingredients = ko.observableArray(data.ingredients || []).extend({ "errors": null, "isEmpty": true }); this.categories = ko.observableArray(data.categories || []).extend({ "errors": null, "isEmpty": true }); this.certifications = ko.observableArray(data.certifications || []).extend({ "errors": null, "isEmpty": true }); this.packagingLanguages = ko.observableArray(data.packagingLanguages || []).extend({ "errors": null, "isEmpty": true }); this.distributionCapability = ko.observableArray(data.distributionCapability || []).extend({ "errors": null, "isEmpty": true }); this.distributionChannel = ko.observableArray(data.distributionChannel || []).extend({ "errors": null, "isEmpty": true }); this.targetAudience = ko.observableArray(data.targetAudience || []).extend({ "errors": null, "isEmpty": true }); this.excludeProducts = ko.observableArray(data.excludeProducts || []).extend({ "errors": null, "isEmpty": true }); this.includeProducts = ko.observableArray(data.includeProducts || []).extend({ "errors": null, "isEmpty": true }); this.distributor = ko.observable(typeof data.distributor == 'undefined' ? null : data.distributor).extend({ "errors": null, "isEmpty": true }); this.packagingIngredientsList = ko.observable(typeof data.packagingIngredientsList == 'undefined' ? false : data.packagingIngredientsList).extend({ "errors": null, "isEmpty": true }); this.packagingNutritional = ko.observable(typeof data.packagingNutritional == 'undefined' ? false : data.packagingNutritional).extend({ "errors": null, "isEmpty": true }); this.packagingUpc = ko.observable(typeof data.packagingUpc == 'undefined' ? false : data.packagingUpc).extend({ "errors": null, "isEmpty": true }); this.haccp = ko.observable(typeof data.haccp == 'undefined' ? false : data.haccp).extend({ "errors": null, "isEmpty": true }); this.gap = ko.observable(typeof data.gap == 'undefined' ? false : data.gap).extend({ "errors": null, "isEmpty": true }); this.gacp = ko.observable(typeof data.gacp == 'undefined' ? false : data.gacp).extend({ "errors": null, "isEmpty": true }); this.federallyInspected = ko.observable(typeof data.federallyInspected == 'undefined' ? false : data.federallyInspected).extend({ "errors": null, "isEmpty": true }); this.provinciallyInspected = ko.observable(typeof data.provinciallyInspected == 'undefined' ? false : data.provinciallyInspected).extend({ "errors": null, "isEmpty": true }); this.licensedKitchen = ko.observable(typeof data.licensedKitchen == 'undefined' ? false : data.licensedKitchen).extend({ "errors": null, "isEmpty": true }); this.recallProcedures = ko.observable(typeof data.recallProcedures == 'undefined' ? false : data.recallProcedures).extend({ "errors": null, "isEmpty": true }); this.recallInsurance = ko.observable(typeof data.recallInsurance == 'undefined' ? false : data.recallInsurance).extend({ "errors": null, "isEmpty": true }); this.canPrivateLabel = ko.observable(typeof data.canPrivateLabel == 'undefined' ? false : data.canPrivateLabel).extend({ "errors": null, "isEmpty": true }); this.availableForDemo = ko.observable(typeof data.availableForDemo == 'undefined' ? false : data.availableForDemo).extend({ "errors": null, "isEmpty": true }); this.minCost = new UnitValue(data.minCost); this.minCost.unitGroup = "currency"; this.maxCost = new UnitValue(data.maxCost); this.maxCost.unitGroup = "currency"; this.minMsrp = new UnitValue(data.minMsrp); this.minMsrp.unitGroup = "currency"; this.maxMsrp = new UnitValue(data.maxMsrp); this.maxMsrp.unitGroup = "currency"; this.minMarketingBudget = new UnitValue(data.minMarketingBudget); this.minMarketingBudget.unitGroup = "currency"; this.minLiabilityInsurance = new UnitValue(data.minLiabilityInsurance); this.minLiabilityInsurance.unitGroup = "currency"; this.maxLeadTime = ko.observable(typeof data.maxLeadTime == 'undefined' ? null : data.maxLeadTime).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Maximum Lead Time (Days) must be a number." }, "errors": null, "isEmpty": true }); this.isVendorView = ko.observable(typeof data.isVendorView == 'undefined' ? false : data.isVendorView).extend({ "errors": null, "isEmpty": true }); this.localOnly = ko.observable(typeof data.localOnly == 'undefined' ? false : data.localOnly).extend({ "errors": null, "isEmpty": true }); this.matchedOnly = ko.observable(typeof data.matchedOnly == 'undefined' ? false : data.matchedOnly).extend({ "errors": null, "isEmpty": true }); this.favoritesOnly = ko.observable(typeof data.favoritesOnly == 'undefined' ? false : data.favoritesOnly).extend({ "errors": null, "isEmpty": true }); this.madeProcurementRequestOnly = ko.observable(typeof data.madeProcurementRequestOnly == 'undefined' ? false : data.madeProcurementRequestOnly).extend({ "errors": null, "isEmpty": true }); this.includePrivateLabels = ko.observable(typeof data.includePrivateLabels == 'undefined' ? false : data.includePrivateLabels).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductSearchItemViewModel(value); }) : []).extend({ "arrayType": ProductSearchItemViewModel, "errors": null, "isEmpty": true }); } ProductSearchItemList.unmap = { "include": [ "grocerId", "bannerId", "distance", "city", "region", "country", "vendorId", "brandId", "brand", "requestId", "ingredients", "categories", "certifications", "packagingLanguages", "distributionCapability", "distributionChannel", "targetAudience", "excludeProducts", "includeProducts", "distributor", "packagingIngredientsList", "packagingNutritional", "packagingUpc", "haccp", "gap", "gacp", "federallyInspected", "provinciallyInspected", "licensedKitchen", "recallProcedures", "recallInsurance", "canPrivateLabel", "availableForDemo", "minCost", "maxCost", "minMsrp", "maxMsrp", "minMarketingBudget", "minLiabilityInsurance", "maxLeadTime", "isVendorView", "localOnly", "matchedOnly", "favoritesOnly", "madeProcurementRequestOnly", "includePrivateLabels", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ], "distance": UnitValue.unmap, "minCost": UnitValue.unmap, "maxCost": UnitValue.unmap, "minMsrp": UnitValue.unmap, "maxMsrp": UnitValue.unmap, "minMarketingBudget": UnitValue.unmap, "minLiabilityInsurance": UnitValue.unmap }; function PrintHistoryList(data, extend) { data = data || {}; this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? null : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.archived = ko.observable(typeof data.archived == 'undefined' ? false : data.archived).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items || []).extend({ "errors": null, "isEmpty": true }); } PrintHistoryList.unmap = { "include": [ "bannerId", "grocerId", "status", "archived", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function PartnershipItemViewModel(data, extend) { data = data || {}; this.partnershipId = typeof data.partnershipId == 'undefined' ? 0 : data.partnershipId; this.type = typeof data.type == 'undefined' ? 0 : data.type; this.name = typeof data.name == 'undefined' ? null : data.name; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.description = typeof data.description == 'undefined' ? null : data.description; this.website = typeof data.website == 'undefined' ? null : data.website; } PartnershipItemViewModel.unmap = { "include": [ "partnershipId", "type", "name", "isActive", "description", "website" ], "ignore": [] }; PartnershipItemViewModel.key = 'partnershipId'; function PartnershipViewModel(data, extend) { data = data || {}; this.partnershipId = ko.observable(typeof data.partnershipId == 'undefined' ? 0 : data.partnershipId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PartnershipId must be a number." }, "errors": null, "isEmpty": true }); this.type = ko.observable(typeof data.type == 'undefined' ? 0 : data.type).extend({ "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.logo = new MediaImage(data.logo); } PartnershipViewModel.unmap = { "include": [ "partnershipId", "type", "name", "isActive", "website", "description" ], "ignore": [ "logo" ], "logo": MediaImage.unmap }; PartnershipViewModel.key = 'partnershipId'; function PartnershipList(data, extend) { data = data || {}; this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.type = ko.observable(typeof data.type == 'undefined' ? null : data.type).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new PartnershipViewModel(value); }) : []).extend({ "arrayType": PartnershipViewModel, "errors": null, "isEmpty": true }); } PartnershipList.unmap = { "include": [ "includeInactive", "type", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function PartnershipItemList(data, extend) { data = data || {}; this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.type = ko.observable(typeof data.type == 'undefined' ? null : data.type).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new PartnershipViewModel(value); }) : []).extend({ "arrayType": PartnershipViewModel, "errors": null, "isEmpty": true }); } PartnershipItemList.unmap = { "include": [ "includeInactive", "type", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function AddressItemViewModel(data, extend) { data = data || {}; this.text = typeof data.text == 'undefined' ? null : data.text; this.streetAddress = typeof data.streetAddress == 'undefined' ? null : data.streetAddress; this.municipality = typeof data.municipality == 'undefined' ? null : data.municipality; this.code = typeof data.code == 'undefined' ? null : data.code; this.region = typeof data.region == 'undefined' ? null : data.region; this.country = typeof data.country == 'undefined' ? null : data.country; this.latitude = typeof data.latitude == 'undefined' ? null : data.latitude; this.longitude = typeof data.longitude == 'undefined' ? null : data.longitude; } AddressItemViewModel.unmap = { "include": [ "text", "streetAddress", "municipality", "code", "region", "country", "latitude", "longitude" ], "ignore": [] }; AddressItemViewModel.key = 'text'; function AddressViewModel(data, extend) { data = data || {}; this.text = ko.observable(typeof data.text == 'undefined' ? null : data.text).extend({ "errors": null, "isEmpty": true }); this.streetAddress = ko.observable(typeof data.streetAddress == 'undefined' ? null : data.streetAddress).extend({ "maxLength": { "params": 45, "message": "Address is too long" }, "errors": null, "isEmpty": true }); this.municipality = ko.observable(typeof data.municipality == 'undefined' ? null : data.municipality).extend({ "maxLength": { "params": 45, "message": "City name is too long" }, "errors": null, "isEmpty": true }); this.code = ko.observable(typeof data.code == 'undefined' ? null : data.code).extend({ "maxLength": { "params": 15, "message": "Postal code is too long" }, "errors": null, "isEmpty": true }); this.region = ko.observable(typeof data.region == 'undefined' ? null : data.region).extend({ "maxLength": { "params": 100, "message": "Region name is too long" }, "errors": null, "isEmpty": true }); this.regionCode = ko.observable(typeof data.regionCode == 'undefined' ? null : data.regionCode).extend({ "errors": null, "isEmpty": true }); this.country = ko.observable(typeof data.country == 'undefined' ? null : data.country).extend({ "maxLength": { "params": 100, "message": "Country name is too long" }, "errors": null, "isEmpty": true }); this.latitude = ko.observable(typeof data.latitude == 'undefined' ? null : data.latitude).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Latitude must be a number." }, "errors": null, "isEmpty": true }); this.longitude = ko.observable(typeof data.longitude == 'undefined' ? null : data.longitude).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Longitude must be a number." }, "errors": null, "isEmpty": true }); } AddressViewModel.unmap = { "include": [ "text", "streetAddress", "municipality", "code", "region", "regionCode", "country", "latitude", "longitude" ], "ignore": [] }; AddressViewModel.key = 'text'; function ProductIngredientItemViewModel(data, extend) { data = data || {}; this.productIngredientId = typeof data.productIngredientId == 'undefined' ? 0 : data.productIngredientId; this.ingredientPercent = typeof data.ingredientPercent == 'undefined' ? 0 : data.ingredientPercent; this.ingredientName = typeof data.ingredientName == 'undefined' ? null : data.ingredientName; this.addressId = typeof data.addressId == 'undefined' ? null : data.addressId; this.address = new AddressViewModel(data.address); this.containsGmo = ko.observable(typeof data.containsGmo == 'undefined' ? null : data.containsGmo).extend({ "errors": null, "isEmpty": true }); this.certifications = ko.observableArray(data.certifications || []).extend({ "errors": null, "isEmpty": true }); this.allergens = ko.observableArray(data.allergens || []).extend({ "errors": null, "isEmpty": true }); } ProductIngredientItemViewModel.unmap = { "include": [ "productIngredientId", "ingredientPercent", "ingredientName", "addressId", "address", "ingredientId", "providerId", "containsGmo", "certifications", "allergens" ], "ignore": [], "address": AddressViewModel.unmap }; ProductIngredientItemViewModel.key = 'productIngredientId'; function ProductIngredientViewModel(data, extend) { data = data || {}; this.productIngredientId = ko.observable(typeof data.productIngredientId == 'undefined' ? 0 : data.productIngredientId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductIngredientId must be a number." }, "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.ingredientPercent = ko.observable(typeof data.ingredientPercent == 'undefined' ? 0 : data.ingredientPercent).extend({ "number": { "params": { "ruleSet": null }, "message": "The field IngredientPercent must be a number." }, "required": { "params": { "ruleSet": "soft" }, "message": "Percentage required" }, "min": { "params": 0, "message": "Invalid percentage" }, "max": { "params": 100, "message": "Invalid percentage" }, "notEqual": { "params": 0, "message": "Percentage required" }, "errors": null, "isEmpty": true }); this.ingredientName = ko.observable(typeof data.ingredientName == 'undefined' ? null : data.ingredientName).extend({ "errors": null, "isEmpty": true }); this.addressId = ko.observable(typeof data.addressId == 'undefined' ? null : data.addressId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field AddressId must be a number." }, "errors": null, "isEmpty": true }); this.address = ko.observable((typeof data.address == 'undefined' || !data.address) ? null : new AddressViewModel(data.address)).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "Please enter an ingredient location" }, "type": { "type": AddressViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); this.properties = new ProductIngredientPropertyViewModel(data.properties); } ProductIngredientViewModel.unmap = { "include": [ "productIngredientId", "productId", "ingredientPercent", "ingredientName", "addressId", "address", "properties", "ingredientId", "providerId", "mapped" ], "ignore": [], "address": AddressViewModel.unmap, "properties": ProductIngredientPropertyViewModel.unmap }; ProductIngredientViewModel.key = 'productIngredientId'; function ProductViewModel(data, extend) { data = data || {}; this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a product name" }, "maxLength": { "params": 255, "message": "Product name is too long" }, "errors": null, "isEmpty": true }); this.upc = ko.observable(typeof data.upc == 'undefined' ? null : data.upc).extend({ "regex": { "params": { "pattern": "[0-9\\-]*", "ruleSet": null }, "message": "A product UPC can only contain digits and dashes" }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Vendor must be a number." }, "required": { "params": { "ruleSet": null }, "message": "Please select a vendor" }, "notEqual": { "params": 0, "message": "Please select a vendor" }, "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.isValid = ko.observable(typeof data.isValid == 'undefined' ? false : data.isValid).extend({ "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "errors": null, "isEmpty": true }); this.productionAddress = ko.observable((typeof data.productionAddress == 'undefined' || !data.productionAddress) ? null : new AddressViewModel(data.productionAddress)).extend({ "type": { "type": AddressViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); this.brand = ko.observable(typeof data.brand == 'undefined' ? null : data.brand).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a brand" }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? 0 : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.createdAt = ko.observable(typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt).extend({ "errors": null, "isEmpty": true }); this.createdById = ko.observable(typeof data.createdById == 'undefined' ? 0 : data.createdById).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CreatedById must be a number." }, "errors": null, "isEmpty": true }); this.createdByName = ko.observable(typeof data.createdByName == 'undefined' ? null : data.createdByName).extend({ "errors": null, "isEmpty": true }); this.updatedAt = ko.observable(typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt).extend({ "errors": null, "isEmpty": true }); this.updatedById = ko.observable(typeof data.updatedById == 'undefined' ? 0 : data.updatedById).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UpdatedById must be a number." }, "errors": null, "isEmpty": true }); this.updatedByName = ko.observable(typeof data.updatedByName == 'undefined' ? null : data.updatedByName).extend({ "errors": null, "isEmpty": true }); this.vendorCreatedAt = ko.observable(typeof data.vendorCreatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.vendorCreatedAt).extend({ "errors": null, "isEmpty": true }); this.vendorUpdatedAt = ko.observable(typeof data.vendorUpdatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.vendorUpdatedAt).extend({ "errors": null, "isEmpty": true }); this.approvedAt = ko.observable(typeof data.approvedAt == 'undefined' ? null : data.approvedAt).extend({ "errors": null, "isEmpty": true }); this.approvedById = ko.observable(typeof data.approvedById == 'undefined' ? 0 : data.approvedById).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ApprovedById must be a number." }, "errors": null, "isEmpty": true }); this.approvedByName = ko.observable(typeof data.approvedByName == 'undefined' ? null : data.approvedByName).extend({ "errors": null, "isEmpty": true }); this.productCategoryId = ko.observable(typeof data.productCategoryId == 'undefined' ? null : data.productCategoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Category must be a number." }, "required": { "params": { "ruleSet": "soft" }, "message": "Please select a product category" }, "errors": null, "isEmpty": true }); this.categoryName = ko.observable(typeof data.categoryName == 'undefined' ? null : data.categoryName).extend({ "errors": null, "isEmpty": true }); this.productSubCategoryId = ko.observable(typeof data.productSubCategoryId == 'undefined' ? null : data.productSubCategoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Sub Category must be a number." }, "errors": null, "isEmpty": true }); this.subCategoryName = ko.observable(typeof data.subCategoryName == 'undefined' ? null : data.subCategoryName).extend({ "errors": null, "isEmpty": true }); this.carbon = ko.observable(typeof data.carbon == 'undefined' ? null : data.carbon).extend({ "errors": null, "isEmpty": true }); this.media = new ProductMediaViewModel(data.media); this.packagingRetail = new PackagingRetailViewModel(data.packagingRetail); this.profile = new ProductProfileViewModel(data.profile); this.url = ko.observable(typeof data.url == 'undefined' ? null : data.url).extend({ "errors": null, "isEmpty": true }); this.vendorName = typeof data.vendorName == 'undefined' ? null : data.vendorName; this.errors = ko.observableArray(data.errors || []).extend({ "errors": null, "isEmpty": true }); this.productOfCanada = ko.observable(typeof data.productOfCanada == 'undefined' ? null : data.productOfCanada).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "Please specify if the product is a Product of Canada" }, "errors": null, "isEmpty": true }); this.madeInCanada = ko.observable(typeof data.madeInCanada == 'undefined' ? null : data.madeInCanada).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "Please specify if the product is Made In Canada" }, "errors": null, "isEmpty": true }); this.ingredientsQualifier = ko.observable(typeof data.ingredientsQualifier == 'undefined' ? null : data.ingredientsQualifier).extend({ "errors": null, "isEmpty": true }); this.otherDomesticClaims = ko.observable(typeof data.otherDomesticClaims == 'undefined' ? null : data.otherDomesticClaims).extend({ "errors": null, "isEmpty": true }); } ProductViewModel.unmap = { "include": [ "productId", "name", "upc", "vendorId", "isActive", "productionAddress", "brand", "brandId", "productCategoryId", "categoryName", "productSubCategoryId", "subCategoryName", "carbon", "media", "packagingRetail", "profile", "url", "vendorName", "productOfCanada", "madeInCanada", "ingredientsQualifier", "otherDomesticClaims" ], "ignore": [ "isValid", "status", "createdAt", "createdById", "createdByName", "updatedAt", "updatedById", "updatedByName", "vendorCreatedAt", "vendorUpdatedAt", "approvedAt", "approvedById", "approvedByName", "errors" ], "productionAddress": AddressViewModel.unmap, "media": ProductMediaViewModel.unmap, "packagingRetail": PackagingRetailViewModel.unmap, "profile": ProductProfileViewModel.unmap }; ProductViewModel.key = 'productId'; function VendorClaimViewModel(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.vendorName = typeof data.vendorName == 'undefined' ? null : data.vendorName; this.vendorPhone = typeof data.vendorPhone == 'undefined' ? null : data.vendorPhone; this.contactAddress = new AddressViewModel(data.contactAddress); this.isClaimed = typeof data.isClaimed == 'undefined' ? false : data.isClaimed; this.providers = data.providers ? $.map(data.providers, function(value, key) { return new ProviderViewModel(value); }) : []; this.vendorLogo = ko.observable(typeof data.vendorLogo == 'undefined' ? null : data.vendorLogo).extend({ "errors": null, "isEmpty": true }); this.email = ko.observable(typeof data.email == 'undefined' ? null : data.email).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter an email." }, "email": { "params": { "ruleSet": null }, "message": "Invalid email address" }, "errors": null, "isEmpty": true }); this.password = ko.observable(typeof data.password == 'undefined' ? null : data.password).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a password." }, "minLength": { "params": 6, "message": "Your password must be at least 6 characters long." }, "maxLength": { "params": 36, "message": "Your password must be at least 6 characters long." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.phone = ko.observable(typeof data.phone == 'undefined' ? null : data.phone).extend({ "errors": null, "isEmpty": true }); this.acceptTerms = ko.observable(typeof data.acceptTerms == 'undefined' ? false : data.acceptTerms).extend({ "errors": null, "isEmpty": true }); this.ip = ko.observable(typeof data.ip == 'undefined' ? null : data.ip).extend({ "errors": null, "isEmpty": true }); } VendorClaimViewModel.unmap = { "include": [ "vendorId", "vendorLogo", "isActive", "createdAt", "updatedAt", "email", "password", "name", "phone", "acceptTerms", "ip" ], "ignore": [ "vendorName", "vendorPhone", "contactAddress", "isClaimed", "providers" ], "contactAddress": AddressViewModel.unmap }; VendorClaimViewModel.key = 'vendorId'; function VendorOwnershipViewModel(data, extend) { data = data || {}; this.vendorOwnershipId = ko.observable(typeof data.vendorOwnershipId == 'undefined' ? 0 : data.vendorOwnershipId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorOwnershipId must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.ownershipAddress = ko.observable((typeof data.ownershipAddress == 'undefined' || !data.ownershipAddress) ? null : new AddressViewModel(data.ownershipAddress)).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter an ownership address" }, "type": { "type": AddressViewModel, "allowNull": true }, "errors": 1, "isEmpty": true }); this.addressId = ko.observable(typeof data.addressId == 'undefined' ? null : data.addressId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field AddressId must be a number." }, "errors": null, "isEmpty": true }); this.ownershipPercentage = ko.observable(typeof data.ownershipPercentage == 'undefined' ? 0 : data.ownershipPercentage).extend({ "number": { "params": { "ruleSet": null }, "message": "The field OwnershipPercentage must be a number." }, "required": { "params": { "ruleSet": "soft" }, "message": "Ownership percentage is required" }, "min": { "params": 1, "message": "Ownership percentage must be between 1% and 100%" }, "max": { "params": 100, "message": "Ownership percentage must be between 1% and 100%" }, "notEqual": { "params": 0, "message": "Ownership percentage is required" }, "errors": null, "isEmpty": true }); this.ownershipName = ko.observable(typeof data.ownershipName == 'undefined' ? null : data.ownershipName).extend({ "errors": null, "isEmpty": true }); } VendorOwnershipViewModel.unmap = { "include": [ "vendorOwnershipId", "vendorId", "ownershipAddress", "addressId", "ownershipPercentage", "ownershipName" ], "ignore": [], "ownershipAddress": AddressViewModel.unmap }; VendorOwnershipViewModel.key = 'vendorOwnershipId'; function PackageRequestModel(data, extend) { data = data || {}; this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.ipAddress = ko.observable(typeof data.ipAddress == 'undefined' ? null : data.ipAddress).extend({ "errors": null, "isEmpty": true }); this.address = ko.observable(new AddressViewModel(data.address)).extend({ "type": { "type": AddressViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); } PackageRequestModel.unmap = { "include": [ "productId", "ipAddress", "address" ], "ignore": [], "address": AddressViewModel.unmap }; PackageRequestModel.key = 'productId'; function PackageViewModel(data, extend) { data = data || {}; this.product = ko.observable(typeof data.product == 'undefined' ? null : data.product).extend({ "errors": null, "isEmpty": true }); this.brand = ko.observable(typeof data.brand == 'undefined' ? null : data.brand).extend({ "errors": null, "isEmpty": true }); this.vendor = ko.observable(typeof data.vendor == 'undefined' ? null : data.vendor).extend({ "errors": null, "isEmpty": true }); this.ipAddress = ko.observable(typeof data.ipAddress == 'undefined' ? null : data.ipAddress).extend({ "errors": null, "isEmpty": true }); this.address = ko.observable(new AddressViewModel(data.address)).extend({ "type": { "type": AddressViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.distance = new UnitValue(data.distance); this.score = ko.observable(typeof data.score == 'undefined' ? null : data.score).extend({ "errors": null, "isEmpty": true }); this.attributes = ko.observableArray(data.attributes ? $.map(data.attributes, function(value, key) { return new LabelAttribute(value); }) : []).extend({ "arrayType": LabelAttribute, "errors": null, "isEmpty": true }); this.related = ko.observableArray(data.related || []).extend({ "errors": null, "isEmpty": true }); this.url = ko.observable(typeof data.url == 'undefined' ? null : data.url).extend({ "errors": null, "isEmpty": true }); } PackageViewModel.unmap = { "include": [ "product", "brand", "vendor", "ipAddress", "address", "distance", "score", "attributes", "related", "url" ], "ignore": [], "address": AddressViewModel.unmap, "distance": UnitValue.unmap }; function AddressList(data, extend) { data = data || {}; this.hasCoordinates = ko.observable(typeof data.hasCoordinates == 'undefined' ? null : data.hasCoordinates).extend({ "errors": null, "isEmpty": true }); this.autocomplete = ko.observable(typeof data.autocomplete == 'undefined' ? false : data.autocomplete).extend({ "errors": null, "isEmpty": true }); this.addressScope = ko.observable(typeof data.addressScope == 'undefined' ? null : data.addressScope).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new AddressViewModel(value); }) : []).extend({ "arrayType": AddressViewModel, "errors": null, "isEmpty": true }); } AddressList.unmap = { "include": [ "hasCoordinates", "autocomplete", "addressScope", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductIngredientItemList(data, extend) { data = data || {}; this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductIngredientItemViewModel(value); }) : []).extend({ "arrayType": ProductIngredientItemViewModel, "errors": null, "isEmpty": true }); } ProductIngredientItemList.unmap = { "include": [ "productId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductIngredientList(data, extend) { data = data || {}; this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductIngredientViewModel(value); }) : []).extend({ "arrayType": ProductIngredientViewModel, "errors": null, "isEmpty": true }); } ProductIngredientList.unmap = { "include": [ "productId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductApprovalViewModel(data, extend) { data = data || {}; this.pending = ko.observable(new ProductViewModel(data.pending)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.approved = ko.observable(new ProductViewModel(data.approved)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); } ProductApprovalViewModel.unmap = { "include": [ "pending", "approved" ], "ignore": [], "pending": ProductViewModel.unmap, "approved": ProductViewModel.unmap }; function ProductBulkViewModel(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? null : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.pending = ko.observable(typeof data.pending == 'undefined' ? null : data.pending).extend({ "errors": null, "isEmpty": true }); this.published = ko.observable(typeof data.published == 'undefined' ? null : data.published).extend({ "errors": null, "isEmpty": true }); this.valid = ko.observable(typeof data.valid == 'undefined' ? null : data.valid).extend({ "errors": null, "isEmpty": true }); this.targetAll = ko.observable(typeof data.targetAll == 'undefined' ? false : data.targetAll).extend({ "errors": null, "isEmpty": true }); this.targetIds = ko.observableArray(data.targetIds || []).extend({ "errors": null, "isEmpty": true }); this.source = ko.observable(new ProductViewModel(data.source)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.fields = ko.observableArray(data.fields || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductViewModel(value); }) : []).extend({ "arrayType": ProductViewModel, "errors": null, "isEmpty": true }); } ProductBulkViewModel.unmap = { "include": [ "vendorId", "brandId", "pending", "published", "valid", "targetAll", "targetIds", "source", "fields", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ], "source": ProductViewModel.unmap }; function ProductDiffViewModel(data, extend) { data = data || {}; this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.left = ko.observable(new ProductViewModel(data.left)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.right = ko.observable(new ProductViewModel(data.right)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.properties = ko.observableArray(data.properties ? $.map(data.properties, function(value, key) { return new PropertyDiffViewModel(value); }) : []).extend({ "arrayType": PropertyDiffViewModel, "errors": null, "isEmpty": true }); } ProductDiffViewModel.unmap = { "include": [ "productId", "left", "right", "properties" ], "ignore": [], "left": ProductViewModel.unmap, "right": ProductViewModel.unmap }; ProductDiffViewModel.key = 'productId'; function ProductList(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? null : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.pending = ko.observable(typeof data.pending == 'undefined' ? null : data.pending).extend({ "errors": null, "isEmpty": true }); this.published = ko.observable(typeof data.published == 'undefined' ? null : data.published).extend({ "errors": null, "isEmpty": true }); this.valid = ko.observable(typeof data.valid == 'undefined' ? null : data.valid).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductViewModel(value); }) : []).extend({ "arrayType": ProductViewModel, "errors": null, "isEmpty": true }); } ProductList.unmap = { "include": [ "vendorId", "brandId", "pending", "published", "valid", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function VendorViewModel(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.createdAt = ko.observable(typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt).extend({ "errors": null, "isEmpty": true }); this.createdById = ko.observable(typeof data.createdById == 'undefined' ? 0 : data.createdById).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CreatedById must be a number." }, "errors": null, "isEmpty": true }); this.createdByName = ko.observable(typeof data.createdByName == 'undefined' ? null : data.createdByName).extend({ "errors": null, "isEmpty": true }); this.updatedAt = ko.observable(typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt).extend({ "errors": null, "isEmpty": true }); this.updatedById = ko.observable(typeof data.updatedById == 'undefined' ? 0 : data.updatedById).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UpdatedById must be a number." }, "errors": null, "isEmpty": true }); this.updatedByName = ko.observable(typeof data.updatedByName == 'undefined' ? null : data.updatedByName).extend({ "errors": null, "isEmpty": true }); this.approvedAt = ko.observable(typeof data.approvedAt == 'undefined' ? null : data.approvedAt).extend({ "errors": null, "isEmpty": true }); this.approvedById = ko.observable(typeof data.approvedById == 'undefined' ? 0 : data.approvedById).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ApprovedById must be a number." }, "errors": null, "isEmpty": true }); this.approvedByName = ko.observable(typeof data.approvedByName == 'undefined' ? null : data.approvedByName).extend({ "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "errors": null, "isEmpty": true, "flags": VendorStatus }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a company name" }, "maxLength": { "params": 255, "message": "'Company name' must be between 0 and 255 characters." }, "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.isValid = ko.observable(typeof data.isValid == 'undefined' ? false : data.isValid).extend({ "errors": null, "isEmpty": true }); this.claimedAt = ko.observable(typeof data.claimedAt == 'undefined' ? null : data.claimedAt).extend({ "errors": null, "isEmpty": true }); this.reviewedAt = ko.observable(typeof data.reviewedAt == 'undefined' ? null : data.reviewedAt).extend({ "errors": null, "isEmpty": true }); this.addressId = ko.observable(typeof data.addressId == 'undefined' ? null : data.addressId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field AddressId must be a number." }, "errors": null, "isEmpty": true }); this.ownershipLocations = ko.observableArray(data.ownershipLocations ? $.map(data.ownershipLocations, function(value, key) { return new VendorOwnershipViewModel(value); }) : []).extend({ "arrayType": VendorOwnershipViewModel, "errors": null, "isEmpty": true }); this.contactAddress = ko.observable((typeof data.contactAddress == 'undefined' || !data.contactAddress) ? null : new AddressViewModel(data.contactAddress)).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a contact address" }, "type": { "type": AddressViewModel, "allowNull": true }, "errors": 1, "isEmpty": true }); this.media = new VendorMediaViewModel(data.media); this.distributionCapacity = new DistributionCapacityViewModel(data.distributionCapacity); this.profile = new VendorProfileViewModel(data.profile); this.marketing = new MarketingViewModel(data.marketing); this.safetyRecall = new SafetyRecallViewModel(data.safetyRecall); this.features = ko.observableArray(data.features || []).extend({ "errors": null, "isEmpty": true }); this.channels = ko.observableArray(data.channels || []).extend({ "errors": null, "isEmpty": true }); this.errors = ko.observableArray(data.errors || []).extend({ "errors": null, "isEmpty": true }); } VendorViewModel.unmap = { "include": [ "vendorId", "name", "isActive", "addressId", "ownershipLocations", "contactAddress", "media", "distributionCapacity", "profile", "marketing", "safetyRecall", "features", "channels" ], "ignore": [ "createdAt", "createdById", "createdByName", "updatedAt", "updatedById", "updatedByName", "approvedAt", "approvedById", "approvedByName", "status", "isValid", "claimedAt", "reviewedAt", "errors" ], "contactAddress": AddressViewModel.unmap, "media": VendorMediaViewModel.unmap, "distributionCapacity": DistributionCapacityViewModel.unmap, "profile": VendorProfileViewModel.unmap, "marketing": MarketingViewModel.unmap, "safetyRecall": SafetyRecallViewModel.unmap }; VendorViewModel.key = 'vendorId'; function RequestVendorViewModel(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.vendor = new VendorViewModel(data.vendor); this.requestId = typeof data.requestId == 'undefined' ? 0 : data.requestId; this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.requestedAt = typeof data.requestedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.requestedAt; this.cancelledAt = ko.observable(typeof data.cancelledAt == 'undefined' ? null : data.cancelledAt).extend({ "errors": null, "isEmpty": true }); this.completedAt = ko.observable(typeof data.completedAt == 'undefined' ? null : data.completedAt).extend({ "errors": null, "isEmpty": true }); this.archivedAt = ko.observable(typeof data.archivedAt == 'undefined' ? null : data.archivedAt).extend({ "errors": null, "isEmpty": true }); this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.user = new ListItem(data.user); this.targetUserId = typeof data.targetUserId == 'undefined' ? null : data.targetUserId; this.targetUser = new ListItem(data.targetUser); this.completedUserId = typeof data.completedUserId == 'undefined' ? null : data.completedUserId; this.completedUser = new ListItem(data.completedUser); this.notes = typeof data.notes == 'undefined' ? null : data.notes; this.requestTypeId = typeof data.requestTypeId == 'undefined' ? 0 : data.requestTypeId; this.batchId = typeof data.batchId == 'undefined' ? null : data.batchId; } RequestVendorViewModel.unmap = { "include": [ "vendorId", "vendor", "requestId", "status", "requestedAt", "cancelledAt", "completedAt", "archivedAt", "userId", "user", "targetUserId", "targetUser", "completedUserId", "completedUser", "notes", "requestTypeId", "batchId" ], "ignore": [], "vendor": VendorViewModel.unmap, "user": ListItem.unmap, "targetUser": ListItem.unmap, "completedUser": ListItem.unmap }; RequestVendorViewModel.key = 'requestId'; function VendorDiffViewModel(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.left = ko.observable(new VendorViewModel(data.left)).extend({ "type": { "type": VendorViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.right = ko.observable(new VendorViewModel(data.right)).extend({ "type": { "type": VendorViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.properties = ko.observableArray(data.properties ? $.map(data.properties, function(value, key) { return new PropertyDiffViewModel(value); }) : []).extend({ "arrayType": PropertyDiffViewModel, "errors": null, "isEmpty": true }); } VendorDiffViewModel.unmap = { "include": [ "vendorId", "left", "right", "properties" ], "ignore": [], "left": VendorViewModel.unmap, "right": VendorViewModel.unmap }; VendorDiffViewModel.key = 'vendorId'; function VendorList(data, extend) { data = data || {}; this.pending = ko.observable(typeof data.pending == 'undefined' ? null : data.pending).extend({ "errors": null, "isEmpty": true }); this.claimed = ko.observable(typeof data.claimed == 'undefined' ? null : data.claimed).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new VendorViewModel(value); }) : []).extend({ "arrayType": VendorViewModel, "errors": null, "isEmpty": true }); } VendorList.unmap = { "include": [ "pending", "claimed", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProcurementViewModel(data, extend) { data = data || {}; this.requestId = ko.observable(typeof data.requestId == 'undefined' ? 0 : data.requestId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RequestId must be a number." }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? 0 : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.brandName = ko.observable(typeof data.brandName == 'undefined' ? null : data.brandName).extend({ "errors": null, "isEmpty": true }); this.targetName = ko.observable(typeof data.targetName == 'undefined' ? null : data.targetName).extend({ "errors": null, "isEmpty": true }); this.categories = ko.observableArray(data.categories || []).extend({ "errors": null, "isEmpty": true }); this.response = ko.observable(typeof data.response == 'undefined' ? null : data.response).extend({ "errors": null, "isEmpty": true }); this.feedback = ko.observable(typeof data.feedback == 'undefined' ? null : data.feedback).extend({ "errors": null, "isEmpty": true }); this.isFavoriteBrand = ko.observable(typeof data.isFavoriteBrand == 'undefined' ? false : data.isFavoriteBrand).extend({ "errors": null, "isEmpty": true }); this.relevance = ko.observable(typeof data.relevance == 'undefined' ? null : data.relevance).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Relevance must be a number." }, "errors": null, "isEmpty": true }); this.meetsAllCriteria = ko.observable(typeof data.meetsAllCriteria == 'undefined' ? false : data.meetsAllCriteria).extend({ "errors": null, "isEmpty": true }); this.meetsMandatoryCriteria = ko.observable(typeof data.meetsMandatoryCriteria == 'undefined' ? false : data.meetsMandatoryCriteria).extend({ "errors": null, "isEmpty": true }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? null : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.relatedGrocerIds = ko.observableArray(data.relatedGrocerIds || []).extend({ "errors": null, "isEmpty": true }); this.accepted = ko.observable(typeof data.accepted == 'undefined' ? null : data.accepted).extend({ "errors": null, "isEmpty": true }); this.completedAt = ko.observable(typeof data.completedAt == 'undefined' ? null : data.completedAt).extend({ "errors": null, "isEmpty": true }); this.requestedAt = ko.observable(typeof data.requestedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.requestedAt).extend({ "errors": null, "isEmpty": true }); this.products = ko.observableArray(data.products || []).extend({ "errors": null, "isEmpty": true }); this.strength = ko.observable(typeof data.strength == 'undefined' ? 0 : data.strength).extend({ "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.vendor = new VendorViewModel(data.vendor); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.cancelledAt = ko.observable(typeof data.cancelledAt == 'undefined' ? null : data.cancelledAt).extend({ "errors": null, "isEmpty": true }); this.archivedAt = ko.observable(typeof data.archivedAt == 'undefined' ? null : data.archivedAt).extend({ "errors": null, "isEmpty": true }); this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.user = new ListItem(data.user); this.targetUserId = typeof data.targetUserId == 'undefined' ? null : data.targetUserId; this.targetUser = new ListItem(data.targetUser); this.completedUserId = typeof data.completedUserId == 'undefined' ? null : data.completedUserId; this.completedUser = new ListItem(data.completedUser); this.notes = typeof data.notes == 'undefined' ? null : data.notes; this.requestTypeId = typeof data.requestTypeId == 'undefined' ? 0 : data.requestTypeId; this.batchId = typeof data.batchId == 'undefined' ? null : data.batchId; } ProcurementViewModel.unmap = { "include": [ "requestId", "brandId", "brandName", "targetName", "categories", "response", "feedback", "isFavoriteBrand", "relevance", "meetsAllCriteria", "meetsMandatoryCriteria", "bannerId", "grocerId", "relatedGrocerIds", "accepted", "completedAt", "requestedAt", "products", "strength", "vendorId", "vendor", "status", "cancelledAt", "archivedAt", "userId", "user", "targetUserId", "targetUser", "completedUserId", "completedUser", "notes", "requestTypeId", "batchId" ], "ignore": [], "vendor": VendorViewModel.unmap, "user": ListItem.unmap, "targetUser": ListItem.unmap, "completedUser": ListItem.unmap }; ProcurementViewModel.key = 'requestId'; function ProductSearchViewModel(data, extend) { data = data || {}; this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? 0 : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.locationId = ko.observable(typeof data.locationId == 'undefined' ? 0 : data.locationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LocationId must be a number." }, "errors": null, "isEmpty": true }); this.distance = new UnitValue(data.distance); this.score = ko.observable(typeof data.score == 'undefined' ? 0.0 : data.score).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score must be a number." }, "errors": null, "isEmpty": true }); this.productionScore = ko.observable(typeof data.productionScore == 'undefined' ? 0.0 : data.productionScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductionScore must be a number." }, "errors": null, "isEmpty": true }); this.ownershipScore = ko.observable(typeof data.ownershipScore == 'undefined' ? 0.0 : data.ownershipScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field OwnershipScore must be a number." }, "errors": null, "isEmpty": true }); this.ingredientScore = ko.observable(typeof data.ingredientScore == 'undefined' ? 0.0 : data.ingredientScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field IngredientScore must be a number." }, "errors": null, "isEmpty": true }); this.isMatched = ko.observable(typeof data.isMatched == 'undefined' ? false : data.isMatched).extend({ "errors": null, "isEmpty": true }); this.allowMatch = ko.observable(typeof data.allowMatch == 'undefined' ? false : data.allowMatch).extend({ "errors": null, "isEmpty": true }); this.matchedProductCount = ko.observable(typeof data.matchedProductCount == 'undefined' ? 0 : data.matchedProductCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MatchedProductCount must be a number." }, "errors": null, "isEmpty": true }); this.brandProductCount = ko.observable(typeof data.brandProductCount == 'undefined' ? 0 : data.brandProductCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandProductCount must be a number." }, "errors": null, "isEmpty": true }); this.relevance = ko.observable(typeof data.relevance == 'undefined' ? 0.0 : data.relevance).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Relevance must be a number." }, "errors": null, "isEmpty": true }); this.isFavorite = ko.observable(typeof data.isFavorite == 'undefined' ? false : data.isFavorite).extend({ "errors": null, "isEmpty": true }); this.attributes = ko.observableArray(data.attributes ? $.map(data.attributes, function(value, key) { return new LabelAttribute(value); }) : []).extend({ "arrayType": LabelAttribute, "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.product = new ProductViewModel(data.product); this.vendor = new VendorViewModel(data.vendor); this.locationName = ko.observable(typeof data.locationName == 'undefined' ? null : data.locationName).extend({ "errors": null, "isEmpty": true }); this.locationCode = ko.observable(typeof data.locationCode == 'undefined' ? null : data.locationCode).extend({ "errors": null, "isEmpty": true }); this.meetsAllCriteria = ko.observable(typeof data.meetsAllCriteria == 'undefined' ? false : data.meetsAllCriteria).extend({ "errors": null, "isEmpty": true }); this.meetsMandatoryCriteria = ko.observable(typeof data.meetsMandatoryCriteria == 'undefined' ? false : data.meetsMandatoryCriteria).extend({ "errors": null, "isEmpty": true }); this.strength = typeof data.strength == 'undefined' ? 0 : data.strength; } ProductSearchViewModel.unmap = { "include": [ "productCatalogId", "grocerId", "productId", "locationId", "distance", "score", "productionScore", "ownershipScore", "ingredientScore", "isMatched", "allowMatch", "matchedProductCount", "brandProductCount", "relevance", "isFavorite", "attributes", "createdAt", "updatedAt", "product", "vendor", "locationName", "locationCode", "meetsAllCriteria", "meetsMandatoryCriteria", "strength" ], "ignore": [], "distance": UnitValue.unmap, "product": ProductViewModel.unmap, "vendor": VendorViewModel.unmap }; ProductSearchViewModel.key = 'productCatalogId'; function VendorRequestList(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.archived = ko.observable(typeof data.archived == 'undefined' ? false : data.archived).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new RequestVendorViewModel(value); }) : []).extend({ "arrayType": RequestVendorViewModel, "errors": null, "isEmpty": true }); } VendorRequestList.unmap = { "include": [ "vendorId", "status", "archived", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProcurementList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? null : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.includeCancelled = ko.observable(typeof data.includeCancelled == 'undefined' ? null : data.includeCancelled).extend({ "errors": null, "isEmpty": true }); this.includeCompleted = ko.observable(typeof data.includeCompleted == 'undefined' ? null : data.includeCompleted).extend({ "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.archived = ko.observable(typeof data.archived == 'undefined' ? false : data.archived).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProcurementViewModel(value); }) : []).extend({ "arrayType": ProcurementViewModel, "errors": null, "isEmpty": true }); } ProcurementList.unmap = { "include": [ "grocerId", "productCatalogId", "includeCancelled", "includeCompleted", "vendorId", "status", "archived", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function BrandSearchViewModel(data, extend) { data = data || {}; this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? 0 : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? 0 : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.isFavorite = ko.observable(typeof data.isFavorite == 'undefined' ? false : data.isFavorite).extend({ "errors": null, "isEmpty": true }); this.vendor = new VendorViewModel(data.vendor); this.request = new ProcurementViewModel(data.request); } BrandSearchViewModel.unmap = { "include": [ "productCatalogId", "grocerId", "name", "brandId", "isFavorite", "vendor", "request" ], "ignore": [], "vendor": VendorViewModel.unmap, "request": ProcurementViewModel.unmap }; BrandSearchViewModel.key = 'productCatalogId'; function ProductSearchList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Grocer must be a number." }, "required": { "params": { "ruleSet": null }, "message": "Please select a store" }, "notEqual": { "params": 0, "message": "Please select a store" }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); this.bannerId = typeof data.bannerId == 'undefined' ? null : data.bannerId; this.distance = new UnitValue(data.distance); this.distance.unitGroup = "distance"; this.city = ko.observable(typeof data.city == 'undefined' ? null : data.city).extend({ "errors": null, "isEmpty": true }); this.region = ko.observable(typeof data.region == 'undefined' ? null : data.region).extend({ "number": { "params": { "ruleSet": null }, "message": "The field State/Province must be a number." }, "errors": null, "isEmpty": true }); this.country = ko.observable(typeof data.country == 'undefined' ? null : data.country).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Country must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Vendor must be a number." }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? null : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.brand = ko.observable(typeof data.brand == 'undefined' ? null : data.brand).extend({ "errors": null, "isEmpty": true }); this.requestId = ko.observable(typeof data.requestId == 'undefined' ? null : data.requestId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RequestId must be a number." }, "errors": null, "isEmpty": true }); this.ingredients = ko.observableArray(data.ingredients || []).extend({ "errors": null, "isEmpty": true }); this.categories = ko.observableArray(data.categories || []).extend({ "errors": null, "isEmpty": true }); this.certifications = ko.observableArray(data.certifications || []).extend({ "errors": null, "isEmpty": true }); this.packagingLanguages = ko.observableArray(data.packagingLanguages || []).extend({ "errors": null, "isEmpty": true }); this.distributionCapability = ko.observableArray(data.distributionCapability || []).extend({ "errors": null, "isEmpty": true }); this.distributionChannel = ko.observableArray(data.distributionChannel || []).extend({ "errors": null, "isEmpty": true }); this.targetAudience = ko.observableArray(data.targetAudience || []).extend({ "errors": null, "isEmpty": true }); this.excludeProducts = ko.observableArray(data.excludeProducts || []).extend({ "errors": null, "isEmpty": true }); this.includeProducts = ko.observableArray(data.includeProducts || []).extend({ "errors": null, "isEmpty": true }); this.distributor = ko.observable(typeof data.distributor == 'undefined' ? null : data.distributor).extend({ "errors": null, "isEmpty": true }); this.packagingIngredientsList = ko.observable(typeof data.packagingIngredientsList == 'undefined' ? false : data.packagingIngredientsList).extend({ "errors": null, "isEmpty": true }); this.packagingNutritional = ko.observable(typeof data.packagingNutritional == 'undefined' ? false : data.packagingNutritional).extend({ "errors": null, "isEmpty": true }); this.packagingUpc = ko.observable(typeof data.packagingUpc == 'undefined' ? false : data.packagingUpc).extend({ "errors": null, "isEmpty": true }); this.haccp = ko.observable(typeof data.haccp == 'undefined' ? false : data.haccp).extend({ "errors": null, "isEmpty": true }); this.gap = ko.observable(typeof data.gap == 'undefined' ? false : data.gap).extend({ "errors": null, "isEmpty": true }); this.gacp = ko.observable(typeof data.gacp == 'undefined' ? false : data.gacp).extend({ "errors": null, "isEmpty": true }); this.federallyInspected = ko.observable(typeof data.federallyInspected == 'undefined' ? false : data.federallyInspected).extend({ "errors": null, "isEmpty": true }); this.provinciallyInspected = ko.observable(typeof data.provinciallyInspected == 'undefined' ? false : data.provinciallyInspected).extend({ "errors": null, "isEmpty": true }); this.licensedKitchen = ko.observable(typeof data.licensedKitchen == 'undefined' ? false : data.licensedKitchen).extend({ "errors": null, "isEmpty": true }); this.recallProcedures = ko.observable(typeof data.recallProcedures == 'undefined' ? false : data.recallProcedures).extend({ "errors": null, "isEmpty": true }); this.recallInsurance = ko.observable(typeof data.recallInsurance == 'undefined' ? false : data.recallInsurance).extend({ "errors": null, "isEmpty": true }); this.canPrivateLabel = ko.observable(typeof data.canPrivateLabel == 'undefined' ? false : data.canPrivateLabel).extend({ "errors": null, "isEmpty": true }); this.availableForDemo = ko.observable(typeof data.availableForDemo == 'undefined' ? false : data.availableForDemo).extend({ "errors": null, "isEmpty": true }); this.minCost = new UnitValue(data.minCost); this.minCost.unitGroup = "currency"; this.maxCost = new UnitValue(data.maxCost); this.maxCost.unitGroup = "currency"; this.minMsrp = new UnitValue(data.minMsrp); this.minMsrp.unitGroup = "currency"; this.maxMsrp = new UnitValue(data.maxMsrp); this.maxMsrp.unitGroup = "currency"; this.minMarketingBudget = new UnitValue(data.minMarketingBudget); this.minMarketingBudget.unitGroup = "currency"; this.minLiabilityInsurance = new UnitValue(data.minLiabilityInsurance); this.minLiabilityInsurance.unitGroup = "currency"; this.maxLeadTime = ko.observable(typeof data.maxLeadTime == 'undefined' ? null : data.maxLeadTime).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Maximum Lead Time (Days) must be a number." }, "errors": null, "isEmpty": true }); this.isVendorView = ko.observable(typeof data.isVendorView == 'undefined' ? false : data.isVendorView).extend({ "errors": null, "isEmpty": true }); this.localOnly = ko.observable(typeof data.localOnly == 'undefined' ? false : data.localOnly).extend({ "errors": null, "isEmpty": true }); this.matchedOnly = ko.observable(typeof data.matchedOnly == 'undefined' ? false : data.matchedOnly).extend({ "errors": null, "isEmpty": true }); this.favoritesOnly = ko.observable(typeof data.favoritesOnly == 'undefined' ? false : data.favoritesOnly).extend({ "errors": null, "isEmpty": true }); this.madeProcurementRequestOnly = ko.observable(typeof data.madeProcurementRequestOnly == 'undefined' ? false : data.madeProcurementRequestOnly).extend({ "errors": null, "isEmpty": true }); this.includePrivateLabels = ko.observable(typeof data.includePrivateLabels == 'undefined' ? false : data.includePrivateLabels).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductSearchViewModel(value); }) : []).extend({ "arrayType": ProductSearchViewModel, "errors": null, "isEmpty": true }); } ProductSearchList.unmap = { "include": [ "grocerId", "bannerId", "distance", "city", "region", "country", "vendorId", "brandId", "brand", "requestId", "ingredients", "categories", "certifications", "packagingLanguages", "distributionCapability", "distributionChannel", "targetAudience", "excludeProducts", "includeProducts", "distributor", "packagingIngredientsList", "packagingNutritional", "packagingUpc", "haccp", "gap", "gacp", "federallyInspected", "provinciallyInspected", "licensedKitchen", "recallProcedures", "recallInsurance", "canPrivateLabel", "availableForDemo", "minCost", "maxCost", "minMsrp", "maxMsrp", "minMarketingBudget", "minLiabilityInsurance", "maxLeadTime", "isVendorView", "localOnly", "matchedOnly", "favoritesOnly", "madeProcurementRequestOnly", "includePrivateLabels", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ], "distance": UnitValue.unmap, "minCost": UnitValue.unmap, "maxCost": UnitValue.unmap, "minMsrp": UnitValue.unmap, "maxMsrp": UnitValue.unmap, "minMarketingBudget": UnitValue.unmap, "minLiabilityInsurance": UnitValue.unmap }; function CityViewModel(data, extend) { data = data || {}; this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.regionId = typeof data.regionId == 'undefined' ? 0 : data.regionId; } CityViewModel.unmap = { "include": [ "name", "regionId" ], "ignore": [] }; CityViewModel.key = 'name'; function CityList(data, extend) { data = data || {}; this.countryId = ko.observable(typeof data.countryId == 'undefined' ? null : data.countryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CountryId must be a number." }, "errors": null, "isEmpty": true }); this.regionId = ko.observable(typeof data.regionId == 'undefined' ? null : data.regionId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RegionId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new CityViewModel(value); }) : []).extend({ "arrayType": CityViewModel, "errors": null, "isEmpty": true }); } CityList.unmap = { "include": [ "countryId", "regionId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function LocationViewModel(data, extend) { data = data || {}; this.locationId = ko.observable(typeof data.locationId == 'undefined' ? 0 : data.locationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LocationId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.code = ko.observable(typeof data.code == 'undefined' ? null : data.code).extend({ "errors": null, "isEmpty": true }); this.isCountry = ko.observable(typeof data.isCountry == 'undefined' ? false : data.isCountry).extend({ "errors": null, "isEmpty": true }); this.parentLocationId = ko.observable(typeof data.parentLocationId == 'undefined' ? null : data.parentLocationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ParentLocationId must be a number." }, "errors": null, "isEmpty": true }); this.cultureCode = ko.observable(typeof data.cultureCode == 'undefined' ? null : data.cultureCode).extend({ "errors": null, "isEmpty": true }); } LocationViewModel.unmap = { "include": [ "locationId", "name", "code", "isCountry", "parentLocationId", "cultureCode" ], "ignore": [] }; function LocationList(data, extend) { data = data || {}; this.type = ko.observable(typeof data.type == 'undefined' ? null : data.type).extend({ "errors": null, "isEmpty": true }); this.parentLocationId = ko.observable(typeof data.parentLocationId == 'undefined' ? null : data.parentLocationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ParentLocationId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new LocationViewModel(value); }) : []).extend({ "arrayType": LocationViewModel, "errors": null, "isEmpty": true }); } LocationList.unmap = { "include": [ "type", "parentLocationId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function LanguageViewModel(data, extend) { data = data || {}; this.languageId = ko.observable(typeof data.languageId == 'undefined' ? 0 : data.languageId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LanguageId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); } LanguageViewModel.unmap = { "include": [ "languageId", "name" ], "ignore": [] }; function LanguageList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new LanguageViewModel(value); }) : []).extend({ "arrayType": LanguageViewModel, "errors": null, "isEmpty": true }); } LanguageList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function LabelItemViewModel(data, extend) { data = data || {}; this.labelId = ko.observable(typeof data.labelId == 'undefined' ? 0 : data.labelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelId must be a number." }, "errors": null, "isEmpty": true }); this.grocerProductId = ko.observable(typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductId must be a number." }, "errors": null, "isEmpty": true }); this.labelTypeId = ko.observable(typeof data.labelTypeId == 'undefined' ? 0 : data.labelTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelTypeId must be a number." }, "errors": null, "isEmpty": true }); this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true }); this.labelCount = ko.observable(typeof data.labelCount == 'undefined' ? null : data.labelCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelCount must be a number." }, "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.isSelected = ko.observable(typeof data.isSelected == 'undefined' ? false : data.isSelected).extend({ "errors": null, "isEmpty": true }); this.defaultCount = ko.observable(typeof data.defaultCount == 'undefined' ? 0 : data.defaultCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field DefaultCount must be a number." }, "errors": null, "isEmpty": true }); this.distance = ko.observable(typeof data.distance == 'undefined' ? null : data.distance).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Distance must be a number." }, "errors": null, "isEmpty": true }); } LabelItemViewModel.unmap = { "include": [ "labelId", "grocerProductId", "labelTypeId", "labelSetId", "labelCount", "createdAt", "updatedAt", "isSelected", "defaultCount", "distance" ], "ignore": [] }; function LabelItemList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.categoryId = ko.observable(typeof data.categoryId == 'undefined' ? null : data.categoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CategoryId must be a number." }, "errors": null, "isEmpty": true }); this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true }); this.labelTypeId = ko.observable(typeof data.labelTypeId == 'undefined' ? null : data.labelTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelTypeId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new LabelItemViewModel(value); }) : []).extend({ "arrayType": LabelItemViewModel, "errors": null, "isEmpty": true }); } LabelItemList.unmap = { "include": [ "grocerId", "categoryId", "labelSetId", "labelTypeId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function LabelSetViewModel(data, extend) { data = data || {}; this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? 0 : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.labelSetTypeId = ko.observable(typeof data.labelSetTypeId == 'undefined' ? 0 : data.labelSetTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetTypeId must be a number." }, "errors": null, "isEmpty": true }); this.isLocked = ko.observable(typeof data.isLocked == 'undefined' ? false : data.isLocked).extend({ "errors": null, "isEmpty": true }); this.isUserModified = ko.observable(typeof data.isUserModified == 'undefined' ? false : data.isUserModified).extend({ "errors": null, "isEmpty": true }); } LabelSetViewModel.unmap = { "include": [ "labelSetId", "grocerId", "name", "labelSetTypeId", "isLocked", "isUserModified" ], "ignore": [] }; LabelSetViewModel.key = 'labelSetId'; function PrintJobViewModel(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? 0 : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.bannerId" }); this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.labelSetId" }); this.labelTypeId = ko.observableArray(data.labelTypeId || []).extend({ "errors": null, "isEmpty": true, "cookie": "user.labelTypeId" }); this.isRequest = ko.observable(typeof data.isRequest == 'undefined' ? false : data.isRequest).extend({ "errors": null, "isEmpty": true }); this.isDoubleSided = ko.observable(typeof data.isDoubleSided == 'undefined' ? false : data.isDoubleSided).extend({ "errors": null, "isEmpty": true }); this.includeExport = ko.observable(typeof data.includeExport == 'undefined' ? false : data.includeExport).extend({ "errors": null, "isEmpty": true }); this.saveSpace = ko.observable(typeof data.saveSpace == 'undefined' ? false : data.saveSpace).extend({ "errors": null, "isEmpty": true }); this.notes = ko.observable(typeof data.notes == 'undefined' ? null : data.notes).extend({ "errors": null, "isEmpty": true }); this.grocerName = ko.observable(typeof data.grocerName == 'undefined' ? null : data.grocerName).extend({ "errors": null, "isEmpty": true }); this.labelSet = ko.observable((typeof data.labelSet == 'undefined' || !data.labelSet) ? null : new LabelSetViewModel(data.labelSet)).extend({ "type": { "type": LabelSetViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); } PrintJobViewModel.unmap = { "include": [ "grocerId", "bannerId", "labelSetId", "labelTypeId", "isRequest", "isDoubleSided", "includeExport", "saveSpace", "notes", "labelSet" ], "ignore": [ "grocerName" ], "labelSet": LabelSetViewModel.unmap }; function LabelSetList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true }); this.labelTypeId = ko.observableArray(data.labelTypeId || []).extend({ "errors": null, "isEmpty": true }); this.selected = ko.observable(typeof data.selected == 'undefined' ? null : data.selected).extend({ "errors": null, "isEmpty": true }); this.categoryId = ko.observable(typeof data.categoryId == 'undefined' ? null : data.categoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CategoryId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new LabelSetViewModel(value); }) : []).extend({ "arrayType": LabelSetViewModel, "errors": null, "isEmpty": true }); } LabelSetList.unmap = { "include": [ "grocerId", "labelSetId", "labelTypeId", "selected", "categoryId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function LabelTypeViewModel(data, extend) { data = data || {}; this.labelTypeId = ko.observable(typeof data.labelTypeId == 'undefined' ? 0 : data.labelTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelTypeId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); } LabelTypeViewModel.unmap = { "include": [ "labelTypeId", "name" ], "ignore": [] }; LabelTypeViewModel.Large = 1; LabelTypeViewModel.Standard = 2; LabelTypeViewModel.Small = 3; LabelTypeViewModel.key = 'labelTypeId'; function LabelTypeList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new LabelTypeViewModel(value); }) : []).extend({ "arrayType": LabelTypeViewModel, "errors": null, "isEmpty": true }); } LabelTypeList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function LabelViewModel(data, extend) { data = data || {}; this.labelId = ko.observable(typeof data.labelId == 'undefined' ? 0 : data.labelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelId must be a number." }, "errors": null, "isEmpty": true }); this.grocerProductId = ko.observable(typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductId must be a number." }, "errors": null, "isEmpty": true }); this.labelTypeId = ko.observable(typeof data.labelTypeId == 'undefined' ? 0 : data.labelTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelTypeId must be a number." }, "errors": null, "isEmpty": true }); this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true }); this.labelCount = ko.observable(typeof data.labelCount == 'undefined' ? null : data.labelCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelCount must be a number." }, "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.isSelected = ko.observable(typeof data.isSelected == 'undefined' ? false : data.isSelected).extend({ "errors": null, "isEmpty": true }); this.defaultCount = ko.observable(typeof data.defaultCount == 'undefined' ? 0 : data.defaultCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field DefaultCount must be a number." }, "errors": null, "isEmpty": true }); this.distance = new UnitValue(data.distance); this.upc = ko.observable(typeof data.upc == 'undefined' ? null : data.upc).extend({ "errors": null, "isEmpty": true }); this.productName = ko.observable(typeof data.productName == 'undefined' ? null : data.productName).extend({ "errors": null, "isEmpty": true }); this.vendorName = ko.observable(typeof data.vendorName == 'undefined' ? null : data.vendorName).extend({ "errors": null, "isEmpty": true }); this.score = ko.observable(typeof data.score == 'undefined' ? 0.0 : data.score).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score must be a number." }, "errors": null, "isEmpty": true }); this.template = ko.observable(typeof data.template == 'undefined' ? null : data.template).extend({ "errors": null, "isEmpty": true }); this.attributes = ko.observable(typeof data.attributes == 'undefined' ? null : data.attributes).extend({ "errors": null, "isEmpty": true }); this.category = ko.observable(typeof data.category == 'undefined' ? null : data.category).extend({ "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.productionScore = ko.observable(typeof data.productionScore == 'undefined' ? 0.0 : data.productionScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductionScore must be a number." }, "errors": null, "isEmpty": true }); this.ingredientScore = ko.observable(typeof data.ingredientScore == 'undefined' ? 0.0 : data.ingredientScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field IngredientScore must be a number." }, "errors": null, "isEmpty": true }); this.ownershipScore = ko.observable(typeof data.ownershipScore == 'undefined' ? 0.0 : data.ownershipScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field OwnershipScore must be a number." }, "errors": null, "isEmpty": true }); this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "errors": null, "isEmpty": true }); this.subCategory = ko.observable(typeof data.subCategory == 'undefined' ? null : data.subCategory).extend({ "errors": null, "isEmpty": true }); } LabelViewModel.unmap = { "include": [ "labelId", "grocerProductId", "labelTypeId", "labelSetId", "labelCount", "createdAt", "updatedAt", "isSelected", "defaultCount", "distance", "upc", "productName", "vendorName", "score", "template", "attributes", "category", "productId", "description", "productionScore", "ingredientScore", "ownershipScore", "website", "subCategory" ], "ignore": [], "distance": UnitValue.unmap }; function LabelList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.categoryId = ko.observable(typeof data.categoryId == 'undefined' ? null : data.categoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CategoryId must be a number." }, "errors": null, "isEmpty": true }); this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true }); this.labelTypeId = ko.observable(typeof data.labelTypeId == 'undefined' ? null : data.labelTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelTypeId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new LabelViewModel(value); }) : []).extend({ "arrayType": LabelViewModel, "errors": null, "isEmpty": true }); } LabelList.unmap = { "include": [ "grocerId", "categoryId", "labelSetId", "labelTypeId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ImportEntityItemViewModel(data, extend) { data = data || {}; this.importEntityId = typeof data.importEntityId == 'undefined' ? 0 : data.importEntityId; this.importId = typeof data.importId == 'undefined' ? 0 : data.importId; this.targetType = typeof data.targetType == 'undefined' ? 0 : data.targetType; this.targetId = typeof data.targetId == 'undefined' ? null : data.targetId; this.score = typeof data.score == 'undefined' ? 0.0 : data.score; this.operation = typeof data.operation == 'undefined' ? null : data.operation; this.confidence = typeof data.confidence == 'undefined' ? 0.0 : data.confidence; this.isConflicted = typeof data.isConflicted == 'undefined' ? false : data.isConflicted; this.isManual = typeof data.isManual == 'undefined' ? false : data.isManual; this.name = typeof data.name == 'undefined' ? null : data.name; this.imported = typeof data.imported == 'undefined' ? null : data.imported; this.matched = typeof data.matched == 'undefined' ? null : data.matched; } ImportEntityItemViewModel.unmap = { "include": [ "importEntityId", "importId", "targetType", "targetId", "score", "operation", "confidence", "isConflicted", "isManual", "name", "imported", "matched" ], "ignore": [] }; ImportEntityItemViewModel.key = 'importEntityId'; function ImportEntityItemList(data, extend) { data = data || {}; this.importId = ko.observable(typeof data.importId == 'undefined' ? null : data.importId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ImportId must be a number." }, "errors": null, "isEmpty": true }); this.parentsForId = ko.observable(typeof data.parentsForId == 'undefined' ? null : data.parentsForId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ParentsForId must be a number." }, "errors": null, "isEmpty": true }); this.targetType = ko.observable(typeof data.targetType == 'undefined' ? null : data.targetType).extend({ "errors": null, "isEmpty": true }); this.operation = ko.observable(typeof data.operation == 'undefined' ? null : data.operation).extend({ "errors": null, "isEmpty": true }); this.minScore = ko.observable(typeof data.minScore == 'undefined' ? null : data.minScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MinScore must be a number." }, "errors": null, "isEmpty": true }); this.maxScore = ko.observable(typeof data.maxScore == 'undefined' ? null : data.maxScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MaxScore must be a number." }, "errors": null, "isEmpty": true }); this.conflicted = ko.observable(typeof data.conflicted == 'undefined' ? null : data.conflicted).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ImportEntityItemViewModel(value); }) : []).extend({ "arrayType": ImportEntityItemViewModel, "errors": null, "isEmpty": true }); } ImportEntityItemList.unmap = { "include": [ "importId", "parentsForId", "targetType", "operation", "minScore", "maxScore", "conflicted", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ImportEntityViewModel(data, extend) { data = data || {}; this.importEntityId = ko.observable(typeof data.importEntityId == 'undefined' ? 0 : data.importEntityId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ImportEntityId must be a number." }, "errors": null, "isEmpty": true }); this.importId = ko.observable(typeof data.importId == 'undefined' ? 0 : data.importId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ImportId must be a number." }, "errors": null, "isEmpty": true }); this.targetType = ko.observable(typeof data.targetType == 'undefined' ? 0 : data.targetType).extend({ "errors": null, "isEmpty": true }); this.targetId = ko.observable(typeof data.targetId == 'undefined' ? null : data.targetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TargetId must be a number." }, "errors": null, "isEmpty": true }); this.score = ko.observable(typeof data.score == 'undefined' ? 0.0 : data.score).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score must be a number." }, "errors": null, "isEmpty": true }); this.operation = ko.observable(typeof data.operation == 'undefined' ? null : data.operation).extend({ "errors": null, "isEmpty": true }); this.name = typeof data.name == 'undefined' ? null : data.name; this.isConflicted = ko.observable(typeof data.isConflicted == 'undefined' ? false : data.isConflicted).extend({ "errors": null, "isEmpty": true }); this.isManual = ko.observable(typeof data.isManual == 'undefined' ? false : data.isManual).extend({ "errors": null, "isEmpty": true }); this.isLocked = ko.observable(typeof data.isLocked == 'undefined' ? false : data.isLocked).extend({ "errors": null, "isEmpty": true }); this.imported = ko.observable(typeof data.imported == 'undefined' ? null : data.imported).extend({ "errors": null, "isEmpty": true }); this.matched = ko.observable(typeof data.matched == 'undefined' ? null : data.matched).extend({ "errors": null, "isEmpty": true }); this.scoreData = ko.observableArray(data.scoreData || []).extend({ "errors": null, "isEmpty": true }); this.confidence = ko.observable(typeof data.confidence == 'undefined' ? 0.0 : data.confidence).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Confidence must be a number." }, "errors": null, "isEmpty": true }); } ImportEntityViewModel.unmap = { "include": [ "importEntityId", "importId", "targetType", "targetId", "operation", "name", "jsonData" ], "ignore": [ "score", "isConflicted", "isManual", "isLocked", "imported", "matched", "scoreData", "confidence" ] }; ImportEntityViewModel.key = 'importEntityId'; function ImportEntityList(data, extend) { data = data || {}; this.importId = ko.observable(typeof data.importId == 'undefined' ? null : data.importId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ImportId must be a number." }, "errors": null, "isEmpty": true }); this.parentsForId = ko.observable(typeof data.parentsForId == 'undefined' ? null : data.parentsForId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ParentsForId must be a number." }, "errors": null, "isEmpty": true }); this.targetType = ko.observable(typeof data.targetType == 'undefined' ? null : data.targetType).extend({ "errors": null, "isEmpty": true }); this.operation = ko.observable(typeof data.operation == 'undefined' ? null : data.operation).extend({ "errors": null, "isEmpty": true }); this.minScore = ko.observable(typeof data.minScore == 'undefined' ? null : data.minScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MinScore must be a number." }, "errors": null, "isEmpty": true }); this.maxScore = ko.observable(typeof data.maxScore == 'undefined' ? null : data.maxScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MaxScore must be a number." }, "errors": null, "isEmpty": true }); this.conflicted = ko.observable(typeof data.conflicted == 'undefined' ? null : data.conflicted).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ImportEntityViewModel(value); }) : []).extend({ "arrayType": ImportEntityViewModel, "errors": null, "isEmpty": true }); } ImportEntityList.unmap = { "include": [ "importId", "parentsForId", "targetType", "operation", "minScore", "maxScore", "conflicted", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ImportItemViewModel(data, extend) { data = data || {}; this.importId = typeof data.importId == 'undefined' ? 0 : data.importId; this.state = typeof data.state == 'undefined' ? 0 : data.state; this.startedAt = typeof data.startedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.startedAt; this.completedAt = typeof data.completedAt == 'undefined' ? null : data.completedAt; this.mapping = typeof data.mapping == 'undefined' ? null : data.mapping; this.records = typeof data.records == 'undefined' ? 0 : data.records; } ImportItemViewModel.unmap = { "include": [ "importId", "state", "startedAt", "completedAt", "mapping", "records" ], "ignore": [] }; ImportItemViewModel.key = 'importId'; function ImportItemList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ImportItemViewModel(value); }) : []).extend({ "arrayType": ImportItemViewModel, "errors": null, "isEmpty": true }); } ImportItemList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ImportSummaryViewModel(data, extend) { data = data || {}; this.targetType = ko.observable(typeof data.targetType == 'undefined' ? 0 : data.targetType).extend({ "errors": null, "isEmpty": true }); this.records = ko.observable(typeof data.records == 'undefined' ? 0 : data.records).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Records must be a number." }, "errors": null, "isEmpty": true }); this.pending = ko.observable(typeof data.pending == 'undefined' ? 0 : data.pending).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Pending must be a number." }, "errors": null, "isEmpty": true }); this.ignore = ko.observable(typeof data.ignore == 'undefined' ? 0 : data.ignore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Ignore must be a number." }, "errors": null, "isEmpty": true }); this.create = ko.observable(typeof data.create == 'undefined' ? 0 : data.create).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Create must be a number." }, "errors": null, "isEmpty": true }); this.update = ko.observable(typeof data.update == 'undefined' ? 0 : data.update).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Update must be a number." }, "errors": null, "isEmpty": true }); this.delete = ko.observable(typeof data.delete == 'undefined' ? 0 : data.delete).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Delete must be a number." }, "errors": null, "isEmpty": true }); this.conflicted = ko.observable(typeof data.conflicted == 'undefined' ? 0 : data.conflicted).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Conflicted must be a number." }, "errors": null, "isEmpty": true }); } ImportSummaryViewModel.unmap = { "include": [ "targetType", "records", "pending", "ignore", "create", "update", "delete", "conflicted" ], "ignore": [] }; function ImportViewModel(data, extend) { data = data || {}; this.importId = ko.observable(typeof data.importId == 'undefined' ? 0 : data.importId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ImportId must be a number." }, "errors": null, "isEmpty": true }); this.state = ko.observable(typeof data.state == 'undefined' ? 0 : data.state).extend({ "errors": null, "isEmpty": true }); this.startedAt = typeof data.startedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.startedAt; this.completedAt = ko.observable(typeof data.completedAt == 'undefined' ? null : data.completedAt).extend({ "errors": null, "isEmpty": true }); this.mapping = ko.observable(typeof data.mapping == 'undefined' ? null : data.mapping).extend({ "errors": null, "isEmpty": true }); this.mappingType = ko.observable(typeof data.mappingType == 'undefined' ? null : data.mappingType).extend({ "errors": null, "isEmpty": true }); this.hasConflicts = ko.observable(typeof data.hasConflicts == 'undefined' ? false : data.hasConflicts).extend({ "errors": null, "isEmpty": true }); this.summary = ko.observableArray(data.summary ? $.map(data.summary, function(value, key) { return new ImportSummaryViewModel(value); }) : []).extend({ "arrayType": ImportSummaryViewModel, "errors": null, "isEmpty": true }); } ImportViewModel.unmap = { "include": [ "importId", "state", "startedAt", "completedAt", "mapping", "mappingType", "hasConflicts", "summary" ], "ignore": [] }; ImportViewModel.key = 'importId'; function ImportList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ImportViewModel(value); }) : []).extend({ "arrayType": ImportViewModel, "errors": null, "isEmpty": true }); } ImportList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function StackItemList(data, extend) { data = data || {}; this.id = ko.observable(typeof data.id == 'undefined' ? 0 : data.id).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Id must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items || []).extend({ "errors": null, "isEmpty": true }); } StackItemList.unmap = { "include": [ "id", "type", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; StackItemList.key = 'id'; function BannerPrintTemplateViewModel(data, extend) { data = data || {}; this.bannerPrintTemplateId = ko.observable(typeof data.bannerPrintTemplateId == 'undefined' ? 0 : data.bannerPrintTemplateId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerPrintTemplateId must be a number." }, "errors": null, "isEmpty": true }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? 0 : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true }); this.printTemplateId = ko.observable(typeof data.printTemplateId == 'undefined' ? 0 : data.printTemplateId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PrintTemplateId must be a number." }, "errors": null, "isEmpty": true }); this.styleSheet = ko.observable(typeof data.styleSheet == 'undefined' ? null : data.styleSheet).extend({ "maxLength": { "params": 50, "message": "The field StyleSheet must be a string with a maximum length of 50." }, "regex": { "params": { "pattern": "\\.css$", "ruleSet": null }, "message": "Please provide stylesheet file name (ending in .css)" }, "errors": null, "isEmpty": true }); } BannerPrintTemplateViewModel.unmap = { "include": [ "bannerPrintTemplateId", "bannerId", "printTemplateId", "styleSheet" ], "ignore": [] }; BannerPrintTemplateViewModel.key = 'bannerPrintTemplateId'; function GrocerViewModel(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a company name" }, "maxLength": { "params": 255, "message": "'Company name' must be between 0 and 255 characters." }, "errors": null, "isEmpty": true }); this.contactName = ko.observable(typeof data.contactName == 'undefined' ? null : data.contactName).extend({ "maxLength": { "params": 45, "message": "'Contact Name' must be between 0 and 45 characters." }, "errors": null, "isEmpty": true }); this.phone = ko.observable(typeof data.phone == 'undefined' ? null : data.phone).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "Please enter a contact phone number" }, "minLength": { "params": 7, "message": "'Phone' must be between 7 and 45 characters." }, "maxLength": { "params": 45, "message": "'Phone' must be between 7 and 45 characters." }, "errors": null, "isEmpty": true }); this.email = ko.observable(typeof data.email == 'undefined' ? null : data.email).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "Please enter an email address" }, "email": { "params": { "ruleSet": "soft" }, "message": "Invalid email address" }, "maxLength": { "params": 45, "message": "'Email' must be between 0 and 45 characters." }, "errors": null, "isEmpty": true }); this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "maxLength": { "params": 45, "message": "'Website' must be between 0 and 45 characters." }, "errors": null, "isEmpty": true }); this.storeCode = ko.observable(typeof data.storeCode == 'undefined' ? null : data.storeCode).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "'Store Code' should not be empty." }, "errors": null, "isEmpty": true }); this.notes = ko.observable(typeof data.notes == 'undefined' ? null : data.notes).extend({ "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? 0 : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "required": { "params": { "ruleSet": null }, "message": "Please select a banner" }, "notEqual": { "params": 0, "message": "Please select a banner" }, "errors": null, "isEmpty": true }); this.bannerName = ko.observable(typeof data.bannerName == 'undefined' ? null : data.bannerName).extend({ "errors": null, "isEmpty": true }); this.createdAt = ko.observable(typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt).extend({ "errors": null, "isEmpty": true }); this.updatedAt = ko.observable(typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt).extend({ "errors": null, "isEmpty": true }); this.storeAddress = ko.observable((typeof data.storeAddress == 'undefined' || !data.storeAddress) ? null : new AddressViewModel(data.storeAddress)).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "Please enter a store address" }, "type": { "type": AddressViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); this.errors = ko.observableArray(data.errors || []).extend({ "errors": null, "isEmpty": true }); } GrocerViewModel.unmap = { "include": [ "grocerId", "name", "contactName", "phone", "email", "website", "storeCode", "notes", "isActive", "bannerId", "bannerName", "storeAddress", "userGrocers" ], "ignore": [ "createdAt", "updatedAt", "errors" ], "storeAddress": AddressViewModel.unmap }; GrocerViewModel.key = 'grocerId'; function RequestGrocerViewModel(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.grocer = new GrocerViewModel(data.grocer); this.requestId = typeof data.requestId == 'undefined' ? 0 : data.requestId; this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.requestedAt = typeof data.requestedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.requestedAt; this.cancelledAt = ko.observable(typeof data.cancelledAt == 'undefined' ? null : data.cancelledAt).extend({ "errors": null, "isEmpty": true }); this.completedAt = ko.observable(typeof data.completedAt == 'undefined' ? null : data.completedAt).extend({ "errors": null, "isEmpty": true }); this.archivedAt = ko.observable(typeof data.archivedAt == 'undefined' ? null : data.archivedAt).extend({ "errors": null, "isEmpty": true }); this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.user = new ListItem(data.user); this.targetUserId = typeof data.targetUserId == 'undefined' ? null : data.targetUserId; this.targetUser = new ListItem(data.targetUser); this.completedUserId = typeof data.completedUserId == 'undefined' ? null : data.completedUserId; this.completedUser = new ListItem(data.completedUser); this.notes = typeof data.notes == 'undefined' ? null : data.notes; this.requestTypeId = typeof data.requestTypeId == 'undefined' ? 0 : data.requestTypeId; this.batchId = typeof data.batchId == 'undefined' ? null : data.batchId; } RequestGrocerViewModel.unmap = { "include": [ "grocerId", "grocer", "requestId", "status", "requestedAt", "cancelledAt", "completedAt", "archivedAt", "userId", "user", "targetUserId", "targetUser", "completedUserId", "completedUser", "notes", "requestTypeId", "batchId" ], "ignore": [], "grocer": GrocerViewModel.unmap, "user": ListItem.unmap, "targetUser": ListItem.unmap, "completedUser": ListItem.unmap }; RequestGrocerViewModel.key = 'requestId'; function RequestPrintViewModel(data, extend) { data = data || {}; this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true }); this.isDoubleSided = typeof data.isDoubleSided == 'undefined' ? false : data.isDoubleSided; this.printedAt = typeof data.printedAt == 'undefined' ? null : data.printedAt; this.requestPrintBatchId = ko.observable(typeof data.requestPrintBatchId == 'undefined' ? null : data.requestPrintBatchId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RequestPrintBatchId must be a number." }, "errors": null, "isEmpty": true }); this.labelFile = typeof data.labelFile == 'undefined' ? null : data.labelFile; this.labelSet = ko.observable((typeof data.labelSet == 'undefined' || !data.labelSet) ? null : new LabelSetViewModel(data.labelSet)).extend({ "type": { "type": LabelSetViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); this.labelTypeNames = data.labelTypeNames || []; this.labelTypeId = ko.observableArray(data.labelTypeId || []).extend({ "errors": null, "isEmpty": true }); this.includeExport = ko.observable(typeof data.includeExport == 'undefined' ? false : data.includeExport).extend({ "errors": null, "isEmpty": true }); this.isRequest = ko.observable(typeof data.isRequest == 'undefined' ? false : data.isRequest).extend({ "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.grocer = new GrocerViewModel(data.grocer); this.requestId = typeof data.requestId == 'undefined' ? 0 : data.requestId; this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.requestedAt = typeof data.requestedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.requestedAt; this.cancelledAt = ko.observable(typeof data.cancelledAt == 'undefined' ? null : data.cancelledAt).extend({ "errors": null, "isEmpty": true }); this.completedAt = ko.observable(typeof data.completedAt == 'undefined' ? null : data.completedAt).extend({ "errors": null, "isEmpty": true }); this.archivedAt = ko.observable(typeof data.archivedAt == 'undefined' ? null : data.archivedAt).extend({ "errors": null, "isEmpty": true }); this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.user = new ListItem(data.user); this.targetUserId = typeof data.targetUserId == 'undefined' ? null : data.targetUserId; this.targetUser = new ListItem(data.targetUser); this.completedUserId = typeof data.completedUserId == 'undefined' ? null : data.completedUserId; this.completedUser = new ListItem(data.completedUser); this.notes = typeof data.notes == 'undefined' ? null : data.notes; this.requestTypeId = typeof data.requestTypeId == 'undefined' ? 0 : data.requestTypeId; this.batchId = typeof data.batchId == 'undefined' ? null : data.batchId; } RequestPrintViewModel.unmap = { "include": [ "labelSetId", "isDoubleSided", "printedAt", "requestPrintBatchId", "labelFile", "labelSet", "labelTypeNames", "labelTypeId", "includeExport", "isRequest", "grocerId", "grocer", "requestId", "status", "requestedAt", "cancelledAt", "completedAt", "archivedAt", "userId", "user", "targetUserId", "targetUser", "completedUserId", "completedUser", "notes", "requestTypeId", "batchId" ], "ignore": [], "labelSet": LabelSetViewModel.unmap, "grocer": GrocerViewModel.unmap, "user": ListItem.unmap, "targetUser": ListItem.unmap, "completedUser": ListItem.unmap }; RequestPrintViewModel.key = 'requestId'; function GrocerRequestList(data, extend) { data = data || {}; this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? null : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.archived = ko.observable(typeof data.archived == 'undefined' ? false : data.archived).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new RequestGrocerViewModel(value); }) : []).extend({ "arrayType": RequestGrocerViewModel, "errors": null, "isEmpty": true }); } GrocerRequestList.unmap = { "include": [ "bannerId", "grocerId", "status", "archived", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function RequestPrintBatchViewModel(data, extend) { data = data || {}; this.requestPrintBatchId = typeof data.requestPrintBatchId == 'undefined' ? 0 : data.requestPrintBatchId; this.labelFile = typeof data.labelFile == 'undefined' ? null : data.labelFile; this.requests = data.requests ? $.map(data.requests, function(value, key) { return new RequestPrintViewModel(value); }) : []; } RequestPrintBatchViewModel.unmap = { "include": [ "requestPrintBatchId", "labelFile", "requests" ], "ignore": [] }; RequestPrintBatchViewModel.key = 'requestPrintBatchId'; function BannerMediaViewModel(data, extend) { data = data || {}; this.logo = new MediaImage(data.logo); } BannerMediaViewModel.unmap = { "include": [], "ignore": [ "logo" ], "logo": MediaImage.unmap }; function BannerViewModel(data, extend) { data = data || {}; this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? 0 : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a banner name" }, "maxLength": { "params": 100, "message": "'Banner name' must be between 0 and 100 characters." }, "errors": null, "isEmpty": true }); this.shortName = ko.observable(typeof data.shortName == 'undefined' ? null : data.shortName).extend({ "errors": null, "isEmpty": true }); this.companyId = ko.observable(typeof data.companyId == 'undefined' ? 0 : data.companyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Company must be a number." }, "required": { "params": { "ruleSet": null }, "message": "Please select a company" }, "notEqual": { "params": 0, "message": "Please select a company" }, "errors": null, "isEmpty": true }); this.companyName = ko.observable(typeof data.companyName == 'undefined' ? null : data.companyName).extend({ "errors": null, "isEmpty": true }); this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "errors": null, "isEmpty": true }); this.operatingArea = ko.observable(typeof data.operatingArea == 'undefined' ? null : data.operatingArea).extend({ "required": { "params": { "ruleSet": "soft" }, "message": "Please enter an operating area" }, "errors": null, "isEmpty": true }); this.ruleSetTypeName = ko.observable(typeof data.ruleSetTypeName == 'undefined' ? null : data.ruleSetTypeName).extend({ "errors": null, "isEmpty": true }); this.ruleSetDisplayName = ko.observable(typeof data.ruleSetDisplayName == 'undefined' ? null : data.ruleSetDisplayName).extend({ "errors": null, "isEmpty": true }); this.media = new BannerMediaViewModel(data.media); this.printTemplates = ko.observableArray(data.printTemplates ? $.map(data.printTemplates, function(value, key) { return new BannerPrintTemplateViewModel(value); }) : []).extend({ "arrayType": BannerPrintTemplateViewModel, "errors": null, "isEmpty": true }); this.grocerCount = ko.observable(typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerCount must be a number." }, "errors": null, "isEmpty": true }); } BannerViewModel.unmap = { "include": [ "bannerId", "name", "shortName", "companyId", "companyName", "website", "operatingArea", "ruleSetTypeName", "ruleSetDisplayName", "media", "printTemplates", "grocerCount" ], "ignore": [], "media": BannerMediaViewModel.unmap }; BannerViewModel.key = 'bannerId'; function ContactGrocerViewModel(data, extend) { data = data || {}; this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? null : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.requestId = ko.observable(typeof data.requestId == 'undefined' ? null : data.requestId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RequestId must be a number." }, "errors": null, "isEmpty": true }); this.products = ko.observableArray(data.products || []).extend({ "errors": null, "isEmpty": true }); this.mode = ko.observable(typeof data.mode == 'undefined' ? 0 : data.mode).extend({ "errors": null, "isEmpty": true }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? 0 : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? 0 : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.grocer = ko.observable(new GrocerViewModel(data.grocer)).extend({ "type": { "type": GrocerViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.banner = ko.observable(new BannerViewModel(data.banner)).extend({ "type": { "type": BannerViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.product = ko.observable(new ProductViewModel(data.product)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); } ContactGrocerViewModel.unmap = { "include": [ "productCatalogId", "requestId", "products", "mode", "bannerId", "grocerId", "productId", "brandId", "grocer", "banner", "product" ], "ignore": [], "grocer": GrocerViewModel.unmap, "banner": BannerViewModel.unmap, "product": ProductViewModel.unmap }; function GrocerProductUploadViewModel(data, extend) { data = data || {}; this.merge = ko.observable(typeof data.merge == 'undefined' ? 0 : data.merge).extend({ "errors": null, "isEmpty": true }); this.duplicates = ko.observable(typeof data.duplicates == 'undefined' ? 0 : data.duplicates).extend({ "errors": null, "isEmpty": true }); } GrocerProductUploadViewModel.unmap = { "include": [ "merge", "duplicates" ], "ignore": [] }; function MatchGrocerProductViewModel(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); } MatchGrocerProductViewModel.unmap = { "include": [ "grocerId", "productId" ], "ignore": [] }; function BannerItemViewModel(data, extend) { data = data || {}; this.bannerId = typeof data.bannerId == 'undefined' ? 0 : data.bannerId; this.name = typeof data.name == 'undefined' ? null : data.name; this.shortName = typeof data.shortName == 'undefined' ? null : data.shortName; this.companyId = typeof data.companyId == 'undefined' ? 0 : data.companyId; this.companyName = typeof data.companyName == 'undefined' ? null : data.companyName; this.website = typeof data.website == 'undefined' ? null : data.website; this.operatingArea = typeof data.operatingArea == 'undefined' ? null : data.operatingArea; this.ruleSetTypeName = typeof data.ruleSetTypeName == 'undefined' ? null : data.ruleSetTypeName; this.ruleSetDisplayName = typeof data.ruleSetDisplayName == 'undefined' ? null : data.ruleSetDisplayName; this.grocerCount = typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount; } BannerItemViewModel.unmap = { "include": [ "bannerId", "name", "shortName", "companyId", "companyName", "website", "operatingArea", "ruleSetTypeName", "ruleSetDisplayName", "grocerCount" ], "ignore": [] }; BannerItemViewModel.key = 'bannerId'; function BannerList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new BannerViewModel(value); }) : []).extend({ "arrayType": BannerViewModel, "errors": null, "isEmpty": true }); } BannerList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function BannerItemList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new BannerItemViewModel(value); }) : []).extend({ "arrayType": BannerItemViewModel, "errors": null, "isEmpty": true }); } BannerItemList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function FavoriteBrandItemViewModel(data, extend) { data = data || {}; this.favoriteBrandId = typeof data.favoriteBrandId == 'undefined' ? 0 : data.favoriteBrandId; this.brandId = typeof data.brandId == 'undefined' ? 0 : data.brandId; this.userId = typeof data.userId == 'undefined' ? 0 : data.userId; this.productCatalogId = typeof data.productCatalogId == 'undefined' ? 0 : data.productCatalogId; this.productCount = typeof data.productCount == 'undefined' ? 0 : data.productCount; this.brandName = typeof data.brandName == 'undefined' ? null : data.brandName; this.vendorName = typeof data.vendorName == 'undefined' ? null : data.vendorName; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; } FavoriteBrandItemViewModel.unmap = { "include": [ "favoriteBrandId", "brandId", "userId", "productCatalogId", "productCount", "brandName", "vendorName", "createdAt" ], "ignore": [] }; FavoriteBrandItemViewModel.key = 'favoriteBrandId'; function FavoriteBrandItemList(data, extend) { data = data || {}; this.userId = ko.observable(typeof data.userId == 'undefined' ? null : data.userId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UserId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new FavoriteBrandItemViewModel(value); }) : []).extend({ "arrayType": FavoriteBrandItemViewModel, "errors": null, "isEmpty": true }); } FavoriteBrandItemList.unmap = { "include": [ "userId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function FavoriteBrandViewModel(data, extend) { data = data || {}; this.favoriteBrandId = ko.observable(typeof data.favoriteBrandId == 'undefined' ? 0 : data.favoriteBrandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field FavoriteBrandId must be a number." }, "errors": null, "isEmpty": true }); this.brandId = ko.observable(typeof data.brandId == 'undefined' ? 0 : data.brandId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandId must be a number." }, "errors": null, "isEmpty": true }); this.userId = ko.observable(typeof data.userId == 'undefined' ? 0 : data.userId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UserId must be a number." }, "errors": null, "isEmpty": true }); this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? 0 : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.productCount = ko.observable(typeof data.productCount == 'undefined' ? 0 : data.productCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCount must be a number." }, "errors": null, "isEmpty": true }); this.brandName = ko.observable(typeof data.brandName == 'undefined' ? null : data.brandName).extend({ "errors": null, "isEmpty": true }); this.vendorName = ko.observable(typeof data.vendorName == 'undefined' ? null : data.vendorName).extend({ "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; } FavoriteBrandViewModel.unmap = { "include": [ "favoriteBrandId", "brandId", "userId", "productCatalogId", "productCount", "brandName", "vendorName", "createdAt" ], "ignore": [] }; FavoriteBrandViewModel.key = 'favoriteBrandId'; function FavoriteBrandList(data, extend) { data = data || {}; this.userId = ko.observable(typeof data.userId == 'undefined' ? null : data.userId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field UserId must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new FavoriteBrandViewModel(value); }) : []).extend({ "arrayType": FavoriteBrandViewModel, "errors": null, "isEmpty": true }); } FavoriteBrandList.unmap = { "include": [ "userId", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function GrocerItemViewModel(data, extend) { data = data || {}; this.grocerId = typeof data.grocerId == 'undefined' ? 0 : data.grocerId; this.name = typeof data.name == 'undefined' ? null : data.name; this.contactName = typeof data.contactName == 'undefined' ? null : data.contactName; this.storeCode = typeof data.storeCode == 'undefined' ? null : data.storeCode; this.bannerId = typeof data.bannerId == 'undefined' ? 0 : data.bannerId; this.bannerName = typeof data.bannerName == 'undefined' ? null : data.bannerName; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; } GrocerItemViewModel.unmap = { "include": [ "grocerId", "name", "contactName", "storeCode", "bannerId", "bannerName", "isActive", "createdAt", "updatedAt" ], "ignore": [] }; GrocerItemViewModel.key = 'grocerId'; function GrocerSearchItemViewModel(data, extend) { data = data || {}; this.productCatalogId = typeof data.productCatalogId == 'undefined' ? 0 : data.productCatalogId; this.productId = typeof data.productId == 'undefined' ? 0 : data.productId; this.product = new ProductItemViewModel(data.product); this.grocerId = typeof data.grocerId == 'undefined' ? 0 : data.grocerId; this.grocer = new GrocerItemViewModel(data.grocer); this.banner = new BannerItemViewModel(data.banner); this.countryId = typeof data.countryId == 'undefined' ? null : data.countryId; this.countryName = typeof data.countryName == 'undefined' ? null : data.countryName; this.regionId = typeof data.regionId == 'undefined' ? null : data.regionId; this.regionName = typeof data.regionName == 'undefined' ? null : data.regionName; this.location = typeof data.location == 'undefined' ? null : data.location; this.score = typeof data.score == 'undefined' ? 0.0 : data.score; this.productionScore = typeof data.productionScore == 'undefined' ? 0.0 : data.productionScore; this.ownershipScore = typeof data.ownershipScore == 'undefined' ? 0.0 : data.ownershipScore; this.ingredientScore = typeof data.ingredientScore == 'undefined' ? 0.0 : data.ingredientScore; this.relevance = typeof data.relevance == 'undefined' ? 0.0 : data.relevance; this.distance = new UnitValue(data.distance); this.meetsMandatoryCriteria = typeof data.meetsMandatoryCriteria == 'undefined' ? false : data.meetsMandatoryCriteria; this.meetsAllCriteria = typeof data.meetsAllCriteria == 'undefined' ? false : data.meetsAllCriteria; this.matchedProductCount = typeof data.matchedProductCount == 'undefined' ? 0 : data.matchedProductCount; this.matchedGrocerCount = typeof data.matchedGrocerCount == 'undefined' ? 0 : data.matchedGrocerCount; this.grocerCount = typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount; this.isFavorite = typeof data.isFavorite == 'undefined' ? false : data.isFavorite; this.logoThumbUrl = typeof data.logoThumbUrl == 'undefined' ? null : data.logoThumbUrl; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "errors": null, "isEmpty": true }); this.strength = typeof data.strength == 'undefined' ? 0 : data.strength; } GrocerSearchItemViewModel.unmap = { "include": [ "productCatalogId", "productId", "product", "grocerId", "grocer", "banner", "countryId", "countryName", "regionId", "regionName", "location", "score", "productionScore", "ownershipScore", "ingredientScore", "relevance", "distance", "meetsMandatoryCriteria", "meetsAllCriteria", "matchedProductCount", "matchedGrocerCount", "grocerCount", "isFavorite", "logoThumbUrl", "createdAt", "updatedAt", "status", "strength" ], "ignore": [], "product": ProductItemViewModel.unmap, "grocer": GrocerItemViewModel.unmap, "banner": BannerItemViewModel.unmap, "distance": UnitValue.unmap }; GrocerSearchItemViewModel.key = 'productCatalogId'; function GrocerSearchItemList(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.vendorId" }); this.productId = ko.observable(typeof data.productId == 'undefined' ? null : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.mode = ko.observable(typeof data.mode == 'undefined' ? 0 : data.mode).extend({ "errors": null, "isEmpty": true }); this.country = ko.observable(typeof data.country == 'undefined' ? null : data.country).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Country must be a number." }, "errors": null, "isEmpty": true }); this.region = ko.observable(typeof data.region == 'undefined' ? null : data.region).extend({ "number": { "params": { "ruleSet": null }, "message": "The field State/Province must be a number." }, "errors": null, "isEmpty": true }); this.city = ko.observable(typeof data.city == 'undefined' ? null : data.city).extend({ "errors": null, "isEmpty": true }); this.companyId = ko.observable(typeof data.companyId == 'undefined' ? null : data.companyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Company must be a number." }, "errors": null, "isEmpty": true }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? null : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Banner must be a number." }, "errors": null, "isEmpty": true }); this.requestId = ko.observable(typeof data.requestId == 'undefined' ? null : data.requestId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RequestId must be a number." }, "errors": null, "isEmpty": true }); this.includeMatched = ko.observable(typeof data.includeMatched == 'undefined' ? false : data.includeMatched).extend({ "errors": null, "isEmpty": true }); this.includeLabeled = ko.observable(typeof data.includeLabeled == 'undefined' ? false : data.includeLabeled).extend({ "errors": null, "isEmpty": true }); this.distance = new UnitValue(data.distance); this.distance.unitGroup = "distance"; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new GrocerSearchItemViewModel(value); }) : []).extend({ "arrayType": GrocerSearchItemViewModel, "errors": null, "isEmpty": true }); } GrocerSearchItemList.unmap = { "include": [ "vendorId", "productId", "mode", "country", "region", "city", "companyId", "bannerId", "requestId", "includeMatched", "includeLabeled", "distance", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ], "distance": UnitValue.unmap }; function GrocerItemList(data, extend) { data = data || {}; this.bannerId = ko.observableArray(data.bannerId || []).extend({ "errors": null, "isEmpty": true }); this.regionId = ko.observable(typeof data.regionId == 'undefined' ? null : data.regionId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RegionId must be a number." }, "errors": null, "isEmpty": true }); this.city = ko.observable(typeof data.city == 'undefined' ? null : data.city).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new GrocerItemViewModel(value); }) : []).extend({ "arrayType": GrocerItemViewModel, "errors": null, "isEmpty": true }); } GrocerItemList.unmap = { "include": [ "bannerId", "regionId", "city", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function GrocerList(data, extend) { data = data || {}; this.bannerId = ko.observableArray(data.bannerId || []).extend({ "errors": null, "isEmpty": true }); this.regionId = ko.observable(typeof data.regionId == 'undefined' ? null : data.regionId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RegionId must be a number." }, "errors": null, "isEmpty": true }); this.city = ko.observable(typeof data.city == 'undefined' ? null : data.city).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new GrocerViewModel(value); }) : []).extend({ "arrayType": GrocerViewModel, "errors": null, "isEmpty": true }); } GrocerList.unmap = { "include": [ "bannerId", "regionId", "city", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function GrocerProductAlertItemViewModel(data, extend) { data = data || {}; this.grocerProductAlertId = typeof data.grocerProductAlertId == 'undefined' ? 0 : data.grocerProductAlertId; this.alertType = typeof data.alertType == 'undefined' ? 0 : data.alertType; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.resolvedAt = ko.observable(typeof data.resolvedAt == 'undefined' ? null : data.resolvedAt).extend({ "errors": null, "isEmpty": true }); this.grocerProductId = typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId; } GrocerProductAlertItemViewModel.unmap = { "include": [ "grocerProductAlertId", "alertType", "createdAt", "updatedAt", "resolvedAt", "grocerProductId" ], "ignore": [] }; GrocerProductAlertItemViewModel.key = 'grocerProductAlertId'; function GrocerProductAlertItemList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.unresolved = ko.observable(typeof data.unresolved == 'undefined' ? false : data.unresolved).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new GrocerProductAlertItemViewModel(value); }) : []).extend({ "arrayType": GrocerProductAlertItemViewModel, "errors": null, "isEmpty": true }); } GrocerProductAlertItemList.unmap = { "include": [ "grocerId", "unresolved", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function GrocerProductItemViewModel(data, extend) { data = data || {}; this.grocerProductId = typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId; this.grocerId = typeof data.grocerId == 'undefined' ? 0 : data.grocerId; this.productId = typeof data.productId == 'undefined' ? null : data.productId; this.upc = typeof data.upc == 'undefined' ? null : data.upc; this.description = typeof data.description == 'undefined' ? null : data.description; this.articleNumber = typeof data.articleNumber == 'undefined' ? null : data.articleNumber; this.categoryCode = typeof data.categoryCode == 'undefined' ? null : data.categoryCode; this.meta1 = typeof data.meta1 == 'undefined' ? null : data.meta1; this.meta2 = typeof data.meta2 == 'undefined' ? null : data.meta2; this.score = typeof data.score == 'undefined' ? 0.0 : data.score; this.ownershipScore = typeof data.ownershipScore == 'undefined' ? 0.0 : data.ownershipScore; this.productionScore = typeof data.productionScore == 'undefined' ? 0.0 : data.productionScore; this.ingredientScore = typeof data.ingredientScore == 'undefined' ? 0.0 : data.ingredientScore; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.matchedAt = typeof data.matchedAt == 'undefined' ? null : data.matchedAt; this.website = typeof data.website == 'undefined' ? null : data.website; this.isManuallyAdded = typeof data.isManuallyAdded == 'undefined' ? false : data.isManuallyAdded; this.isValid = typeof data.isValid == 'undefined' ? false : data.isValid; this.status = typeof data.status == 'undefined' ? 0 : data.status; this.grocerName = typeof data.grocerName == 'undefined' ? null : data.grocerName; this.brandName = typeof data.brandName == 'undefined' ? null : data.brandName; this.vendorName = typeof data.vendorName == 'undefined' ? null : data.vendorName; this.size = typeof data.size == 'undefined' ? null : data.size; this.alertIds = data.alertIds || []; } GrocerProductItemViewModel.unmap = { "include": [ "grocerProductId", "grocerId", "productId", "upc", "description", "articleNumber", "categoryCode", "meta1", "meta2", "score", "ownershipScore", "productionScore", "ingredientScore", "createdAt", "updatedAt", "matchedAt", "website", "isManuallyAdded", "isValid", "status", "grocerName", "brandName", "vendorName", "size", "alertIds" ], "ignore": [] }; GrocerProductItemViewModel.key = 'grocerProductId'; function GrocerProductItemList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new GrocerProductItemViewModel(value); }) : []).extend({ "arrayType": GrocerProductItemViewModel, "errors": null, "isEmpty": true }); } GrocerProductItemList.unmap = { "include": [ "grocerId", "status", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function GrocerProductViewModel(data, extend) { data = data || {}; this.grocerProductId = ko.observable(typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Grocer must be a number." }, "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? null : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Product must be a number." }, "errors": null, "isEmpty": true }); this.upc = ko.observable(typeof data.upc == 'undefined' ? null : data.upc).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.articleNumber = ko.observable(typeof data.articleNumber == 'undefined' ? null : data.articleNumber).extend({ "errors": null, "isEmpty": true }); this.categoryCode = ko.observable(typeof data.categoryCode == 'undefined' ? null : data.categoryCode).extend({ "errors": null, "isEmpty": true }); this.meta1 = ko.observable(typeof data.meta1 == 'undefined' ? null : data.meta1).extend({ "errors": null, "isEmpty": true }); this.meta2 = ko.observable(typeof data.meta2 == 'undefined' ? null : data.meta2).extend({ "errors": null, "isEmpty": true }); this.isValid = ko.observable(typeof data.isValid == 'undefined' ? false : data.isValid).extend({ "errors": null, "isEmpty": true }); this.score = ko.observable(typeof data.score == 'undefined' ? 0.0 : data.score).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score must be a number." }, "errors": null, "isEmpty": true }); this.ownershipScore = ko.observable(typeof data.ownershipScore == 'undefined' ? 0.0 : data.ownershipScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field OwnershipScore must be a number." }, "errors": null, "isEmpty": true }); this.productionScore = ko.observable(typeof data.productionScore == 'undefined' ? 0.0 : data.productionScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductionScore must be a number." }, "errors": null, "isEmpty": true }); this.ingredientScore = ko.observable(typeof data.ingredientScore == 'undefined' ? 0.0 : data.ingredientScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field IngredientScore must be a number." }, "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = ko.observable(typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt).extend({ "errors": null, "isEmpty": true }); this.matchedAt = ko.observable(typeof data.matchedAt == 'undefined' ? null : data.matchedAt).extend({ "errors": null, "isEmpty": true }); this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "errors": null, "isEmpty": true }); this.isManuallyAdded = ko.observable(typeof data.isManuallyAdded == 'undefined' ? false : data.isManuallyAdded).extend({ "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "errors": null, "isEmpty": true }); this.product = ko.observable(new ProductViewModel(data.product)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.alertIds = ko.observableArray(data.alertIds || []).extend({ "errors": null, "isEmpty": true }); this.proudlyWesternCanadian = ko.observable(typeof data.proudlyWesternCanadian == 'undefined' ? false : data.proudlyWesternCanadian).extend({ "errors": null, "isEmpty": true }); this.domesticIngredientPercent = ko.observable(typeof data.domesticIngredientPercent == 'undefined' ? null : data.domesticIngredientPercent).extend({ "number": { "params": { "ruleSet": null }, "message": "The field DomesticIngredientPercent must be a number." }, "errors": null, "isEmpty": true }); this.attributes = ko.observableArray(data.attributes ? $.map(data.attributes, function(value, key) { return new LabelAttribute(value); }) : []).extend({ "arrayType": LabelAttribute, "errors": null, "isEmpty": true }); } GrocerProductViewModel.unmap = { "include": [ "grocerProductId", "grocerId", "productId", "upc", "description", "articleNumber", "categoryCode", "meta1", "meta2", "isValid", "score", "ownershipScore", "productionScore", "ingredientScore", "createdAt", "updatedAt", "matchedAt", "website", "isManuallyAdded", "status", "product", "alertIds", "proudlyWesternCanadian", "domesticIngredientPercent", "attributes" ], "ignore": [], "product": ProductViewModel.unmap }; GrocerProductViewModel.key = 'grocerProductId'; function MissingVendorProductViewModel(data, extend) { data = data || {}; this.missingVendorProductId = ko.observable(typeof data.missingVendorProductId == 'undefined' ? 0 : data.missingVendorProductId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MissingVendorProductId must be a number." }, "errors": null, "isEmpty": true }); this.grocerProductId = ko.observable(typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductId must be a number." }, "errors": null, "isEmpty": true }); this.vendorCodeId = ko.observable(typeof data.vendorCodeId == 'undefined' ? 0 : data.vendorCodeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCodeId must be a number." }, "errors": null, "isEmpty": true }); this.isEnabled = ko.observable(typeof data.isEnabled == 'undefined' ? false : data.isEnabled).extend({ "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.grocerProduct = new GrocerProductViewModel(data.grocerProduct); this.grocer = new ListItem(data.grocer); this.lastContactedAt = typeof data.lastContactedAt == 'undefined' ? null : data.lastContactedAt; this.missingVendorProductStatusId = ko.observable(typeof data.missingVendorProductStatusId == 'undefined' ? 0 : data.missingVendorProductStatusId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MissingVendorProductStatusId must be a number." }, "errors": null, "isEmpty": true }); } MissingVendorProductViewModel.unmap = { "include": [ "missingVendorProductId", "grocerProductId", "vendorCodeId", "isEnabled", "createdAt", "updatedAt", "grocerProduct", "grocer", "lastContactedAt", "missingVendorProductStatusId" ], "ignore": [], "grocerProduct": GrocerProductViewModel.unmap, "grocer": ListItem.unmap }; function GrocerProductAlertViewModel(data, extend) { data = data || {}; this.grocerProductAlertId = ko.observable(typeof data.grocerProductAlertId == 'undefined' ? 0 : data.grocerProductAlertId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductAlertId must be a number." }, "errors": null, "isEmpty": true }); this.alertType = typeof data.alertType == 'undefined' ? 0 : data.alertType; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.resolvedAt = ko.observable(typeof data.resolvedAt == 'undefined' ? null : data.resolvedAt).extend({ "errors": null, "isEmpty": true }); this.grocerProductId = ko.observable(typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductId must be a number." }, "errors": null, "isEmpty": true }); this.grocerProduct = ko.observable(new GrocerProductViewModel(data.grocerProduct)).extend({ "type": { "type": GrocerProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.duplicates = ko.observableArray(data.duplicates || []).extend({ "errors": null, "isEmpty": true }); } GrocerProductAlertViewModel.unmap = { "include": [ "grocerProductAlertId", "alertType", "createdAt", "updatedAt", "resolvedAt", "grocerProductId", "grocerProduct", "duplicates" ], "ignore": [], "grocerProduct": GrocerProductViewModel.unmap }; GrocerProductAlertViewModel.key = 'grocerProductAlertId'; function GrocerProductList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new GrocerProductViewModel(value); }) : []).extend({ "arrayType": GrocerProductViewModel, "errors": null, "isEmpty": true }); } GrocerProductList.unmap = { "include": [ "grocerId", "status", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function VendorCodeSummaryViewModel(data, extend) { data = data || {}; this.vendorCodeId = ko.observable(typeof data.vendorCodeId == 'undefined' ? 0 : data.vendorCodeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCodeId must be a number." }, "errors": null, "isEmpty": true }); this.code = typeof data.code == 'undefined' ? null : data.code; this.isEnabled = ko.observable(typeof data.isEnabled == 'undefined' ? false : data.isEnabled).extend({ "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.missingVendorProductId = typeof data.missingVendorProductId == 'undefined' ? null : data.missingVendorProductId; this.product = ko.observable(new MissingVendorProductViewModel(data.product)).extend({ "type": { "type": MissingVendorProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.productCount = typeof data.productCount == 'undefined' ? 0 : data.productCount; this.grocerId = typeof data.grocerId == 'undefined' ? null : data.grocerId; this.grocer = new GrocerViewModel(data.grocer); this.grocerCount = typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount; this.vendorId = typeof data.vendorId == 'undefined' ? 0 : data.vendorId; this.vendor = new VendorViewModel(data.vendor); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.lastContactedAt = typeof data.lastContactedAt == 'undefined' ? null : data.lastContactedAt; } VendorCodeSummaryViewModel.unmap = { "include": [ "vendorCodeId", "code", "isEnabled", "status", "missingVendorProductId", "product", "productCount", "grocerId", "grocer", "grocerCount", "vendorId", "vendor", "createdAt", "lastContactedAt" ], "ignore": [], "product": MissingVendorProductViewModel.unmap, "grocer": GrocerViewModel.unmap, "vendor": VendorViewModel.unmap }; VendorCodeSummaryViewModel.key = 'vendorCodeId'; function MissingVendorProductList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new MissingVendorProductViewModel(value); }) : []).extend({ "arrayType": MissingVendorProductViewModel, "errors": null, "isEmpty": true }); } MissingVendorProductList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function GrocerProductAlertList(data, extend) { data = data || {}; this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.unresolved = ko.observable(typeof data.unresolved == 'undefined' ? false : data.unresolved).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new GrocerProductAlertViewModel(value); }) : []).extend({ "arrayType": GrocerProductAlertViewModel, "errors": null, "isEmpty": true }); } GrocerProductAlertList.unmap = { "include": [ "grocerId", "unresolved", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function VendorCodeSummaryList(data, extend) { data = data || {}; this.missingProducts = ko.observable(typeof data.missingProducts == 'undefined' ? false : data.missingProducts).extend({ "errors": null, "isEmpty": true }); this.unsubscribed = ko.observable(typeof data.unsubscribed == 'undefined' ? false : data.unsubscribed).extend({ "errors": null, "isEmpty": true }); this.disabled = ko.observable(typeof data.disabled == 'undefined' ? false : data.disabled).extend({ "errors": null, "isEmpty": true }); this.minContactedAt = ko.observable(typeof data.minContactedAt == 'undefined' ? null : data.minContactedAt).extend({ "errors": null, "isEmpty": true }); this.maxContactedAt = ko.observable(typeof data.maxContactedAt == 'undefined' ? null : data.maxContactedAt).extend({ "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new VendorCodeSummaryViewModel(value); }) : []).extend({ "arrayType": VendorCodeSummaryViewModel, "errors": null, "isEmpty": true }); } VendorCodeSummaryList.unmap = { "include": [ "missingProducts", "unsubscribed", "disabled", "minContactedAt", "maxContactedAt", "status", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ClaimViewModel(data, extend) { data = data || {}; this.claimId = ko.observable(typeof data.claimId == 'undefined' ? 0 : data.claimId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ClaimId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.channels = ko.observableArray(data.channels ? $.map(data.channels, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.productCertifications = ko.observableArray(data.productCertifications ? $.map(data.productCertifications, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.vendorCertifications = ko.observableArray(data.vendorCertifications ? $.map(data.vendorCertifications, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.productCategories = ko.observableArray(data.productCategories ? $.map(data.productCategories, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); } ClaimViewModel.unmap = { "include": [ "claimId", "name", "isActive", "description", "channels", "productCertifications", "vendorCertifications", "productCategories" ], "ignore": [] }; ClaimViewModel.key = 'claimId'; function ClaimList(data, extend) { data = data || {}; this.channelId = ko.observable(typeof data.channelId == 'undefined' ? null : data.channelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ChannelId must be a number." }, "errors": null, "isEmpty": true }); this.vendorCertificationId = ko.observable(typeof data.vendorCertificationId == 'undefined' ? null : data.vendorCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.productCertificationId = ko.observable(typeof data.productCertificationId == 'undefined' ? null : data.productCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.productCategoryId = ko.observable(typeof data.productCategoryId == 'undefined' ? null : data.productCategoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCategoryId must be a number." }, "errors": null, "isEmpty": true }); this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ClaimViewModel(value); }) : []).extend({ "arrayType": ClaimViewModel, "errors": null, "isEmpty": true }); } ClaimList.unmap = { "include": [ "channelId", "vendorCertificationId", "productCertificationId", "productCategoryId", "includeInactive", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ClaimItemViewModel(data, extend) { data = data || {}; this.claimId = typeof data.claimId == 'undefined' ? 0 : data.claimId; this.name = typeof data.name == 'undefined' ? null : data.name; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.description = typeof data.description == 'undefined' ? null : data.description; } ClaimItemViewModel.unmap = { "include": [ "claimId", "name", "isActive", "description" ], "ignore": [] }; ClaimItemViewModel.key = 'claimId'; function ClaimItemList(data, extend) { data = data || {}; this.channelId = ko.observable(typeof data.channelId == 'undefined' ? null : data.channelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ChannelId must be a number." }, "errors": null, "isEmpty": true }); this.vendorCertificationId = ko.observable(typeof data.vendorCertificationId == 'undefined' ? null : data.vendorCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.productCertificationId = ko.observable(typeof data.productCertificationId == 'undefined' ? null : data.productCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.productCategoryId = ko.observable(typeof data.productCategoryId == 'undefined' ? null : data.productCategoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCategoryId must be a number." }, "errors": null, "isEmpty": true }); this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ClaimItemViewModel(value); }) : []).extend({ "arrayType": ClaimItemViewModel, "errors": null, "isEmpty": true }); } ClaimItemList.unmap = { "include": [ "channelId", "vendorCertificationId", "productCertificationId", "productCategoryId", "includeInactive", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductCertificationItemViewModel(data, extend) { data = data || {}; this.productCertificationId = typeof data.productCertificationId == 'undefined' ? 0 : data.productCertificationId; this.name = typeof data.name == 'undefined' ? null : data.name; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.description = typeof data.description == 'undefined' ? null : data.description; this.restrictions = typeof data.restrictions == 'undefined' ? null : data.restrictions; this.website = typeof data.website == 'undefined' ? null : data.website; this.scoreWeight = typeof data.scoreWeight == 'undefined' ? null : data.scoreWeight; } ProductCertificationItemViewModel.unmap = { "include": [ "productCertificationId", "name", "isActive", "description", "restrictions", "website", "scoreWeight" ], "ignore": [] }; ProductCertificationItemViewModel.key = 'productCertificationId'; function ProductCertificationViewModel(data, extend) { data = data || {}; this.productCertificationId = ko.observable(typeof data.productCertificationId == 'undefined' ? 0 : data.productCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.restrictions = ko.observable(typeof data.restrictions == 'undefined' ? null : data.restrictions).extend({ "errors": null, "isEmpty": true }); this.scoreWeight = ko.observable(typeof data.scoreWeight == 'undefined' ? null : data.scoreWeight).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ScoreWeight must be a number." }, "errors": null, "isEmpty": true }); this.logo = new MediaImage(data.logo); this.channels = ko.observableArray(data.channels ? $.map(data.channels, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.claims = ko.observableArray(data.claims ? $.map(data.claims, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); } ProductCertificationViewModel.unmap = { "include": [ "productCertificationId", "name", "isActive", "website", "description", "restrictions", "scoreWeight", "channels", "claims" ], "ignore": [ "logo" ], "logo": MediaImage.unmap }; ProductCertificationViewModel.key = 'productCertificationId'; function ProductCertificationList(data, extend) { data = data || {}; this.channelId = ko.observable(typeof data.channelId == 'undefined' ? null : data.channelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ChannelId must be a number." }, "errors": null, "isEmpty": true }); this.claimId = ko.observable(typeof data.claimId == 'undefined' ? null : data.claimId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ClaimId must be a number." }, "errors": null, "isEmpty": true }); this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.names = ko.observableArray(data.names || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductCertificationViewModel(value); }) : []).extend({ "arrayType": ProductCertificationViewModel, "errors": null, "isEmpty": true }); } ProductCertificationList.unmap = { "include": [ "channelId", "claimId", "includeInactive", "names", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductCertificationItemList(data, extend) { data = data || {}; this.channelId = ko.observable(typeof data.channelId == 'undefined' ? null : data.channelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ChannelId must be a number." }, "errors": null, "isEmpty": true }); this.claimId = ko.observable(typeof data.claimId == 'undefined' ? null : data.claimId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ClaimId must be a number." }, "errors": null, "isEmpty": true }); this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.names = ko.observableArray(data.names || []).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new ProductCertificationViewModel(value); }) : []).extend({ "arrayType": ProductCertificationViewModel, "errors": null, "isEmpty": true }); } ProductCertificationItemList.unmap = { "include": [ "channelId", "claimId", "includeInactive", "names", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function VendorCertificationItemViewModel(data, extend) { data = data || {}; this.vendorCertificationId = typeof data.vendorCertificationId == 'undefined' ? 0 : data.vendorCertificationId; this.name = typeof data.name == 'undefined' ? null : data.name; this.isActive = typeof data.isActive == 'undefined' ? false : data.isActive; this.description = typeof data.description == 'undefined' ? null : data.description; this.restrictions = typeof data.restrictions == 'undefined' ? null : data.restrictions; this.website = typeof data.website == 'undefined' ? null : data.website; } VendorCertificationItemViewModel.unmap = { "include": [ "vendorCertificationId", "name", "isActive", "description", "restrictions", "website" ], "ignore": [] }; VendorCertificationItemViewModel.key = 'vendorCertificationId'; function VendorCertificationViewModel(data, extend) { data = data || {}; this.vendorCertificationId = ko.observable(typeof data.vendorCertificationId == 'undefined' ? 0 : data.vendorCertificationId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCertificationId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "errors": null, "isEmpty": true }); this.description = ko.observable(typeof data.description == 'undefined' ? null : data.description).extend({ "errors": null, "isEmpty": true }); this.restrictions = ko.observable(typeof data.restrictions == 'undefined' ? null : data.restrictions).extend({ "errors": null, "isEmpty": true }); this.logo = new MediaImage(data.logo); this.channels = ko.observableArray(data.channels ? $.map(data.channels, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.claims = ko.observableArray(data.claims ? $.map(data.claims, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); } VendorCertificationViewModel.unmap = { "include": [ "vendorCertificationId", "name", "isActive", "website", "description", "restrictions", "channels", "claims" ], "ignore": [ "logo" ], "logo": MediaImage.unmap }; VendorCertificationViewModel.key = 'vendorCertificationId'; function VendorCertificationList(data, extend) { data = data || {}; this.channelId = ko.observable(typeof data.channelId == 'undefined' ? null : data.channelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ChannelId must be a number." }, "errors": null, "isEmpty": true }); this.claimId = ko.observable(typeof data.claimId == 'undefined' ? null : data.claimId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ClaimId must be a number." }, "errors": null, "isEmpty": true }); this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new VendorCertificationViewModel(value); }) : []).extend({ "arrayType": VendorCertificationViewModel, "errors": null, "isEmpty": true }); } VendorCertificationList.unmap = { "include": [ "channelId", "claimId", "includeInactive", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function VendorCertificationItemList(data, extend) { data = data || {}; this.channelId = ko.observable(typeof data.channelId == 'undefined' ? null : data.channelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ChannelId must be a number." }, "errors": null, "isEmpty": true }); this.claimId = ko.observable(typeof data.claimId == 'undefined' ? null : data.claimId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ClaimId must be a number." }, "errors": null, "isEmpty": true }); this.includeInactive = ko.observable(typeof data.includeInactive == 'undefined' ? false : data.includeInactive).extend({ "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new VendorCertificationViewModel(value); }) : []).extend({ "arrayType": VendorCertificationViewModel, "errors": null, "isEmpty": true }); } VendorCertificationItemList.unmap = { "include": [ "channelId", "claimId", "includeInactive", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function MenuItemViewModel(data, extend) { data = data || {}; this.href = typeof data.href == 'undefined' ? null : data.href; this.title = typeof data.title == 'undefined' ? null : data.title; this.depth = typeof data.depth == 'undefined' ? 0 : data.depth; this.iconCss = typeof data.iconCss == 'undefined' ? null : data.iconCss; this.items = data.items ? $.map(data.items, function(value, key) { return new MenuItemViewModel(value); }) : []; this.collapsed = ko.observable(typeof data.collapsed == 'undefined' ? false : data.collapsed).extend({ "errors": null, "isEmpty": true }); this.roles = data.roles || []; this.channels = data.channels || []; this.features = data.features || []; this.counter = typeof data.counter == 'undefined' ? null : data.counter; this.condition = typeof data.condition == 'undefined' ? null : data.condition; } MenuItemViewModel.unmap = { "include": [ "href", "title", "depth", "iconCss", "items", "collapsed", "roles", "channels", "features", "counter", "condition" ], "ignore": [] }; function MenuViewModel(data, extend) { data = data || {}; this.title = typeof data.title == 'undefined' ? null : data.title; this.depth = typeof data.depth == 'undefined' ? 0 : data.depth; this.items = data.items ? $.map(data.items, function(value, key) { return new MenuItemViewModel(value); }) : []; this.collapsed = ko.observable(typeof data.collapsed == 'undefined' ? false : data.collapsed).extend({ "errors": null, "isEmpty": true }); this.roles = data.roles || []; this.channels = data.channels || []; this.features = data.features || []; } MenuViewModel.unmap = { "include": [ "title", "depth", "items", "collapsed", "roles", "channels", "features" ], "ignore": [] }; function SideBarViewModel(data, extend) { data = data || {}; this.collapsed = ko.observable(typeof data.collapsed == 'undefined' ? false : data.collapsed).extend({ "errors": null, "isEmpty": true, "cookie": "menuCollapsed" }); this.menus = ko.observableArray(data.menus ? $.map(data.menus, function(value, key) { return new MenuViewModel(value); }) : []).extend({ "arrayType": MenuViewModel, "errors": null, "isEmpty": true }); } SideBarViewModel.unmap = { "include": [ "collapsed", "menus" ], "ignore": [] }; function HelpViewModel(data, extend) { data = data || {}; this.email = ko.observable(typeof data.email == 'undefined' ? null : data.email).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter your email address" }, "email": { "params": { "ruleSet": null }, "message": "Invalid email address" }, "errors": null, "isEmpty": true }); this.message = ko.observable(typeof data.message == 'undefined' ? null : data.message).extend({ "required": { "params": { "ruleSet": null }, "message": "Please enter a message" }, "maxLength": { "params": 10000, "message": "Your message is too long" }, "errors": null, "isEmpty": true }); this.requestUrl = ko.observable(typeof data.requestUrl == 'undefined' ? null : data.requestUrl).extend({ "errors": null, "isEmpty": true }); } HelpViewModel.unmap = { "include": [ "email", "message", "requestUrl" ], "ignore": [] }; function AppViewModel(data, extend) { data = data || {}; this.cultureCode = ko.observable(typeof data.cultureCode == 'undefined' ? null : data.cultureCode).extend({ "errors": null, "isEmpty": true }); this.units = ko.observable(typeof data.units == 'undefined' ? null : data.units).extend({ "errors": null, "isEmpty": true }); this.help = new HelpViewModel(data.help); this.environment = typeof data.environment == 'undefined' ? null : data.environment; this.hasTermsUpdate = ko.observable(typeof data.hasTermsUpdate == 'undefined' ? false : data.hasTermsUpdate).extend({ "errors": null, "isEmpty": true }); this.emailConfirmed = ko.observable(typeof data.emailConfirmed == 'undefined' ? false : data.emailConfirmed).extend({ "errors": null, "isEmpty": true }); } AppViewModel.unmap = { "include": [], "ignore": [ "cultureCode", "units", "help", "environment", "hasTermsUpdate", "emailConfirmed" ], "help": HelpViewModel.unmap }; function Score(data, extend) { data = data || {}; this.name = typeof data.name == 'undefined' ? null : data.name; this.components = data.components || []; this.totalScore = typeof data.totalScore == 'undefined' ? 0.0 : data.totalScore; this.maxScore = typeof data.maxScore == 'undefined' ? 0.0 : data.maxScore; } Score.unmap = { "include": [ "name", "components", "totalScore", "maxScore" ], "ignore": [] }; function CompleteScore(data, extend) { data = data || {}; this.productionScore = new Score(data.productionScore); this.ownershipScore = new Score(data.ownershipScore); this.ingredientScore = new Score(data.ingredientScore); this.totalScore = typeof data.totalScore == 'undefined' ? 0.0 : data.totalScore; this.productionInSameProvince = typeof data.productionInSameProvince == 'undefined' ? false : data.productionInSameProvince; this.westernCanadaOwnership = typeof data.westernCanadaOwnership == 'undefined' ? 0.0 : data.westernCanadaOwnership; this.proudlyWesternCanadian = typeof data.proudlyWesternCanadian == 'undefined' ? false : data.proudlyWesternCanadian; this.domesticIngredientPercent = typeof data.domesticIngredientPercent == 'undefined' ? null : data.domesticIngredientPercent; } CompleteScore.unmap = { "include": [ "productionScore", "ownershipScore", "ingredientScore", "totalScore", "productionInSameProvince", "westernCanadaOwnership", "proudlyWesternCanadian", "domesticIngredientPercent" ], "ignore": [], "productionScore": Score.unmap, "ownershipScore": Score.unmap, "ingredientScore": Score.unmap }; function ProductRelevanceComponent(data, extend) { data = data || {}; this.isMandatory = typeof data.isMandatory == 'undefined' ? false : data.isMandatory; this.meetsCriteria = typeof data.meetsCriteria == 'undefined' ? false : data.meetsCriteria; this.key = typeof data.key == 'undefined' ? null : data.key; this.name = typeof data.name == 'undefined' ? null : data.name; this.value = typeof data.value == 'undefined' ? null : data.value; this.comparison = typeof data.comparison == 'undefined' ? 0 : data.comparison; this.description = typeof data.description == 'undefined' ? null : data.description; } ProductRelevanceComponent.unmap = { "include": [ "isMandatory", "meetsCriteria", "key", "name", "value", "comparison", "description" ], "ignore": [] }; function ProductRelevance(data, extend) { data = data || {}; this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.meetsMandatoryCriteria = typeof data.meetsMandatoryCriteria == 'undefined' ? false : data.meetsMandatoryCriteria; this.meetsAllCriteria = typeof data.meetsAllCriteria == 'undefined' ? false : data.meetsAllCriteria; this.score = ko.observable(typeof data.score == 'undefined' ? 0.0 : data.score).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score must be a number." }, "errors": null, "isEmpty": true }); this.criteriaScore = ko.observable(typeof data.criteriaScore == 'undefined' ? 0.0 : data.criteriaScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CriteriaScore must be a number." }, "errors": null, "isEmpty": true }); this.channelScore = ko.observable(typeof data.channelScore == 'undefined' ? 0.0 : data.channelScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ChannelScore must be a number." }, "errors": null, "isEmpty": true }); this.favoriteBonusScore = ko.observable(typeof data.favoriteBonusScore == 'undefined' ? 0.0 : data.favoriteBonusScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field FavoriteBonusScore must be a number." }, "errors": null, "isEmpty": true }); this.components = ko.observableArray(data.components ? $.map(data.components, function(value, key) { return new ProductRelevanceComponent(value); }) : []).extend({ "arrayType": ProductRelevanceComponent, "errors": null, "isEmpty": true }); this.productScore = ko.observable(typeof data.productScore == 'undefined' ? 0.0 : data.productScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductScore must be a number." }, "errors": null, "isEmpty": true }); this.productionDistance = ko.observable(typeof data.productionDistance == 'undefined' ? null : data.productionDistance).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductionDistance must be a number." }, "errors": null, "isEmpty": true }); } ProductRelevance.unmap = { "include": [ "productId", "grocerId", "meetsMandatoryCriteria", "meetsAllCriteria", "score", "criteriaScore", "channelScore", "favoriteBonusScore", "components", "productScore", "productionDistance" ], "ignore": [] }; function BannerSearchViewModel(data, extend) { data = data || {}; this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? 0 : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.product = ko.observable(new ProductViewModel(data.product)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.grocer = ko.observable(new GrocerViewModel(data.grocer)).extend({ "type": { "type": GrocerViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.banner = ko.observable(new BannerViewModel(data.banner)).extend({ "type": { "type": BannerViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.score = ko.observable(typeof data.score == 'undefined' ? 0.0 : data.score).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score must be a number." }, "errors": null, "isEmpty": true }); this.distance = new UnitValue(data.distance); this.meetsMandatoryCriteria = ko.observable(typeof data.meetsMandatoryCriteria == 'undefined' ? false : data.meetsMandatoryCriteria).extend({ "errors": null, "isEmpty": true }); this.meetsAllCriteria = ko.observable(typeof data.meetsAllCriteria == 'undefined' ? false : data.meetsAllCriteria).extend({ "errors": null, "isEmpty": true }); this.matchedGrocerCount = ko.observable(typeof data.matchedGrocerCount == 'undefined' ? 0 : data.matchedGrocerCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MatchedGrocerCount must be a number." }, "errors": null, "isEmpty": true }); this.grocerCount = ko.observable(typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerCount must be a number." }, "errors": null, "isEmpty": true }); this.isFavorite = ko.observable(typeof data.isFavorite == 'undefined' ? false : data.isFavorite).extend({ "errors": null, "isEmpty": true }); this.relevance = ko.observable(typeof data.relevance == 'undefined' ? 0.0 : data.relevance).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Relevance must be a number." }, "errors": null, "isEmpty": true }); this.countryId = ko.observable(typeof data.countryId == 'undefined' ? null : data.countryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CountryId must be a number." }, "errors": null, "isEmpty": true }); this.countryName = ko.observable(typeof data.countryName == 'undefined' ? null : data.countryName).extend({ "errors": null, "isEmpty": true }); this.regionId = ko.observable(typeof data.regionId == 'undefined' ? null : data.regionId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RegionId must be a number." }, "errors": null, "isEmpty": true }); this.regionName = ko.observable(typeof data.regionName == 'undefined' ? null : data.regionName).extend({ "errors": null, "isEmpty": true }); this.location = ko.observable(typeof data.location == 'undefined' ? null : data.location).extend({ "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.scoreBreakdown = ko.observable(new ProductRelevance(data.scoreBreakdown)).extend({ "type": { "type": ProductRelevance, "allowNull": false }, "errors": null, "isEmpty": true }); this.request = ko.observable((typeof data.request == 'undefined' || !data.request) ? null : new ProcurementViewModel(data.request)).extend({ "type": { "type": ProcurementViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "errors": null, "isEmpty": true }); this.strength = ko.observable(typeof data.strength == 'undefined' ? 0 : data.strength).extend({ "errors": null, "isEmpty": true }); } BannerSearchViewModel.unmap = { "include": [ "productCatalogId", "productId", "product", "grocerId", "grocer", "banner", "score", "distance", "meetsMandatoryCriteria", "meetsAllCriteria", "matchedGrocerCount", "grocerCount", "isFavorite", "relevance", "countryId", "countryName", "regionId", "regionName", "location", "createdAt", "updatedAt", "scoreBreakdown", "request", "status", "strength" ], "ignore": [], "product": ProductViewModel.unmap, "grocer": GrocerViewModel.unmap, "banner": BannerViewModel.unmap, "distance": UnitValue.unmap, "scoreBreakdown": ProductRelevance.unmap, "request": ProcurementViewModel.unmap }; BannerSearchViewModel.key = 'productCatalogId'; function GrocerSearchViewModel(data, extend) { data = data || {}; this.productCatalogId = ko.observable(typeof data.productCatalogId == 'undefined' ? 0 : data.productCatalogId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCatalogId must be a number." }, "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.product = ko.observable(new ProductViewModel(data.product)).extend({ "type": { "type": ProductViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true }); this.grocer = ko.observable(new GrocerViewModel(data.grocer)).extend({ "type": { "type": GrocerViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.banner = ko.observable(new BannerViewModel(data.banner)).extend({ "type": { "type": BannerViewModel, "allowNull": false }, "errors": null, "isEmpty": true }); this.score = ko.observable(typeof data.score == 'undefined' ? 0.0 : data.score).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score must be a number." }, "errors": null, "isEmpty": true }); this.distance = new UnitValue(data.distance); this.meetsMandatoryCriteria = ko.observable(typeof data.meetsMandatoryCriteria == 'undefined' ? false : data.meetsMandatoryCriteria).extend({ "errors": null, "isEmpty": true }); this.meetsAllCriteria = ko.observable(typeof data.meetsAllCriteria == 'undefined' ? false : data.meetsAllCriteria).extend({ "errors": null, "isEmpty": true }); this.matchedGrocerCount = ko.observable(typeof data.matchedGrocerCount == 'undefined' ? 0 : data.matchedGrocerCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field MatchedGrocerCount must be a number." }, "errors": null, "isEmpty": true }); this.grocerCount = ko.observable(typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerCount must be a number." }, "errors": null, "isEmpty": true }); this.isFavorite = ko.observable(typeof data.isFavorite == 'undefined' ? false : data.isFavorite).extend({ "errors": null, "isEmpty": true }); this.relevance = ko.observable(typeof data.relevance == 'undefined' ? 0.0 : data.relevance).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Relevance must be a number." }, "errors": null, "isEmpty": true }); this.countryId = ko.observable(typeof data.countryId == 'undefined' ? null : data.countryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CountryId must be a number." }, "errors": null, "isEmpty": true }); this.countryName = ko.observable(typeof data.countryName == 'undefined' ? null : data.countryName).extend({ "errors": null, "isEmpty": true }); this.regionId = ko.observable(typeof data.regionId == 'undefined' ? null : data.regionId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RegionId must be a number." }, "errors": null, "isEmpty": true }); this.regionName = ko.observable(typeof data.regionName == 'undefined' ? null : data.regionName).extend({ "errors": null, "isEmpty": true }); this.location = ko.observable(typeof data.location == 'undefined' ? null : data.location).extend({ "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.scoreBreakdown = ko.observable(new ProductRelevance(data.scoreBreakdown)).extend({ "type": { "type": ProductRelevance, "allowNull": false }, "errors": null, "isEmpty": true }); this.request = ko.observable((typeof data.request == 'undefined' || !data.request) ? null : new ProcurementViewModel(data.request)).extend({ "type": { "type": ProcurementViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "errors": null, "isEmpty": true }); this.strength = ko.observable(typeof data.strength == 'undefined' ? 0 : data.strength).extend({ "errors": null, "isEmpty": true }); } GrocerSearchViewModel.unmap = { "include": [ "productCatalogId", "productId", "product", "grocerId", "grocer", "banner", "score", "distance", "meetsMandatoryCriteria", "meetsAllCriteria", "matchedGrocerCount", "grocerCount", "isFavorite", "relevance", "countryId", "countryName", "regionId", "regionName", "location", "createdAt", "updatedAt", "scoreBreakdown", "request", "status", "strength" ], "ignore": [], "product": ProductViewModel.unmap, "grocer": GrocerViewModel.unmap, "banner": BannerViewModel.unmap, "distance": UnitValue.unmap, "scoreBreakdown": ProductRelevance.unmap, "request": ProcurementViewModel.unmap }; GrocerSearchViewModel.key = 'productCatalogId'; function GrocerSearchList(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.vendorId" }); this.productId = ko.observable(typeof data.productId == 'undefined' ? null : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.mode = ko.observable(typeof data.mode == 'undefined' ? 0 : data.mode).extend({ "errors": null, "isEmpty": true }); this.country = ko.observable(typeof data.country == 'undefined' ? null : data.country).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Country must be a number." }, "errors": null, "isEmpty": true }); this.region = ko.observable(typeof data.region == 'undefined' ? null : data.region).extend({ "number": { "params": { "ruleSet": null }, "message": "The field State/Province must be a number." }, "errors": null, "isEmpty": true }); this.city = ko.observable(typeof data.city == 'undefined' ? null : data.city).extend({ "errors": null, "isEmpty": true }); this.companyId = ko.observable(typeof data.companyId == 'undefined' ? null : data.companyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Company must be a number." }, "errors": null, "isEmpty": true }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? null : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Banner must be a number." }, "errors": null, "isEmpty": true }); this.requestId = ko.observable(typeof data.requestId == 'undefined' ? null : data.requestId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field RequestId must be a number." }, "errors": null, "isEmpty": true }); this.includeMatched = ko.observable(typeof data.includeMatched == 'undefined' ? false : data.includeMatched).extend({ "errors": null, "isEmpty": true }); this.includeLabeled = ko.observable(typeof data.includeLabeled == 'undefined' ? false : data.includeLabeled).extend({ "errors": null, "isEmpty": true }); this.distance = new UnitValue(data.distance); this.distance.unitGroup = "distance"; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new GrocerSearchViewModel(value); }) : []).extend({ "arrayType": GrocerSearchViewModel, "errors": null, "isEmpty": true }); } GrocerSearchList.unmap = { "include": [ "vendorId", "productId", "mode", "country", "region", "city", "companyId", "bannerId", "requestId", "includeMatched", "includeLabeled", "distance", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ], "distance": UnitValue.unmap }; function Activity(data, extend) { data = data || {}; this.activityAt = typeof data.activityAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.activityAt; this.owner = new ListItem(data.owner); this.type = typeof data.type == 'undefined' ? 0 : data.type; this.data = data.data || []; } Activity.unmap = { "include": [ "activityAt", "owner", "type", "data" ], "ignore": [], "owner": ListItem.unmap }; function MissingVendorProductSummary(data, extend) { data = data || {}; this.isEnabled = ko.observable(typeof data.isEnabled == 'undefined' ? false : data.isEnabled).extend({ "errors": null, "isEmpty": true }); this.vendorCodeId = typeof data.vendorCodeId == 'undefined' ? 0 : data.vendorCodeId; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.upc = ko.observable(typeof data.upc == 'undefined' ? null : data.upc).extend({ "errors": null, "isEmpty": true }); this.description = typeof data.description == 'undefined' ? null : data.description; this.grocerId = data.grocerId || []; this.grocers = ko.observableArray(data.grocers ? $.map(data.grocers, function(value, key) { return new ListItem(value); }) : []).extend({ "arrayType": ListItem, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); } MissingVendorProductSummary.unmap = { "include": [ "isEnabled", "vendorCodeId", "createdAt", "updatedAt", "upc", "description", "grocerId", "grocers", "status" ], "ignore": [] }; MissingVendorProductSummary.key = 'upc'; function VendorCodeViewModel(data, extend) { data = data || {}; this.vendorCodeId = ko.observable(typeof data.vendorCodeId == 'undefined' ? 0 : data.vendorCodeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCodeId must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = typeof data.vendorId == 'undefined' ? 0 : data.vendorId; this.code = typeof data.code == 'undefined' ? null : data.code; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.vendor = new ListItem(data.vendor); this.products = ko.observableArray(data.products ? $.map(data.products, function(value, key) { return new MissingVendorProductSummary(value); }) : []).extend({ "arrayType": MissingVendorProductSummary, "errors": null, "isEmpty": true }); this.grocers = data.grocers ? $.map(data.grocers, function(value, key) { return new GrocerViewModel(value); }) : []; } VendorCodeViewModel.unmap = { "include": [ "vendorCodeId", "vendorId", "code", "createdAt", "updatedAt", "vendor", "products", "grocers" ], "ignore": [], "vendor": ListItem.unmap }; VendorCodeViewModel.key = 'vendorCodeId'; function VendorCodeList(data, extend) { data = data || {}; this.missingProducts = ko.observable(typeof data.missingProducts == 'undefined' ? false : data.missingProducts).extend({ "errors": null, "isEmpty": true }); this.unsubscribed = ko.observable(typeof data.unsubscribed == 'undefined' ? false : data.unsubscribed).extend({ "errors": null, "isEmpty": true }); this.disabled = ko.observable(typeof data.disabled == 'undefined' ? false : data.disabled).extend({ "errors": null, "isEmpty": true }); this.minContactedAt = ko.observable(typeof data.minContactedAt == 'undefined' ? null : data.minContactedAt).extend({ "errors": null, "isEmpty": true }); this.maxContactedAt = ko.observable(typeof data.maxContactedAt == 'undefined' ? null : data.maxContactedAt).extend({ "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? null : data.status).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Status must be a number." }, "errors": null, "isEmpty": true }); this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new VendorCodeViewModel(value); }) : []).extend({ "arrayType": VendorCodeViewModel, "errors": null, "isEmpty": true }); } VendorCodeList.unmap = { "include": [ "missingProducts", "unsubscribed", "disabled", "minContactedAt", "maxContactedAt", "status", "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function MissingProductDetailViewModel(data, extend) { data = data || {}; this.vendorCodeId = ko.observable(typeof data.vendorCodeId == 'undefined' ? 0 : data.vendorCodeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCodeId must be a number." }, "errors": null, "isEmpty": true }); this.vendorCode = ko.observable((typeof data.vendorCode == 'undefined' || !data.vendorCode) ? null : new VendorCodeViewModel(data.vendorCode)).extend({ "type": { "type": VendorCodeViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); this.recipients = ko.observableArray(data.recipients ? $.map(data.recipients, function(value, key) { return new UserViewModel(value); }) : []).extend({ "arrayType": UserViewModel, "errors": null, "isEmpty": true }); this.log = ko.observableArray(data.log ? $.map(data.log, function(value, key) { return new Activity(value); }) : []).extend({ "arrayType": Activity, "errors": null, "isEmpty": true }); this.hasSubscribedRecipients = ko.observable(typeof data.hasSubscribedRecipients == 'undefined' ? false : data.hasSubscribedRecipients).extend({ "errors": null, "isEmpty": true }); } MissingProductDetailViewModel.unmap = { "include": [ "vendorCodeId" ], "ignore": [ "vendorCode", "recipients", "log", "hasSubscribedRecipients" ], "vendorCode": VendorCodeViewModel.unmap }; function BatchPrintViewModel(data, extend) { data = data || {}; this.companyId = ko.observable(typeof data.companyId == 'undefined' ? null : data.companyId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CompanyId must be a number." }, "errors": null, "isEmpty": true }); this.bannerId = ko.observableArray(data.bannerId || []).extend({ "errors": null, "isEmpty": true }); this.grocerId = ko.observableArray(data.grocerId || []).extend({ "errors": null, "isEmpty": true }); this.labelSetId = ko.observableArray(data.labelSetId || []).extend({ "errors": null, "isEmpty": true }); this.printTemplateId = ko.observableArray(data.printTemplateId || []).extend({ "errors": null, "isEmpty": true }); this.productName = ko.observable(typeof data.productName == 'undefined' ? null : data.productName).extend({ "errors": null, "isEmpty": true }); this.isRequest = ko.observable(typeof data.isRequest == 'undefined' ? false : data.isRequest).extend({ "errors": null, "isEmpty": true }); this.isDoubleSided = ko.observable(typeof data.isDoubleSided == 'undefined' ? false : data.isDoubleSided).extend({ "errors": null, "isEmpty": true }); this.includeExport = ko.observable(typeof data.includeExport == 'undefined' ? false : data.includeExport).extend({ "errors": null, "isEmpty": true }); this.saveSpace = ko.observable(typeof data.saveSpace == 'undefined' ? false : data.saveSpace).extend({ "errors": null, "isEmpty": true }); this.notes = ko.observable(typeof data.notes == 'undefined' ? null : data.notes).extend({ "errors": null, "isEmpty": true }); this.feedbackId = ko.observable(typeof data.feedbackId == 'undefined' ? null : data.feedbackId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field FeedbackId must be a number." }, "errors": null, "isEmpty": true }); } BatchPrintViewModel.unmap = { "include": [ "companyId", "bannerId", "grocerId", "labelSetId", "printTemplateId", "productName", "isRequest", "isDoubleSided", "includeExport", "saveSpace", "notes", "feedbackId" ], "ignore": [] }; function PrintLabel(data, extend) { data = data || {}; this.productId = ko.observable(typeof data.productId == 'undefined' ? null : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.distance = new UnitValue(data.distance); this.distanceString = ko.observable(typeof data.distanceString == 'undefined' ? null : data.distanceString).extend({ "errors": null, "isEmpty": true }); this.upc = ko.observable(typeof data.upc == 'undefined' ? null : data.upc).extend({ "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.brand = ko.observable(typeof data.brand == 'undefined' ? null : data.brand).extend({ "errors": null, "isEmpty": true }); this.size = ko.observable(typeof data.size == 'undefined' ? null : data.size).extend({ "errors": null, "isEmpty": true }); this.score = ko.observable(typeof data.score == 'undefined' ? 0.0 : data.score).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Score must be a number." }, "errors": null, "isEmpty": true }); this.ownershipScore = ko.observable(typeof data.ownershipScore == 'undefined' ? 0.0 : data.ownershipScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field OwnershipScore must be a number." }, "errors": null, "isEmpty": true }); this.productionScore = ko.observable(typeof data.productionScore == 'undefined' ? 0.0 : data.productionScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductionScore must be a number." }, "errors": null, "isEmpty": true }); this.ingredientScore = ko.observable(typeof data.ingredientScore == 'undefined' ? 0.0 : data.ingredientScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field IngredientScore must be a number." }, "errors": null, "isEmpty": true }); this.website = ko.observable(typeof data.website == 'undefined' ? null : data.website).extend({ "errors": null, "isEmpty": true }); this.twitterUrl = ko.observable(typeof data.twitterUrl == 'undefined' ? null : data.twitterUrl).extend({ "errors": null, "isEmpty": true }); this.facebookUrl = ko.observable(typeof data.facebookUrl == 'undefined' ? null : data.facebookUrl).extend({ "errors": null, "isEmpty": true }); this.vendorName = ko.observable(typeof data.vendorName == 'undefined' ? null : data.vendorName).extend({ "errors": null, "isEmpty": true }); this.vendorDescription = ko.observable(typeof data.vendorDescription == 'undefined' ? null : data.vendorDescription).extend({ "errors": null, "isEmpty": true }); this.vendorLogoUrl = ko.observable(typeof data.vendorLogoUrl == 'undefined' ? null : data.vendorLogoUrl).extend({ "errors": null, "isEmpty": true }); this.ingredientNotes = ko.observable(typeof data.ingredientNotes == 'undefined' ? null : data.ingredientNotes).extend({ "errors": null, "isEmpty": true }); this.productionNotes = ko.observable(typeof data.productionNotes == 'undefined' ? null : data.productionNotes).extend({ "errors": null, "isEmpty": true }); this.ownershipNotes = ko.observable(typeof data.ownershipNotes == 'undefined' ? null : data.ownershipNotes).extend({ "errors": null, "isEmpty": true }); this.category = ko.observable(typeof data.category == 'undefined' ? null : data.category).extend({ "errors": null, "isEmpty": true }); this.categoryShortName = ko.observable(typeof data.categoryShortName == 'undefined' ? null : data.categoryShortName).extend({ "errors": null, "isEmpty": true }); this.subCategory = ko.observable(typeof data.subCategory == 'undefined' ? null : data.subCategory).extend({ "errors": null, "isEmpty": true }); this.productUrl = ko.observable(typeof data.productUrl == 'undefined' ? null : data.productUrl).extend({ "errors": null, "isEmpty": true }); this.carbonScore = ko.observable(typeof data.carbonScore == 'undefined' ? null : data.carbonScore).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CarbonScore must be a number." }, "errors": null, "isEmpty": true }); this.carbonNotes = ko.observable(typeof data.carbonNotes == 'undefined' ? null : data.carbonNotes).extend({ "errors": null, "isEmpty": true }); this.attributes = ko.observableArray(data.attributes ? $.map(data.attributes, function(value, key) { return new LabelAttribute(value); }) : []).extend({ "arrayType": LabelAttribute, "errors": null, "isEmpty": true }); this.certifications = ko.observableArray(data.certifications || []).extend({ "errors": null, "isEmpty": true }); } PrintLabel.unmap = { "include": [ "productId", "vendorId", "distance", "distanceString", "upc", "name", "brand", "size", "score", "ownershipScore", "productionScore", "ingredientScore", "website", "twitterUrl", "facebookUrl", "vendorName", "vendorDescription", "vendorLogoUrl", "ingredientNotes", "productionNotes", "ownershipNotes", "category", "categoryShortName", "subCategory", "productUrl", "carbonScore", "carbonNotes", "attributes", "certifications" ], "ignore": [], "distance": UnitValue.unmap }; function PrintLabelList(data, extend) { data = data || {}; this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? null : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Vendor must be a number." }, "errors": null, "isEmpty": true }); this.productId = ko.observable(typeof data.productId == 'undefined' ? null : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Product must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? null : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Grocer must be a number." }, "errors": null, "isEmpty": true }); this.ipAddress = ko.observable(typeof data.ipAddress == 'undefined' ? null : data.ipAddress).extend({ "errors": null, "isEmpty": true }); this.compareAddress = ko.observable((typeof data.compareAddress == 'undefined' || !data.compareAddress) ? null : new AddressViewModel(data.compareAddress)).extend({ "type": { "type": AddressViewModel, "allowNull": true }, "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new PrintLabel(value); }) : []).extend({ "arrayType": PrintLabel, "errors": null, "isEmpty": true }); } PrintLabelList.unmap = { "include": [ "vendorId", "productId", "grocerId", "ipAddress", "compareAddress", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ], "compareAddress": AddressViewModel.unmap }; function RuleSet(data, extend) { data = data || {}; this.typeName = typeof data.typeName == 'undefined' ? null : data.typeName; this.displayName = typeof data.displayName == 'undefined' ? null : data.displayName; } RuleSet.unmap = { "include": [ "typeName", "displayName" ], "ignore": [] }; function RuleSetList(data, extend) { data = data || {}; this.keys = ko.observableArray(data.keys || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new RuleSet(value); }) : []).extend({ "arrayType": RuleSet, "errors": null, "isEmpty": true }); } RuleSetList.unmap = { "include": [ "keys", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function GrocerStats(data, extend) { data = data || {}; this.id = ko.observable(typeof data.id == 'undefined' ? null : data.id).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Id must be a number." }, "errors": null, "isEmpty": true }); this.labelCount = ko.observable(typeof data.labelCount == 'undefined' ? 0 : data.labelCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelCount must be a number." }, "errors": null, "isEmpty": true }); this.brandCount = ko.observable(typeof data.brandCount == 'undefined' ? 0 : data.brandCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BrandCount must be a number." }, "errors": null, "isEmpty": true }); this.vendorCount = ko.observable(typeof data.vendorCount == 'undefined' ? 0 : data.vendorCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorCount must be a number." }, "errors": null, "isEmpty": true }); this.pendingLabelPrintCount = ko.observable(typeof data.pendingLabelPrintCount == 'undefined' ? 0 : data.pendingLabelPrintCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PendingLabelPrintCount must be a number." }, "errors": null, "isEmpty": true }); this.pendingLabelSetId = ko.observable(typeof data.pendingLabelSetId == 'undefined' ? null : data.pendingLabelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PendingLabelSetId must be a number." }, "errors": null, "isEmpty": true }); } GrocerStats.unmap = { "include": [ "id", "labelCount", "brandCount", "vendorCount", "pendingLabelPrintCount", "pendingLabelSetId" ], "ignore": [] }; GrocerStats.key = 'id'; function RecentProductList(data, extend) { data = data || {}; this.id = ko.observable(typeof data.id == 'undefined' ? null : data.id).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Id must be a number." }, "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items || []).extend({ "errors": null, "isEmpty": true }); } RecentProductList.unmap = { "include": [ "id" ], "ignore": [ "items" ] }; RecentProductList.key = 'id'; function VendorProgress(data, extend) { data = data || {}; this.id = ko.observable(typeof data.id == 'undefined' ? null : data.id).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Id must be a number." }, "errors": null, "isEmpty": true }); this.status = ko.observable(typeof data.status == 'undefined' ? 0 : data.status).extend({ "errors": null, "isEmpty": true, "flags": VendorStatus }); this.progress = ko.observable(typeof data.progress == 'undefined' ? 0.0 : data.progress).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Progress must be a number." }, "errors": null, "isEmpty": true }); this.hasCompanyProfile = ko.observable(typeof data.hasCompanyProfile == 'undefined' ? false : data.hasCompanyProfile).extend({ "errors": null, "isEmpty": true }); this.hasContact = ko.observable(typeof data.hasContact == 'undefined' ? false : data.hasContact).extend({ "errors": null, "isEmpty": true }); this.hasOwnership = ko.observable(typeof data.hasOwnership == 'undefined' ? false : data.hasOwnership).extend({ "errors": null, "isEmpty": true }); this.hasLogo = ko.observable(typeof data.hasLogo == 'undefined' ? false : data.hasLogo).extend({ "errors": null, "isEmpty": true }); this.hasProducts = ko.observable(typeof data.hasProducts == 'undefined' ? false : data.hasProducts).extend({ "errors": null, "isEmpty": true }); this.hasDistribution = ko.observable(typeof data.hasDistribution == 'undefined' ? false : data.hasDistribution).extend({ "errors": null, "isEmpty": true }); this.hasSafetyRecall = ko.observable(typeof data.hasSafetyRecall == 'undefined' ? false : data.hasSafetyRecall).extend({ "errors": null, "isEmpty": true }); this.hasMarketing = ko.observable(typeof data.hasMarketing == 'undefined' ? false : data.hasMarketing).extend({ "errors": null, "isEmpty": true }); } VendorProgress.unmap = { "include": [ "id", "status", "progress", "hasCompanyProfile", "hasContact", "hasOwnership", "hasLogo", "hasProducts", "hasDistribution", "hasSafetyRecall", "hasMarketing" ], "ignore": [] }; VendorProgress.key = 'id'; function VendorStats(data, extend) { data = data || {}; this.id = ko.observable(typeof data.id == 'undefined' ? null : data.id).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Id must be a number." }, "errors": null, "isEmpty": true }); this.grocerCount = ko.observable(typeof data.grocerCount == 'undefined' ? 0 : data.grocerCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerCount must be a number." }, "errors": null, "isEmpty": true }); this.grocerProductCount = ko.observable(typeof data.grocerProductCount == 'undefined' ? 0 : data.grocerProductCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductCount must be a number." }, "errors": null, "isEmpty": true }); } VendorStats.unmap = { "include": [ "id", "grocerCount", "grocerProductCount" ], "ignore": [] }; VendorStats.key = 'id'; function MediaList(data, extend) { data = data || {}; this.entityId = ko.observable(typeof data.entityId == 'undefined' ? null : data.entityId).extend({ "errors": null, "isEmpty": true }); this.type = ko.observable(typeof data.type == 'undefined' ? null : data.type).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new Media(value); }) : []).extend({ "arrayType": Media, "errors": null, "isEmpty": true }); } MediaList.unmap = { "include": [ "entityId", "type", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "totalItems", "totalActiveItems", "totalPages", "items" ] }; function ProductData(data, extend) { data = data || {}; this.productId = ko.observable(typeof data.productId == 'undefined' ? 0 : data.productId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductId must be a number." }, "errors": null, "isEmpty": true }); this.name = ko.observable(typeof data.name == 'undefined' ? null : data.name).extend({ "errors": null, "isEmpty": true }); this.upc = ko.observable(typeof data.upc == 'undefined' ? null : data.upc).extend({ "errors": null, "isEmpty": true }); this.vendorId = ko.observable(typeof data.vendorId == 'undefined' ? 0 : data.vendorId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field VendorId must be a number." }, "errors": null, "isEmpty": true }); this.vendorName = ko.observable(typeof data.vendorName == 'undefined' ? null : data.vendorName).extend({ "errors": null, "isEmpty": true }); this.ingredientNotes = ko.observable(typeof data.ingredientNotes == 'undefined' ? null : data.ingredientNotes).extend({ "errors": null, "isEmpty": true }); this.productionNotes = ko.observable(typeof data.productionNotes == 'undefined' ? null : data.productionNotes).extend({ "errors": null, "isEmpty": true }); this.moreInfo = ko.observable(typeof data.moreInfo == 'undefined' ? null : data.moreInfo).extend({ "errors": null, "isEmpty": true }); this.isActive = ko.observable(typeof data.isActive == 'undefined' ? false : data.isActive).extend({ "errors": null, "isEmpty": true }); this.addressText = ko.observable(typeof data.addressText == 'undefined' ? null : data.addressText).extend({ "errors": null, "isEmpty": true }); this.city = ko.observable(typeof data.city == 'undefined' ? null : data.city).extend({ "errors": null, "isEmpty": true }); this.region = ko.observable(typeof data.region == 'undefined' ? null : data.region).extend({ "errors": null, "isEmpty": true }); this.postalCode = ko.observable(typeof data.postalCode == 'undefined' ? null : data.postalCode).extend({ "errors": null, "isEmpty": true }); this.country = ko.observable(typeof data.country == 'undefined' ? null : data.country).extend({ "errors": null, "isEmpty": true }); this.latitude = ko.observable(typeof data.latitude == 'undefined' ? null : data.latitude).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Latitude must be a number." }, "errors": null, "isEmpty": true }); this.longitude = ko.observable(typeof data.longitude == 'undefined' ? null : data.longitude).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Longitude must be a number." }, "errors": null, "isEmpty": true }); this.brand = ko.observable(typeof data.brand == 'undefined' ? null : data.brand).extend({ "errors": null, "isEmpty": true }); this.size = ko.observable(typeof data.size == 'undefined' ? null : data.size).extend({ "errors": null, "isEmpty": true }); this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.productCategoryId = ko.observable(typeof data.productCategoryId == 'undefined' ? 0 : data.productCategoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductCategoryId must be a number." }, "errors": null, "isEmpty": true }); this.productCategoryName = ko.observable(typeof data.productCategoryName == 'undefined' ? null : data.productCategoryName).extend({ "errors": null, "isEmpty": true }); this.productSubCategoryId = ko.observable(typeof data.productSubCategoryId == 'undefined' ? null : data.productSubCategoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field ProductSubCategoryId must be a number." }, "errors": null, "isEmpty": true }); this.productSubCategoryName = ko.observable(typeof data.productSubCategoryName == 'undefined' ? null : data.productSubCategoryName).extend({ "errors": null, "isEmpty": true }); } ProductData.unmap = { "include": [ "productId", "name", "upc", "vendorId", "vendorName", "ingredientNotes", "productionNotes", "moreInfo", "isActive", "addressText", "city", "region", "postalCode", "country", "latitude", "longitude", "brand", "size", "createdAt", "updatedAt", "productCategoryId", "productCategoryName", "productSubCategoryId", "productSubCategoryName" ], "ignore": [] }; function LabelData(data, extend) { data = data || {}; this.labelId = ko.observable(typeof data.labelId == 'undefined' ? 0 : data.labelId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelId must be a number." }, "errors": null, "isEmpty": true }); this.grocerProductId = ko.observable(typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductId must be a number." }, "errors": null, "isEmpty": true }); this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true }); this.labelTypeId = ko.observable(typeof data.labelTypeId == 'undefined' ? 0 : data.labelTypeId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelTypeId must be a number." }, "errors": null, "isEmpty": true }); this.labelCount = ko.observable(typeof data.labelCount == 'undefined' ? 0 : data.labelCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelCount must be a number." }, "errors": null, "isEmpty": true }); this.defaultCount = ko.observable(typeof data.defaultCount == 'undefined' ? 0 : data.defaultCount).extend({ "number": { "params": { "ruleSet": null }, "message": "The field DefaultCount must be a number." }, "errors": null, "isEmpty": true }); this.isSelected = ko.observable(typeof data.isSelected == 'undefined' ? false : data.isSelected).extend({ "errors": null, "isEmpty": true }); } LabelData.unmap = { "include": [ "labelId", "grocerProductId", "labelSetId", "labelTypeId", "labelCount", "defaultCount", "isSelected" ], "ignore": [] }; LabelData.key = 'labelId'; function LabelSetItem(data, extend) { data = data || {}; this.grocerProductId = ko.observable(typeof data.grocerProductId == 'undefined' ? 0 : data.grocerProductId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerProductId must be a number." }, "errors": null, "isEmpty": true }); this.grocerId = typeof data.grocerId == 'undefined' ? 0 : data.grocerId; this.productId = typeof data.productId == 'undefined' ? null : data.productId; this.upc = typeof data.upc == 'undefined' ? null : data.upc; this.description = typeof data.description == 'undefined' ? null : data.description; this.articleNumber = typeof data.articleNumber == 'undefined' ? null : data.articleNumber; this.categoryCode = typeof data.categoryCode == 'undefined' ? null : data.categoryCode; this.score = typeof data.score == 'undefined' ? 0.0 : data.score; this.ownershipScore = typeof data.ownershipScore == 'undefined' ? 0.0 : data.ownershipScore; this.productionScore = typeof data.productionScore == 'undefined' ? 0.0 : data.productionScore; this.ingredientScore = typeof data.ingredientScore == 'undefined' ? 0.0 : data.ingredientScore; this.distance = typeof data.distance == 'undefined' ? null : data.distance; this.createdAt = typeof data.createdAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.createdAt; this.updatedAt = typeof data.updatedAt == 'undefined' ? "0001-01-01T00:00:00+00:00" : data.updatedAt; this.website = typeof data.website == 'undefined' ? null : data.website; this.isManuallyAdded = typeof data.isManuallyAdded == 'undefined' ? false : data.isManuallyAdded; this.product = new ProductData(data.product); this.labels = ko.observableArray(data.labels ? $.map(data.labels, function(value, key) { return new LabelData(value); }) : []).extend({ "arrayType": LabelData, "errors": null, "isEmpty": true }); } LabelSetItem.unmap = { "include": [ "grocerProductId", "grocerId", "productId", "upc", "description", "articleNumber", "categoryCode", "score", "ownershipScore", "productionScore", "ingredientScore", "distance", "createdAt", "updatedAt", "website", "isManuallyAdded", "product", "labels" ], "ignore": [], "product": ProductData.unmap }; LabelSetItem.key = 'grocerProductId'; function LabelSetEdit(data, extend) { data = data || {}; this.labelSetId = ko.observable(typeof data.labelSetId == 'undefined' ? null : data.labelSetId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field LabelSetId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.labelSetId" }); this.grocerId = ko.observable(typeof data.grocerId == 'undefined' ? 0 : data.grocerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field GrocerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.grocerId" }); this.labelTypeId = ko.observableArray(data.labelTypeId || []).extend({ "errors": null, "isEmpty": true, "cookie": "user.labelTypeId" }); this.bannerId = ko.observable(typeof data.bannerId == 'undefined' ? 0 : data.bannerId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field BannerId must be a number." }, "errors": null, "isEmpty": true, "cookie": "user.bannerId" }); this.visible = ko.observable(typeof data.visible == 'undefined' ? null : data.visible).extend({ "errors": null, "isEmpty": true }); this.categoryId = ko.observable(typeof data.categoryId == 'undefined' ? null : data.categoryId).extend({ "number": { "params": { "ruleSet": null }, "message": "The field CategoryId must be a number." }, "errors": null, "isEmpty": true }); this.mode = ko.observable(typeof data.mode == 'undefined' ? 0 : data.mode).extend({ "errors": null, "isEmpty": true }); this.labelSet = ko.observable(typeof data.labelSet == 'undefined' ? null : data.labelSet).extend({ "errors": null, "isEmpty": true }); this.totalSelected = ko.observable(typeof data.totalSelected == 'undefined' ? 0 : data.totalSelected).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalSelected must be a number." }, "errors": null, "isEmpty": true }); this.totalLabels = ko.observable(typeof data.totalLabels == 'undefined' ? 0 : data.totalLabels).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalLabels must be a number." }, "errors": null, "isEmpty": true }); this.allSelected = ko.observable(typeof data.allSelected == 'undefined' ? false : data.allSelected).extend({ "errors": null, "isEmpty": true }); this.templates = ko.observableArray(data.templates || []).extend({ "errors": null, "isEmpty": true }); this.query = ko.observable(typeof data.query == 'undefined' ? null : data.query).extend({ "errors": null, "isEmpty": true }); this.sort = ko.observable(typeof data.sort == 'undefined' ? null : data.sort).extend({ "errors": null, "isEmpty": true }); this.asc = ko.observable(typeof data.asc == 'undefined' ? true : data.asc).extend({ "errors": null, "isEmpty": true }); this.page = ko.observable(typeof data.page == 'undefined' ? 1 : data.page).extend({ "number": { "params": { "ruleSet": null }, "message": "The field Page must be a number." }, "errors": null, "isEmpty": true }); this.pageSize = ko.observable(typeof data.pageSize == 'undefined' ? 50 : data.pageSize).extend({ "number": { "params": { "ruleSet": null }, "message": "The field PageSize must be a number." }, "errors": null, "isEmpty": true }); this.totalItems = ko.observable(typeof data.totalItems == 'undefined' ? 0 : data.totalItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalItems must be a number." }, "errors": null, "isEmpty": true }); this.totalActiveItems = ko.observable(typeof data.totalActiveItems == 'undefined' ? 0 : data.totalActiveItems).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalActiveItems must be a number." }, "errors": null, "isEmpty": true }); this.totalPages = ko.observable(typeof data.totalPages == 'undefined' ? 0 : data.totalPages).extend({ "number": { "params": { "ruleSet": null }, "message": "The field TotalPages must be a number." }, "errors": null, "isEmpty": true }); this.scope = ko.observable(typeof data.scope == 'undefined' ? 0 : data.scope).extend({ "errors": null, "isEmpty": true }); this.format = ko.observable(typeof data.format == 'undefined' ? 0 : data.format).extend({ "errors": null, "isEmpty": true }); this.items = ko.observableArray(data.items ? $.map(data.items, function(value, key) { return new LabelSetItem(value); }) : []).extend({ "arrayType": LabelSetItem, "errors": null, "isEmpty": true }); } LabelSetEdit.unmap = { "include": [ "labelSetId", "grocerId", "labelTypeId", "bannerId", "visible", "categoryId", "mode", "totalSelected", "totalLabels", "allSelected", "query", "sort", "asc", "page", "pageSize", "scope", "format" ], "ignore": [ "labelSet", "templates", "totalItems", "totalActiveItems", "totalPages", "items" ] };