AlertType = new (function AlertType(){ this.duplicate = 1; this.unmatched = 2; this.getList = function() { return [{"key":1,"value":"Duplicate"},{"key":2,"value":"Unmatched"}]; }; })(); 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"}]; }; })(); 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"}]; }; })(); 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"}]; }; })(); 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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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({"required":{"params":{"ruleSet":"soft"},"message":"Please enter a production address"},"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.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}); } ProductViewModel.unmap = {"include":["productId","name","upc","vendorId","isActive","productionAddress","brand","brandId","productCategoryId","categoryName","productSubCategoryId","subCategoryName","carbon","media","packagingRetail","profile","url","vendorName"],"ignore":["isValid","status","createdAt","createdById","createdByName","updatedAt","updatedById","updatedByName","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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}); } GrocerProductViewModel.unmap = {"include":["grocerProductId","grocerId","productId","upc","description","articleNumber","categoryCode","meta1","meta2","isValid","score","ownershipScore","productionScore","ingredientScore","createdAt","updatedAt","website","isManuallyAdded","status","product","alertIds"],"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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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.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","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; } CompleteScore.unmap = {"include":["productionScore","ownershipScore","ingredientScore","totalScore","productionInSameProvince","westernCanadaOwnership"],"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.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","totalPages","items"],"distance":UnitValue.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.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","totalPages","items"]}; 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.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","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.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","totalPages","items"],"compareAddress":AddressViewModel.unmap}; 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.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","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.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","totalPages","items"]};