{"version":3,"file":"components-be155c79.js","sources":["../../src/api/index.ts","../../src/assets/nsi-logo.png","../../src/assets/nsi_logo_white.png","../../src/assets/SRSH_Care4Dogs_logo.png","../../src/assets/background-dog1.jpg","../../src/assets/dog_background.png","../../src/assets/paw-print-.png","../../src/assets/sharepoint-logo.png","../../src/assets/boneIcon.png","../../src/assets/dog_default.png","../../src/assets/downloadPdf.png","../../src/assets/dysplasies.png","../../src/assets/puppies.png","../../src/assets/x.png","../../src/assets/fci.png","../../src/assets/not_fci.png","../../src/assets/index.ts","../../src/drupal/EDrupalRoutes.ts","../../src/ERoutes.ts","../../src/locales/ELanguages.ts","../../src/locales/ETLCodes.ts","../../src/baseUrl.ts","../../src/locales/index.ts","../../src/hooks/useTl.ts","../../src/hooks/useApiService.ts","../../src/hooks/useCrudApi.ts","../../src/hooks/useLocalStorage.ts","../../src/hooks/useWindow.tsx","../../src/hooks/useDeleteApi.ts","../../src/hooks/useSaveApi.ts","../../src/hooks/useSearchApiWithLanguageRefresh.ts","../../src/hooks/useRouter.ts","../../src/hooks/validators/usePersonValidators.ts","../../src/hooks/validators/useDogValidators.ts","../../src/hooks/useReferentials.ts","../../src/hooks/useApplication.ts","../../src/hooks/useAutoCheckVersionRefresh.ts","../../src/contexts/PlatformContext.tsx","../../src/contexts/AuthContext.tsx","../../src/contexts/BreadcrumbContext.tsx","../../src/contexts/DialogContext.tsx","../../src/contexts/EventContext.tsx","../../src/contexts/GlobalDataContext.tsx","../../src/contexts/SearchCriteriasContext.tsx","../../src/contexts/NavigationContext.tsx","../../src/contexts/DetailHistoryContext.tsx","../../src/hooks/useReferential.ts","../../src/utils/RequestRouteUtil.tsx","../../src/components/AppBreadcrumb.tsx","../../src/components/applicationButtons/CancelButton.tsx","../../src/components/applicationButtons/DeleteButton.tsx","../../src/components/applicationButtons/SaveButton.tsx","../../src/components/applicationButtons/EditButton.tsx","../../src/components/applicationButtons/ViewButton.tsx","../../src/components/applicationButtons/EmailButton.tsx","../../src/components/applicationButtons/AddButton.tsx","../../src/components/applicationButtons/BackButton.tsx","../../src/components/applicationButtons/SearchButton.tsx","../../src/components/applicationButtons/SharepointButton.tsx","../../src/components/applicationButtons/ExportButton.tsx","../../src/components/applicationButtons/FusionButton.tsx","../../src/components/applicationButtons/SplitButton.tsx","../../src/components/applicationButtons/CloseButton.tsx","../../src/components/applicationButtons/SharepointFileButton.tsx","../../src/components/applicationButtons/PrintButton.tsx","../../src/components/applicationButtons/UploadSharepointButton.tsx","../../src/components/Header.tsx","../../src/components/NavigationMenu/CollapseAllContext.ts","../../src/components/NavigationMenu/Container.tsx","../../src/components/NavigationMenu/MenuItem.tsx","../../src/components/NavigationMenu/QuickAccess.tsx","../../src/components/NavigationMenu/NavigationMenu.tsx","../../src/components/PageBase.tsx","../../src/components/applicationButtons/ButtonContainerStyles.ts","../../src/components/formGenerator/FGRouteDirtyChecker.tsx","../../src/components/SmallFormGenerator.tsx","../../src/components/DialogRoot.tsx","../../src/components/searchTablePage/SearchTablePage.tsx","../../src/components/NumberShower.tsx","../../src/components/formGenerator/FGSRSHMultiCheckboxInput.tsx","../../src/components/formGenerator/FGSRSHCheckboxInput.tsx","../../src/components/formGenerator/FGMultiTranslate.tsx","../../src/components/formGenerator/FGAdvancedSearchInput.tsx","../../src/utils/b64download.tsx","../../src/utils/generateAddress.tsx","../../src/utils/vatNumberValidate.tsx","../../src/utils/formatDate.ts","../../src/utils/stringsUtils.ts","../../src/components/formGenerator/FGPeopleSearchInput.tsx","../../src/components/formGenerator/FGDogSearchInput.tsx","../../src/components/formGenerator/FGPhoneInput.tsx","../../src/components/formGenerator/referential/FGClubSelect.tsx","../../src/components/formGenerator/referential/FGWorkbookTypeSelect.tsx","../../src/components/formGenerator/referential/FGCountrySelect.tsx","../../src/components/SRSHSelector/SRSHCustomSelector/SRSHCustomGridSelector.tsx","../../src/components/SRSHSelector/SRSHCustomSelector/SRSHCustomSelector.tsx","../../src/components/SRSHSelector/SRSHParentSelector.tsx","../../src/components/FullPageLoader.tsx","../../src/components/TranfertList/TransfertListDataTable.tsx","../../src/components/TranfertList/TransfertList.tsx","../../src/components/CustomDataTable/CustomDataTable.tsx","../../src/pages/request/broodRequest/item/AddPersonPanel.tsx","../../src/pages/request/broodRequest/item/PuppyPersonInformation.tsx","../../src/pages/request/broodRequest/item/PuppyOwners.tsx","../../src/pages/request/broodRequest/item/PuppyCard.tsx","../../src/pages/request/broodRequest/item/PuppiesTab.tsx","../../src/utils/RequestSearchRouteUtil.tsx","../../src/components/requestStickyMenu/RequestCancelCommentDialog.tsx","../../src/components/requestStickyMenu/RequestStickyMenu.tsx","../../src/components/InformationTooltip.tsx","../../src/components/WorkbookTypeIcon.tsx","../../src/components/VerificationTab.tsx","../../src/components/LinkedSubFilesTab.tsx","../../src/components/ConditionTab.tsx","../../src/components/protectedTabs/ProtectedTabs.tsx","../../src/components/RequestHistoryTab.tsx","../../src/components/drupal/PageContainer.tsx","../../src/components/BoneIcon.tsx","../../src/components/InformationCard.tsx","../../src/components/formGenerator/FGSRSHDateMaskInput.tsx","../../src/components/formGenerator/FGNumberMaskInput.tsx","../../src/components/formGenerator/FGEuroMaskInput.tsx","../../src/components/genealogyD3TreeUtils.tsx","../../src/pages/fusion/components/FusionRadio.tsx","../../src/pages/fusion/components/FusionCombo.tsx","../../src/pages/fusion/components/FusionCheckbox.tsx","../../src/pages/fusion/components/FusionDisplayRadio.tsx"],"sourcesContent":["//----------------------\n// \n// Generated using the NSwag toolchain v13.19.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nexport class BaseAPI {\n constructor(protected configuration: Configuration) {}\n\n getBaseUrl(prefix: string, baseUrl: string) {\n const finalBaseUrl = baseUrl || this.configuration.basePath || BASE_PATH;\n return `${finalBaseUrl}${prefix}`;\n }\n \n private currentAbortController: AbortController = null;\n \n public abortPendingRequest(){\n this.currentAbortController?.abort();\n }\n \n async transformOptions(options: RequestInit): Promise {\n const ctrl = new AbortController();\n options.signal = ctrl.signal;\n this.currentAbortController = ctrl;\n options.headers = {\n ...options.headers,\n ...this.configuration.headers\n };\n \n if(this.configuration.beforeRequest){\n options = await this.configuration.beforeRequest(options);\n }\n return Promise.resolve(options);\n }\n\n async transformResult(\n url: string,\n response: Response,\n processor: (response: Response) => Promise\n ): Promise {\n this.currentAbortController = null;\n if(this.configuration.afterRequest){\n await this.configuration.afterRequest(response);\n }\n return processor(response);\n }\n}\n\nexport interface IActivityApi {\n\n baseSearch(sObj: ActivitySearch): Promise;\n\n get(activityId: number | undefined): Promise;\n\n save(dto: ActivityDto): Promise;\n\n delete(activityId: number | undefined): Promise;\n\n getDisplayName(activityId: number | undefined, languageId: number | undefined): Promise;\n\n exportXlsFile(sObj: ActivitySearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ActivityApi extends BaseAPI implements IActivityApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ActivitySearch): Promise {\n let url_ = this.baseUrl + \"/api/Activity/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfActivityGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(activityId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Activity?\";\n if (activityId === null)\n throw new Error(\"The parameter 'activityId' cannot be null.\");\n else if (activityId !== undefined)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ActivityDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: ActivityDto): Promise {\n let url_ = this.baseUrl + \"/api/Activity/save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(activityId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Activity/delete?\";\n if (activityId === null)\n throw new Error(\"The parameter 'activityId' cannot be null.\");\n else if (activityId !== undefined)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(activityId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Activity/displayname?\";\n if (activityId === null)\n throw new Error(\"The parameter 'activityId' cannot be null.\");\n else if (activityId !== undefined)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ActivitySearch): Promise {\n let url_ = this.baseUrl + \"/api/Activity/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Activity/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Activity/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IAffixDrupalApi {\n\n baseSearch(sObj: DrupalAffixSearch): Promise;\n\n exportXlsFile(sObj: DrupalAffixSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class AffixDrupalApi extends BaseAPI implements IAffixDrupalApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DrupalAffixSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixDrupal/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfAffixGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DrupalAffixSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixDrupal/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixDrupal/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/AffixDrupal/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IAffixRequestApi {\n\n baseSearch(sObj: AffixRequestSearch): Promise;\n\n getNewKennelRequest(newKennelRequestId: number | undefined): Promise;\n\n saveNewKennelRequest(dto: NewKennelRequestDto): Promise;\n\n getKennelNameChangeRequest(kennelNameChangeRequestId: number | undefined): Promise;\n\n uploadFciDoc(files: FileParameter[] | null | undefined): Promise;\n\n getFciDocuments(requestType: ERequestType | undefined): Promise;\n\n getImportKennelRequest(importKennelId: number | undefined): Promise;\n\n regenKennelApprovedDocument(requestId: number | undefined, type: ERequestType | undefined): Promise;\n\n getExportKennelRequest(exportKennelRequestId: number | undefined): Promise;\n\n getKennelOwnershipChangeRequest(kennelOwnershipChangeRequestId: number | undefined): Promise;\n\n isPersonKennelOwnerQuery(personId: number | undefined): Promise;\n\n isPersonOwnerOfKennelQuery(personId: number | undefined, kennelId: number | undefined): Promise;\n\n isRequestComplete(requestId: number | undefined, requestType: ERequestType | undefined, requestState: ERequestState | undefined): Promise;\n\n saveKennelImportRequest(dto: KennelImportRequestDto): Promise;\n\n saveKennelExportRequest(dto: KennelExportRequestDto): Promise;\n\n saveKennelNameChangeRequest(dto: KennelNameChangeRequestDto): Promise;\n\n saveKennelOwnershipChangeRequest(dto: KennelOwnershipChangeRequestDto): Promise;\n\n closeAffixRequest(requestId: number | undefined): Promise;\n\n searchAffixRequestExport(requestType: ERequestType | undefined, sObj: AffixRequestExportSearch): Promise;\n\n forceExport(requestId: number | undefined, requestType: ERequestType | undefined, value: boolean | undefined): Promise;\n\n exportNewKennelRequests(sObj: AffixRequestExportSearch): Promise;\n\n exportKennelImportRequests(sObj: AffixRequestExportSearch): Promise;\n\n exportKennelExportRequests(sObj: AffixRequestExportSearch): Promise;\n\n exportKennelNameChangeRequests(sObj: AffixRequestExportSearch): Promise;\n\n exportOwnershipChangeRequests(sObj: AffixRequestExportSearch): Promise;\n\n computeNewKennelImports(file: FileParameter | null | undefined): Promise;\n\n saveNewKennelImport(newKennelRequests: NewKennelRequestImportDto[]): Promise;\n\n computeImportRequestImports(file: FileParameter | null | undefined): Promise;\n\n saveImportRequestImport(importRequests: KennelImportRequestImportDto[]): Promise;\n\n computeNameChangeRequestImport(file: FileParameter | null | undefined): Promise;\n\n saveNameChangeRequestImport(nameChangeRequests: NameChangeRequestImporRequestDto[]): Promise;\n\n computeOwnershipChangeRequestImport(file: FileParameter | null | undefined): Promise;\n\n saveOwnershipChangeRequestImport(nameChangeRequests: OwnershipChangeRequestImporRequestDto[]): Promise;\n\n exportXlsFile(sObj: AffixRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class AffixRequestApi extends BaseAPI implements IAffixRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: AffixRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfAffixRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getNewKennelRequest(newKennelRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest?\";\n if (newKennelRequestId === null)\n throw new Error(\"The parameter 'newKennelRequestId' cannot be null.\");\n else if (newKennelRequestId !== undefined)\n url_ += \"newKennelRequestId=\" + encodeURIComponent(\"\" + newKennelRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetNewKennelRequest(_response));\n });\n }\n\n protected processGetNewKennelRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = NewKennelRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewKennelRequest(dto: NewKennelRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewKennelRequest(_response));\n });\n }\n\n protected processSaveNewKennelRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getKennelNameChangeRequest(kennelNameChangeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/getKennelNameChange?\";\n if (kennelNameChangeRequestId === null)\n throw new Error(\"The parameter 'kennelNameChangeRequestId' cannot be null.\");\n else if (kennelNameChangeRequestId !== undefined)\n url_ += \"kennelNameChangeRequestId=\" + encodeURIComponent(\"\" + kennelNameChangeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetKennelNameChangeRequest(_response));\n });\n }\n\n protected processGetKennelNameChangeRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = KennelNameChangeRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n uploadFciDoc(files: FileParameter[] | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/uploadFciDoc\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (files !== null && files !== undefined)\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\") );\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUploadFciDoc(_response));\n });\n }\n\n protected processUploadFciDoc(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getFciDocuments(requestType: ERequestType | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/getFciDocuments?\";\n if (requestType === null)\n throw new Error(\"The parameter 'requestType' cannot be null.\");\n else if (requestType !== undefined)\n url_ += \"requestType=\" + encodeURIComponent(\"\" + requestType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetFciDocuments(_response));\n });\n }\n\n protected processGetFciDocuments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getImportKennelRequest(importKennelId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/getImportKennel?\";\n if (importKennelId === null)\n throw new Error(\"The parameter 'importKennelId' cannot be null.\");\n else if (importKennelId !== undefined)\n url_ += \"importKennelId=\" + encodeURIComponent(\"\" + importKennelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetImportKennelRequest(_response));\n });\n }\n\n protected processGetImportKennelRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = KennelImportRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenKennelApprovedDocument(requestId: number | undefined, type: ERequestType | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/regenApprovedDocument?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (type === null)\n throw new Error(\"The parameter 'type' cannot be null.\");\n else if (type !== undefined)\n url_ += \"type=\" + encodeURIComponent(\"\" + type) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenKennelApprovedDocument(_response));\n });\n }\n\n protected processRegenKennelApprovedDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getExportKennelRequest(exportKennelRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/getkennelExport?\";\n if (exportKennelRequestId === null)\n throw new Error(\"The parameter 'exportKennelRequestId' cannot be null.\");\n else if (exportKennelRequestId !== undefined)\n url_ += \"exportKennelRequestId=\" + encodeURIComponent(\"\" + exportKennelRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetExportKennelRequest(_response));\n });\n }\n\n protected processGetExportKennelRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = KennelExportRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getKennelOwnershipChangeRequest(kennelOwnershipChangeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/getKennelOwnershipChange?\";\n if (kennelOwnershipChangeRequestId === null)\n throw new Error(\"The parameter 'kennelOwnershipChangeRequestId' cannot be null.\");\n else if (kennelOwnershipChangeRequestId !== undefined)\n url_ += \"kennelOwnershipChangeRequestId=\" + encodeURIComponent(\"\" + kennelOwnershipChangeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetKennelOwnershipChangeRequest(_response));\n });\n }\n\n protected processGetKennelOwnershipChangeRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = KennelOwnershipChangeRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isPersonKennelOwnerQuery(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/isPersonKennelOwner?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsPersonKennelOwnerQuery(_response));\n });\n }\n\n protected processIsPersonKennelOwnerQuery(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isPersonOwnerOfKennelQuery(personId: number | undefined, kennelId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/isPersonOwnerOfKennel?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n if (kennelId === null)\n throw new Error(\"The parameter 'kennelId' cannot be null.\");\n else if (kennelId !== undefined)\n url_ += \"kennelId=\" + encodeURIComponent(\"\" + kennelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsPersonOwnerOfKennelQuery(_response));\n });\n }\n\n protected processIsPersonOwnerOfKennelQuery(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isRequestComplete(requestId: number | undefined, requestType: ERequestType | undefined, requestState: ERequestState | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/isRequestComplete?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (requestType === null)\n throw new Error(\"The parameter 'requestType' cannot be null.\");\n else if (requestType !== undefined)\n url_ += \"requestType=\" + encodeURIComponent(\"\" + requestType) + \"&\";\n if (requestState === null)\n throw new Error(\"The parameter 'requestState' cannot be null.\");\n else if (requestState !== undefined)\n url_ += \"requestState=\" + encodeURIComponent(\"\" + requestState) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsRequestComplete(_response));\n });\n }\n\n protected processIsRequestComplete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveKennelImportRequest(dto: KennelImportRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/saveKennelImport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveKennelImportRequest(_response));\n });\n }\n\n protected processSaveKennelImportRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveKennelExportRequest(dto: KennelExportRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/saveKennelExport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveKennelExportRequest(_response));\n });\n }\n\n protected processSaveKennelExportRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveKennelNameChangeRequest(dto: KennelNameChangeRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/saveKennelNameChange\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveKennelNameChangeRequest(_response));\n });\n }\n\n protected processSaveKennelNameChangeRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveKennelOwnershipChangeRequest(dto: KennelOwnershipChangeRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/saveKennelOwnershipChange\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveKennelOwnershipChangeRequest(_response));\n });\n }\n\n protected processSaveKennelOwnershipChangeRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeAffixRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/closeAffixRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseAffixRequest(_response));\n });\n }\n\n protected processCloseAffixRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchAffixRequestExport(requestType: ERequestType | undefined, sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/searchAffixRequestExport?\";\n if (requestType === null)\n throw new Error(\"The parameter 'requestType' cannot be null.\");\n else if (requestType !== undefined)\n url_ += \"requestType=\" + encodeURIComponent(\"\" + requestType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchAffixRequestExport(_response));\n });\n }\n\n protected processSearchAffixRequestExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfAffixExportGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n forceExport(requestId: number | undefined, requestType: ERequestType | undefined, value: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/forceExport?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (requestType === null)\n throw new Error(\"The parameter 'requestType' cannot be null.\");\n else if (requestType !== undefined)\n url_ += \"requestType=\" + encodeURIComponent(\"\" + requestType) + \"&\";\n if (value === null)\n throw new Error(\"The parameter 'value' cannot be null.\");\n else if (value !== undefined)\n url_ += \"value=\" + encodeURIComponent(\"\" + value) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processForceExport(_response));\n });\n }\n\n protected processForceExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportNewKennelRequests(sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/exportNewKennelRequests\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportNewKennelRequests(_response));\n });\n }\n\n protected processExportNewKennelRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportKennelImportRequests(sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/exportKennelImportRequests\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportKennelImportRequests(_response));\n });\n }\n\n protected processExportKennelImportRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportKennelExportRequests(sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/exportKennelExportRequests\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportKennelExportRequests(_response));\n });\n }\n\n protected processExportKennelExportRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportKennelNameChangeRequests(sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/exportKennelNameChangeRequests\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportKennelNameChangeRequests(_response));\n });\n }\n\n protected processExportKennelNameChangeRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportOwnershipChangeRequests(sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/exportOwnershipChangeRequests\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportOwnershipChangeRequests(_response));\n });\n }\n\n protected processExportOwnershipChangeRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n computeNewKennelImports(file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/computeNewKennelImports\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processComputeNewKennelImports(_response));\n });\n }\n\n protected processComputeNewKennelImports(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(NewKennelRequestImportDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewKennelImport(newKennelRequests: NewKennelRequestImportDto[]): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/saveNewKennelImport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(newKennelRequests);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewKennelImport(_response));\n });\n }\n\n protected processSaveNewKennelImport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n computeImportRequestImports(file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/computeImportRequestImports\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processComputeImportRequestImports(_response));\n });\n }\n\n protected processComputeImportRequestImports(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(KennelImportRequestImportDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveImportRequestImport(importRequests: KennelImportRequestImportDto[]): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/saveImportRequestImport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(importRequests);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveImportRequestImport(_response));\n });\n }\n\n protected processSaveImportRequestImport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n computeNameChangeRequestImport(file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/computeNameChangeRequestImport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processComputeNameChangeRequestImport(_response));\n });\n }\n\n protected processComputeNameChangeRequestImport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(NameChangeRequestImporRequestDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNameChangeRequestImport(nameChangeRequests: NameChangeRequestImporRequestDto[]): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/saveNameChangeRequestImport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(nameChangeRequests);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNameChangeRequestImport(_response));\n });\n }\n\n protected processSaveNameChangeRequestImport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n computeOwnershipChangeRequestImport(file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/computeOwnershipChangeRequestImport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processComputeOwnershipChangeRequestImport(_response));\n });\n }\n\n protected processComputeOwnershipChangeRequestImport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(OwnershipChangeRequestImporRequestDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveOwnershipChangeRequestImport(nameChangeRequests: OwnershipChangeRequestImporRequestDto[]): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/saveOwnershipChangeRequestImport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(nameChangeRequests);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveOwnershipChangeRequestImport(_response));\n });\n }\n\n protected processSaveOwnershipChangeRequestImport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: AffixRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IAffixRequestExportApi {\n\n baseSearch(sObj: AffixRequestExportSearch): Promise;\n\n searchAffixRequestExport(requestType: ERequestType | undefined, sObj: AffixRequestExportSearch): Promise;\n\n exportXlsFile(sObj: AffixRequestExportSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class AffixRequestExportApi extends BaseAPI implements IAffixRequestExportApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequestExport/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfAffixExportGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchAffixRequestExport(requestType: ERequestType | undefined, sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequestExport/searchAffixRequestExport?\";\n if (requestType === null)\n throw new Error(\"The parameter 'requestType' cannot be null.\");\n else if (requestType !== undefined)\n url_ += \"requestType=\" + encodeURIComponent(\"\" + requestType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchAffixRequestExport(_response));\n });\n }\n\n protected processSearchAffixRequestExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfAffixExportGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: AffixRequestExportSearch): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequestExport/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequestExport/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/AffixRequestExport/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IAllJudgesForBreedApi {\n\n baseSearch(sObj: BaseBreedSearch): Promise;\n\n exportXlsFile(sObj: BaseBreedSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class AllJudgesForBreedApi extends BaseAPI implements IAllJudgesForBreedApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BaseBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/AllJudgesForBreed/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BaseBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/AllJudgesForBreed/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AllJudgesForBreed/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/AllJudgesForBreed/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IAllowedColorsForBreedApi {\n\n baseSearch(sObj: BreedColorSearch): Promise;\n\n getIds(sObj: BreedColorSearch): Promise;\n\n save(dto: SaveColorsAllowedBreedsDto): Promise;\n\n exportXlsFile(sObj: BreedColorSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class AllowedColorsForBreedApi extends BaseAPI implements IAllowedColorsForBreedApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedColorSearch): Promise {\n let url_ = this.baseUrl + \"/api/AllowedColorsForBreed/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedColorDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: BreedColorSearch): Promise {\n let url_ = this.baseUrl + \"/api/AllowedColorsForBreed/getIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: SaveColorsAllowedBreedsDto): Promise {\n let url_ = this.baseUrl + \"/api/AllowedColorsForBreed/Save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveColorsAllowedBreedsDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedColorSearch): Promise {\n let url_ = this.baseUrl + \"/api/AllowedColorsForBreed/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AllowedColorsForBreed/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/AllowedColorsForBreed/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IArticleApi {\n\n baseSearch(sObj: ArticleSearch): Promise;\n\n getArticle(id: number | undefined): Promise;\n\n saveArticle(dto: ArticleDto): Promise;\n\n saveBcArticle(articleId: number | undefined): Promise;\n\n getDisplayName(articleId: number | undefined): Promise;\n\n exportXlsFile(sObj: ArticleSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ArticleApi extends BaseAPI implements IArticleApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ArticleSearch): Promise {\n let url_ = this.baseUrl + \"/api/Article/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfArticleGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getArticle(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Article?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetArticle(_response));\n });\n }\n\n protected processGetArticle(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ArticleDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveArticle(dto: ArticleDto): Promise {\n let url_ = this.baseUrl + \"/api/Article\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveArticle(_response));\n });\n }\n\n protected processSaveArticle(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBcArticle(articleId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Article/saveBc?\";\n if (articleId === null)\n throw new Error(\"The parameter 'articleId' cannot be null.\");\n else if (articleId !== undefined)\n url_ += \"articleId=\" + encodeURIComponent(\"\" + articleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBcArticle(_response));\n });\n }\n\n protected processSaveBcArticle(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(articleId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Article/getDisplayName?\";\n if (articleId === null)\n throw new Error(\"The parameter 'articleId' cannot be null.\");\n else if (articleId !== undefined)\n url_ += \"articleId=\" + encodeURIComponent(\"\" + articleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ArticleSearch): Promise {\n let url_ = this.baseUrl + \"/api/Article/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Article/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Article/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IAvailableJudgesApi {\n\n baseSearch(sObj: ClubJudgeSearch): Promise;\n\n exportXlsFile(sObj: ClubJudgeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class AvailableJudgesApi extends BaseAPI implements IAvailableJudgesApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClubJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/AvailableJudges/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClubJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/AvailableJudges/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/AvailableJudges/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/AvailableJudges/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedApi {\n\n baseSearch(sObj: BreedSearch): Promise;\n\n searchUngrouped(sObj: BreedSearch): Promise;\n\n get(breedId: number | undefined): Promise;\n\n save(dto: BreedDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n getBreedColors(breedId: number | undefined): Promise;\n\n getBelgianBreeds(): Promise;\n\n saveBreedColors(toSave: BreedColorSaveDto): Promise;\n\n officialNameUnique(breedId: number | undefined, officialName: string | null | undefined): Promise;\n\n getAllowedWorkbookType(breedId: number | undefined, languageId: number | undefined): Promise;\n\n getDisplayName(id: number | undefined, languageId: number | undefined): Promise;\n\n saveWorkbookTypes(dto: BreedWorkbookTypeSaveDto): Promise;\n\n getIds(sObj: BreedSearch): Promise;\n\n getAllBreeds(): Promise;\n\n createInSharepoint(breedId: number): Promise;\n\n exportXlsFile(sObj: BreedSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedApi extends BaseAPI implements IBreedApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/Breed/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchUngrouped(sObj: BreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/Breed/SearchUngrouped\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchUngrouped(_response));\n });\n }\n\n protected processSearchUngrouped(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(breedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Breed?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BreedDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: BreedDto): Promise {\n let url_ = this.baseUrl + \"/api/Breed\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Breed?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreedColors(breedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Breed/getBreedColors?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreedColors(_response));\n });\n }\n\n protected processGetBreedColors(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BreedColorSaveDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBelgianBreeds(): Promise {\n let url_ = this.baseUrl + \"/api/Breed/getBelgianBreeds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBelgianBreeds(_response));\n });\n }\n\n protected processGetBelgianBreeds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(BreedDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBreedColors(toSave: BreedColorSaveDto): Promise {\n let url_ = this.baseUrl + \"/api/Breed/saveBreedColors\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBreedColors(_response));\n });\n }\n\n protected processSaveBreedColors(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n officialNameUnique(breedId: number | undefined, officialName: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Breed/OfficialNameUnique?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n if (officialName !== undefined && officialName !== null)\n url_ += \"officialName=\" + encodeURIComponent(\"\" + officialName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processOfficialNameUnique(_response));\n });\n }\n\n protected processOfficialNameUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllowedWorkbookType(breedId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Breed/AllowedWorkbookType?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllowedWorkbookType(_response));\n });\n }\n\n protected processGetAllowedWorkbookType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WorkbookTypeGridDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Breed/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveWorkbookTypes(dto: BreedWorkbookTypeSaveDto): Promise {\n let url_ = this.baseUrl + \"/api/Breed/SaveWorkbookTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveWorkbookTypes(_response));\n });\n }\n\n protected processSaveWorkbookTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BreedWorkbookTypeSaveDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: BreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/Breed/Ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllBreeds(): Promise {\n let url_ = this.baseUrl + \"/api/Breed/allBreeds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllBreeds(_response));\n });\n }\n\n protected processGetAllBreeds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(BreedGridDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createInSharepoint(breedId: number): Promise {\n let url_ = this.baseUrl + \"/api/Breed/CreateInSharepoint/{breedId}\";\n if (breedId === undefined || breedId === null)\n throw new Error(\"The parameter 'breedId' must be defined.\");\n url_ = url_.replace(\"{breedId}\", encodeURIComponent(\"\" + breedId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateInSharepoint(_response));\n });\n }\n\n protected processCreateInSharepoint(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/Breed/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Breed/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Breed/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedersApi {\n\n baseSearch(sObj: BreederSearch): Promise;\n\n exportXlsFile(sObj: BreederSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedersApi extends BaseAPI implements IBreedersApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreederSearch): Promise {\n let url_ = this.baseUrl + \"/api/Breeders/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreederGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreederSearch): Promise {\n let url_ = this.baseUrl + \"/api/Breeders/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Breeders/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Breeders/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedersDogsApi {\n\n baseSearch(sObj: BreederDogsSearch): Promise;\n\n exportXlsFile(sObj: BreederDogsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedersDogsApi extends BaseAPI implements IBreedersDogsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreederDogsSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedersDogs/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreederDogsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreederDogsSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedersDogs/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedersDogs/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedersDogs/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedExceptionsApi {\n\n baseSearch(sObj: BreedVarietyAndExceptionSearch): Promise;\n\n saveBreedException(dto: SaveBreedVarietyAndExceptionDto): Promise;\n\n deleteBreedException(currentBreedId: number | undefined, breedVarietyId: number | undefined): Promise;\n\n exportXlsFile(sObj: BreedVarietyAndExceptionSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedExceptionsApi extends BaseAPI implements IBreedExceptionsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedVarietyAndExceptionSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedExceptions/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedVarietiesAndExceptionsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBreedException(dto: SaveBreedVarietyAndExceptionDto): Promise {\n let url_ = this.baseUrl + \"/api/BreedExceptions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBreedException(_response));\n });\n }\n\n protected processSaveBreedException(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteBreedException(currentBreedId: number | undefined, breedVarietyId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedExceptions?\";\n if (currentBreedId === null)\n throw new Error(\"The parameter 'currentBreedId' cannot be null.\");\n else if (currentBreedId !== undefined)\n url_ += \"currentBreedId=\" + encodeURIComponent(\"\" + currentBreedId) + \"&\";\n if (breedVarietyId === null)\n throw new Error(\"The parameter 'breedVarietyId' cannot be null.\");\n else if (breedVarietyId !== undefined)\n url_ += \"breedVarietyId=\" + encodeURIComponent(\"\" + breedVarietyId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteBreedException(_response));\n });\n }\n\n protected processDeleteBreedException(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedVarietyAndExceptionSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedExceptions/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedExceptions/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedExceptions/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedForJudgeApi {\n\n baseSearch(sObj: BreedForJudgeSearch): Promise;\n\n exportXlsFile(sObj: BreedForJudgeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedForJudgeApi extends BaseAPI implements IBreedForJudgeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedForJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedForJudge/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedForJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedForJudge/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedForJudge/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedForJudge/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedGroupBreedApi {\n\n baseSearch(sObj: BreedGroupBreedSearch): Promise;\n\n getIds(sObj: BreedGroupBreedSearch): Promise;\n\n save(dto: BreedGroupBreedSaveDto): Promise;\n\n hierarchy(sObj: BreedGroupBreedHierarchySearch): Promise;\n\n exportXlsFile(sObj: BreedGroupBreedSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedGroupBreedApi extends BaseAPI implements IBreedGroupBreedApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedGroupBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupBreed/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedGroupBreedDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: BreedGroupBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupBreed/Ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: BreedGroupBreedSaveDto): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupBreed/Save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BreedGroupBreedSaveDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n hierarchy(sObj: BreedGroupBreedHierarchySearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupBreed/Hierarchy\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processHierarchy(_response));\n });\n }\n\n protected processHierarchy(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedGroupBreedHierarchyDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedGroupBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupBreed/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupBreed/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupBreed/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedGroupApi {\n\n baseSearch(sObj: BreedGroupSearch): Promise;\n\n get(id: number | undefined): Promise;\n\n save(dto: BreedGroupDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n isBreedGroupNumberUnique(breedGroupId: number | undefined, breedGroupNumber: number | undefined): Promise;\n\n getDisplayName(id: number | undefined): Promise;\n\n getIds(sObj: BreedGroupSearch): Promise;\n\n exportXlsFile(sObj: BreedGroupSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedGroupApi extends BaseAPI implements IBreedGroupApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedGroupSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedGroupGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BreedGroupDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: BreedGroupDto): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isBreedGroupNumberUnique(breedGroupId: number | undefined, breedGroupNumber: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup/IsBreedGroupNumberUnique?\";\n if (breedGroupId === null)\n throw new Error(\"The parameter 'breedGroupId' cannot be null.\");\n else if (breedGroupId !== undefined)\n url_ += \"breedGroupId=\" + encodeURIComponent(\"\" + breedGroupId) + \"&\";\n if (breedGroupNumber === null)\n throw new Error(\"The parameter 'breedGroupNumber' cannot be null.\");\n else if (breedGroupNumber !== undefined)\n url_ += \"breedGroupNumber=\" + encodeURIComponent(\"\" + breedGroupNumber) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsBreedGroupNumberUnique(_response));\n });\n }\n\n protected processIsBreedGroupNumberUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: BreedGroupSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup/Ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedGroupSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroup/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedGroupJudgeApi {\n\n baseSearch(sObj: BreedGroupJudgeSearch): Promise;\n\n save(dto: BreedGroupJudgeSaveDto): Promise;\n\n searchSelectedIds(sObj: BreedGroupJudgeSearch): Promise;\n\n searchLinkedIdsForPerson(sObj: BreedGroupJudgeForPersonSearch): Promise;\n\n exportXlsFile(sObj: BreedGroupJudgeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedGroupJudgeApi extends BaseAPI implements IBreedGroupJudgeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedGroupJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupJudge/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: BreedGroupJudgeSaveDto): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupJudge\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BreedGroupJudgeSaveDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchSelectedIds(sObj: BreedGroupJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupJudge/SelectedIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchSelectedIds(_response));\n });\n }\n\n protected processSearchSelectedIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchLinkedIdsForPerson(sObj: BreedGroupJudgeForPersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupJudge/linkedIdsForPerson\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchLinkedIdsForPerson(_response));\n });\n }\n\n protected processSearchLinkedIdsForPerson(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedGroupJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupJudge/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupJudge/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedGroupJudge/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedJudgeApi {\n\n baseSearch(sObj: BreedJudgeSearch): Promise;\n\n saveBreedJudge(dto: SaveBreedJudgeDto): Promise;\n\n getBreedJudge(breedJudgeId: number | undefined): Promise;\n\n deleteBreedJudge(breedJudgeId: number | undefined): Promise;\n\n exportXlsFile(sObj: BreedJudgeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedJudgeApi extends BaseAPI implements IBreedJudgeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedJudge/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedJudgeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBreedJudge(dto: SaveBreedJudgeDto): Promise {\n let url_ = this.baseUrl + \"/api/BreedJudge\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBreedJudge(_response));\n });\n }\n\n protected processSaveBreedJudge(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreedJudge(breedJudgeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedJudge?\";\n if (breedJudgeId === null)\n throw new Error(\"The parameter 'breedJudgeId' cannot be null.\");\n else if (breedJudgeId !== undefined)\n url_ += \"breedJudgeId=\" + encodeURIComponent(\"\" + breedJudgeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreedJudge(_response));\n });\n }\n\n protected processGetBreedJudge(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveBreedJudgeDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteBreedJudge(breedJudgeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedJudge?\";\n if (breedJudgeId === null)\n throw new Error(\"The parameter 'breedJudgeId' cannot be null.\");\n else if (breedJudgeId !== undefined)\n url_ += \"breedJudgeId=\" + encodeURIComponent(\"\" + breedJudgeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteBreedJudge(_response));\n });\n }\n\n protected processDeleteBreedJudge(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedJudge/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedJudge/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedJudge/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedsColorsApi {\n\n baseSearch(sObj: BreedsColorsSearch): Promise;\n\n getAvailableColorsForBreed(sObj: AvailableColorForBreedSearch): Promise;\n\n addNewColor(dto: SaveBreedAllowedColorsDto): Promise;\n\n deleteColor(id: number | undefined): Promise;\n\n exportXlsFile(sObj: BreedsColorsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedsColorsApi extends BaseAPI implements IBreedsColorsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedsColorsSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedsColors/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedColorDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAvailableColorsForBreed(sObj: AvailableColorForBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedsColors/GetAvailableColorsForBreed\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAvailableColorsForBreed(_response));\n });\n }\n\n protected processGetAvailableColorsForBreed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfColorDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addNewColor(dto: SaveBreedAllowedColorsDto): Promise {\n let url_ = this.baseUrl + \"/api/BreedsColors/addColor\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddNewColor(_response));\n });\n }\n\n protected processAddNewColor(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteColor(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedsColors?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteColor(_response));\n });\n }\n\n protected processDeleteColor(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedsColorsSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedsColors/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedsColors/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedsColors/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedVarietyApi {\n\n baseSearch(sObj: BreedVarietyAndExceptionSearch): Promise;\n\n saveBreedVariety(dto: SaveBreedVarietyAndExceptionDto): Promise;\n\n deleteBreedVariety(currentBreedId: number | undefined, breedVarietyId: number | undefined): Promise;\n\n exportXlsFile(sObj: BreedVarietyAndExceptionSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedVarietyApi extends BaseAPI implements IBreedVarietyApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedVarietyAndExceptionSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedVariety/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedVarietiesAndExceptionsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBreedVariety(dto: SaveBreedVarietyAndExceptionDto): Promise {\n let url_ = this.baseUrl + \"/api/BreedVariety\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBreedVariety(_response));\n });\n }\n\n protected processSaveBreedVariety(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteBreedVariety(currentBreedId: number | undefined, breedVarietyId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedVariety?\";\n if (currentBreedId === null)\n throw new Error(\"The parameter 'currentBreedId' cannot be null.\");\n else if (currentBreedId !== undefined)\n url_ += \"currentBreedId=\" + encodeURIComponent(\"\" + currentBreedId) + \"&\";\n if (breedVarietyId === null)\n throw new Error(\"The parameter 'breedVarietyId' cannot be null.\");\n else if (breedVarietyId !== undefined)\n url_ += \"breedVarietyId=\" + encodeURIComponent(\"\" + breedVarietyId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteBreedVariety(_response));\n });\n }\n\n protected processDeleteBreedVariety(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedVarietyAndExceptionSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedVariety/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedVariety/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedVariety/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBreedWorkbookTypeApi {\n\n baseSearch(sObj: BreedWorkbookTypeSearch): Promise;\n\n getIds(sObj: BreedWorkbookTypeSearch): Promise;\n\n save(dto: SaveWorkbookTypeAllowedBreedsDto): Promise;\n\n exportXlsFile(sObj: BreedWorkbookTypeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BreedWorkbookTypeApi extends BaseAPI implements IBreedWorkbookTypeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BreedWorkbookTypeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedWorkbookType/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBreedWorkbookTypeDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: BreedWorkbookTypeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedWorkbookType/getIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: SaveWorkbookTypeAllowedBreedsDto): Promise {\n let url_ = this.baseUrl + \"/api/BreedWorkbookType/Save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveWorkbookTypeAllowedBreedsDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BreedWorkbookTypeSearch): Promise {\n let url_ = this.baseUrl + \"/api/BreedWorkbookType/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BreedWorkbookType/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BreedWorkbookType/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBroodRequestApi {\n\n baseSearch(sObj: BroodRequestSearch): Promise;\n\n get(broodRequestId: number | undefined): Promise;\n\n save(dto: BroodRequestDto): Promise;\n\n getPuppyPicture(driveItemIds: string[]): Promise;\n\n generatePedigreeSample(requestId: number | undefined): Promise;\n\n resurrectPuppy(dogBroodRequestTransientId: number | undefined): Promise;\n\n getDrupal(broodRequestId: number | undefined): Promise;\n\n isGenealogyComplete(broodRequestId: number | undefined): Promise;\n\n getAs400GenealogyCondition(broodRequestId: number | undefined): Promise;\n\n switchToLoshPedigree(requestId: number | undefined): Promise;\n\n reprintPedigrees(broodRequestId: number | undefined): Promise;\n\n getFathersName(broodRequestId: number | undefined): Promise;\n\n getWithPuppies(broodRequestId: number | undefined): Promise;\n\n isBabyDogAuthorized(broodRequestId: number | undefined): Promise;\n\n getPuppyReport(info: BroodRequesReportDetailDto): Promise;\n\n getAvailableBabyDog(breedId: number | undefined): Promise;\n\n setPuppyDeceased(dogBroodTransientRequestId: number | undefined, platform: EPlatform | null | undefined): Promise;\n\n reprintExecutionLetter(broodRequestId: number | undefined): Promise;\n\n closeRequest(requestId: number | undefined): Promise;\n\n addPotentialFather(broodRequestId: number | undefined, newFatherId: number | undefined): Promise;\n\n computePuppiesPedigree(broodRequestId: number | undefined): Promise;\n\n getPuppyFutureGenealogy(broodRequestId: number | undefined, generation: number | undefined): Promise;\n\n getDogConditions(broodRequestId: number | undefined, languageId: number | undefined): Promise;\n\n checkNeededConditions(broodRequestId: number | undefined, languageId: number | undefined): Promise;\n\n saveDrupalFiles(motherId: number | undefined, broodRequestId: number | undefined, adnProfile: FileParameter | null | undefined, pedigreeFile: FileParameter | null | undefined, fatherId: number | null | undefined, fatherAdnProfile: FileParameter | null | undefined, fatherPedigreeFile: FileParameter | null | undefined, puppyPictures: FileParameter[] | null | undefined): Promise;\n\n createDogBroodRequestTransient(broodRequestId: number | undefined): Promise;\n\n saveDogBroodRequestTransient(toSave: SaveDogBroodRequestTransientDto): Promise;\n\n createDogBroodRequestPedigree(dogBroodRequestId: number | undefined): Promise;\n\n forceDogConditions(dogNeededConditionId: number | undefined, dogId: number | undefined, broodRequestId: number | undefined): Promise;\n\n sendProgenusLabOrder(broodRequestId: number | undefined): Promise;\n\n getDogBroodRequestTransient(broodRequestId: number | undefined): Promise;\n\n exportXlsFile(sObj: BroodRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BroodRequestApi extends BaseAPI implements IBroodRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BroodRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfBroodRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BroodRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: BroodRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPuppyPicture(driveItemIds: string[]): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/GetPuppyPicture\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(driveItemIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPuppyPicture(_response));\n });\n }\n\n protected processGetPuppyPicture(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n generatePedigreeSample(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/GeneratePedigreeSample?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGeneratePedigreeSample(_response));\n });\n }\n\n protected processGeneratePedigreeSample(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n resurrectPuppy(dogBroodRequestTransientId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/ResurrectPuppy?\";\n if (dogBroodRequestTransientId === null)\n throw new Error(\"The parameter 'dogBroodRequestTransientId' cannot be null.\");\n else if (dogBroodRequestTransientId !== undefined)\n url_ += \"dogBroodRequestTransientId=\" + encodeURIComponent(\"\" + dogBroodRequestTransientId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processResurrectPuppy(_response));\n });\n }\n\n protected processResurrectPuppy(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupal(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/GetDrupal?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupal(_response));\n });\n }\n\n protected processGetDrupal(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalBroodRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isGenealogyComplete(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/IsGenealogyComplete?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsGenealogyComplete(_response));\n });\n }\n\n protected processIsGenealogyComplete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAs400GenealogyCondition(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/GetAs400GenealogyCondition?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAs400GenealogyCondition(_response));\n });\n }\n\n protected processGetAs400GenealogyCondition(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DogAs400ConditionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n switchToLoshPedigree(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/SwitchToLoshPedigree?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSwitchToLoshPedigree(_response));\n });\n }\n\n protected processSwitchToLoshPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintPedigrees(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/ReprintPedigrees?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintPedigrees(_response));\n });\n }\n\n protected processReprintPedigrees(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getFathersName(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/GetFathersName?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetFathersName(_response));\n });\n }\n\n protected processGetFathersName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWithPuppies(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/getWithPuppies?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWithPuppies(_response));\n });\n }\n\n protected processGetWithPuppies(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BroodRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isBabyDogAuthorized(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/isBabyDogAuthorized?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsBabyDogAuthorized(_response));\n });\n }\n\n protected processIsBabyDogAuthorized(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPuppyReport(info: BroodRequesReportDetailDto): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/getPuppyReport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(info);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPuppyReport(_response));\n });\n }\n\n protected processGetPuppyReport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAvailableBabyDog(breedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/getAvailableBabyDog?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAvailableBabyDog(_response));\n });\n }\n\n protected processGetAvailableBabyDog(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(BabyDogPublicationDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n setPuppyDeceased(dogBroodTransientRequestId: number | undefined, platform: EPlatform | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/setPuppyDeceased?\";\n if (dogBroodTransientRequestId === null)\n throw new Error(\"The parameter 'dogBroodTransientRequestId' cannot be null.\");\n else if (dogBroodTransientRequestId !== undefined)\n url_ += \"dogBroodTransientRequestId=\" + encodeURIComponent(\"\" + dogBroodTransientRequestId) + \"&\";\n if (platform !== undefined && platform !== null)\n url_ += \"platform=\" + encodeURIComponent(\"\" + platform) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSetPuppyDeceased(_response));\n });\n }\n\n protected processSetPuppyDeceased(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintExecutionLetter(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/reprintExecutionLetter?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintExecutionLetter(_response));\n });\n }\n\n protected processReprintExecutionLetter(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/CloseRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseRequest(_response));\n });\n }\n\n protected processCloseRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addPotentialFather(broodRequestId: number | undefined, newFatherId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/AddPotentialFather?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n if (newFatherId === null)\n throw new Error(\"The parameter 'newFatherId' cannot be null.\");\n else if (newFatherId !== undefined)\n url_ += \"newFatherId=\" + encodeURIComponent(\"\" + newFatherId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddPotentialFather(_response));\n });\n }\n\n protected processAddPotentialFather(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n computePuppiesPedigree(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/computePuppiesPedigree?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processComputePuppiesPedigree(_response));\n });\n }\n\n protected processComputePuppiesPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPuppyFutureGenealogy(broodRequestId: number | undefined, generation: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/getPuppyFutureGenealogy?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n if (generation === null)\n throw new Error(\"The parameter 'generation' cannot be null.\");\n else if (generation !== undefined)\n url_ += \"generation=\" + encodeURIComponent(\"\" + generation) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPuppyFutureGenealogy(_response));\n });\n }\n\n protected processGetPuppyFutureGenealogy(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PuppyGenealogyDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogConditions(broodRequestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/getNeededDogConditions?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogConditions(_response));\n });\n }\n\n protected processGetDogConditions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DogConditionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkNeededConditions(broodRequestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/checkNeededConditions?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckNeededConditions(_response));\n });\n }\n\n protected processCheckNeededConditions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDrupalFiles(motherId: number | undefined, broodRequestId: number | undefined, adnProfile: FileParameter | null | undefined, pedigreeFile: FileParameter | null | undefined, fatherId: number | null | undefined, fatherAdnProfile: FileParameter | null | undefined, fatherPedigreeFile: FileParameter | null | undefined, puppyPictures: FileParameter[] | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/SaveDrupalFiles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (motherId === null || motherId === undefined)\n throw new Error(\"The parameter 'motherId' cannot be null.\");\n else\n content_.append(\"MotherId\", motherId.toString());\n if (broodRequestId === null || broodRequestId === undefined)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else\n content_.append(\"BroodRequestId\", broodRequestId.toString());\n if (adnProfile !== null && adnProfile !== undefined)\n content_.append(\"AdnProfile\", adnProfile.data, adnProfile.fileName ? adnProfile.fileName : \"AdnProfile\");\n if (pedigreeFile !== null && pedigreeFile !== undefined)\n content_.append(\"PedigreeFile\", pedigreeFile.data, pedigreeFile.fileName ? pedigreeFile.fileName : \"PedigreeFile\");\n if (fatherId !== null && fatherId !== undefined)\n content_.append(\"FatherId\", fatherId.toString());\n if (fatherAdnProfile !== null && fatherAdnProfile !== undefined)\n content_.append(\"FatherAdnProfile\", fatherAdnProfile.data, fatherAdnProfile.fileName ? fatherAdnProfile.fileName : \"FatherAdnProfile\");\n if (fatherPedigreeFile !== null && fatherPedigreeFile !== undefined)\n content_.append(\"FatherPedigreeFile\", fatherPedigreeFile.data, fatherPedigreeFile.fileName ? fatherPedigreeFile.fileName : \"FatherPedigreeFile\");\n if (puppyPictures !== null && puppyPictures !== undefined)\n puppyPictures.forEach(item_ => content_.append(\"PuppyPictures\", item_.data, item_.fileName ? item_.fileName : \"PuppyPictures\") );\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDrupalFiles(_response));\n });\n }\n\n protected processSaveDrupalFiles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createDogBroodRequestTransient(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/CreateDogBroodRequestTransient?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateDogBroodRequestTransient(_response));\n });\n }\n\n protected processCreateDogBroodRequestTransient(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDogBroodRequestTransient(toSave: SaveDogBroodRequestTransientDto): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/SaveDogBroodRequestTransient\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDogBroodRequestTransient(_response));\n });\n }\n\n protected processSaveDogBroodRequestTransient(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createDogBroodRequestPedigree(dogBroodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/CreateDogBroodRequestPedigree?\";\n if (dogBroodRequestId === null)\n throw new Error(\"The parameter 'dogBroodRequestId' cannot be null.\");\n else if (dogBroodRequestId !== undefined)\n url_ += \"dogBroodRequestId=\" + encodeURIComponent(\"\" + dogBroodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateDogBroodRequestPedigree(_response));\n });\n }\n\n protected processCreateDogBroodRequestPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n forceDogConditions(dogNeededConditionId: number | undefined, dogId: number | undefined, broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/ForceDogConditions?\";\n if (dogNeededConditionId === null)\n throw new Error(\"The parameter 'dogNeededConditionId' cannot be null.\");\n else if (dogNeededConditionId !== undefined)\n url_ += \"dogNeededConditionId=\" + encodeURIComponent(\"\" + dogNeededConditionId) + \"&\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processForceDogConditions(_response));\n });\n }\n\n protected processForceDogConditions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n sendProgenusLabOrder(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/SendProgenusLabOrder?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSendProgenusLabOrder(_response));\n });\n }\n\n protected processSendProgenusLabOrder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogBroodRequestTransient(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/GetDogBroodRequestTransient?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogBroodRequestTransient(_response));\n });\n }\n\n protected processGetDogBroodRequestTransient(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogBroodRequestGetDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BroodRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IBroodRequestPotentialFathersApi {\n\n baseSearch(sObj: PotentialFathersSearch): Promise;\n\n deletePotentialFather(broodRequestId: number | undefined, fatherId: number | undefined): Promise;\n\n addPotentialFather(broodRequestId: number | undefined, fatherId: number | undefined): Promise;\n\n savePotentialFatherOwnerApproval(broodRequestId: number | undefined, potentialFathersAuthorizations: { [key: string]: boolean; }): Promise;\n\n exportXlsFile(sObj: PotentialFathersSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class BroodRequestPotentialFathersApi extends BaseAPI implements IBroodRequestPotentialFathersApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PotentialFathersSearch): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequestPotentialFathers/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPotentialFatherGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deletePotentialFather(broodRequestId: number | undefined, fatherId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequestPotentialFathers/DeletePotentialFather?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n if (fatherId === null)\n throw new Error(\"The parameter 'fatherId' cannot be null.\");\n else if (fatherId !== undefined)\n url_ += \"fatherId=\" + encodeURIComponent(\"\" + fatherId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePotentialFather(_response));\n });\n }\n\n protected processDeletePotentialFather(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addPotentialFather(broodRequestId: number | undefined, fatherId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequestPotentialFathers/AddPotentialFather?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n if (fatherId === null)\n throw new Error(\"The parameter 'fatherId' cannot be null.\");\n else if (fatherId !== undefined)\n url_ += \"fatherId=\" + encodeURIComponent(\"\" + fatherId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddPotentialFather(_response));\n });\n }\n\n protected processAddPotentialFather(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n savePotentialFatherOwnerApproval(broodRequestId: number | undefined, potentialFathersAuthorizations: { [key: string]: boolean; }): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequestPotentialFathers/SavePotentialFatherOwnerApproval?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(potentialFathersAuthorizations);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSavePotentialFatherOwnerApproval(_response));\n });\n }\n\n protected processSavePotentialFatherOwnerApproval(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PotentialFathersSearch): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequestPotentialFathers/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequestPotentialFathers/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/BroodRequestPotentialFathers/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ICalendarYearApi {\n\n baseSearch(sObj: CalendarYearSearch): Promise;\n\n getCalendarYear(calendarYearId: number | undefined): Promise;\n\n save(dto: CalendarYearDto): Promise;\n\n getCalendarYearUnique(year: number | undefined, calendarYearId: number | undefined): Promise;\n\n getCalendarYearLetter(year: number | undefined): Promise;\n\n getDisplayName(calendarYearId: number | undefined): Promise;\n\n exportXlsFile(sObj: CalendarYearSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class CalendarYearApi extends BaseAPI implements ICalendarYearApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: CalendarYearSearch): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCalendarYearDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCalendarYear(calendarYearId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear?\";\n if (calendarYearId === null)\n throw new Error(\"The parameter 'calendarYearId' cannot be null.\");\n else if (calendarYearId !== undefined)\n url_ += \"calendarYearId=\" + encodeURIComponent(\"\" + calendarYearId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCalendarYear(_response));\n });\n }\n\n protected processGetCalendarYear(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CalendarYearDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: CalendarYearDto): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CalendarYearDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCalendarYearUnique(year: number | undefined, calendarYearId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear/IsYearUnique?\";\n if (year === null)\n throw new Error(\"The parameter 'year' cannot be null.\");\n else if (year !== undefined)\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n if (calendarYearId === null)\n throw new Error(\"The parameter 'calendarYearId' cannot be null.\");\n else if (calendarYearId !== undefined)\n url_ += \"calendarYearId=\" + encodeURIComponent(\"\" + calendarYearId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCalendarYearUnique(_response));\n });\n }\n\n protected processGetCalendarYearUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCalendarYearLetter(year: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear/GetLetter?\";\n if (year === null)\n throw new Error(\"The parameter 'year' cannot be null.\");\n else if (year !== undefined)\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCalendarYearLetter(_response));\n });\n }\n\n protected processGetCalendarYearLetter(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(calendarYearId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear/DisplayName?\";\n if (calendarYearId === null)\n throw new Error(\"The parameter 'calendarYearId' cannot be null.\");\n else if (calendarYearId !== undefined)\n url_ += \"calendarYearId=\" + encodeURIComponent(\"\" + calendarYearId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: CalendarYearSearch): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/CalendarYear/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ICharacteristicApi {\n\n baseSearch(sObj: CharacteristicSearch): Promise;\n\n getIds(sObj: CharacteristicSearch): Promise;\n\n getHealthValueTypeCode(characteristicId: number | undefined): Promise;\n\n isCodeUnique(characteristicId: number | undefined, characteristicTypeId: number | undefined, code: string | null | undefined): Promise;\n\n isHealthValueTypeList(healthValueTypeId: number | undefined): Promise;\n\n get(characteristicId: number | undefined): Promise;\n\n save(dto: CharacteristicsDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n isTypeLab(characteristicTypeId: number | undefined): Promise;\n\n isDysplasiaType(characteristicTypeId: number | undefined): Promise;\n\n getDisplayName(id: number | undefined, languageId: number | undefined): Promise;\n\n exportXlsFile(sObj: CharacteristicSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class CharacteristicApi extends BaseAPI implements ICharacteristicApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: CharacteristicSearch): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCharacteristicsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: CharacteristicSearch): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/getIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getHealthValueTypeCode(characteristicId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/getHealthValueTypeCode?\";\n if (characteristicId === null)\n throw new Error(\"The parameter 'characteristicId' cannot be null.\");\n else if (characteristicId !== undefined)\n url_ += \"characteristicId=\" + encodeURIComponent(\"\" + characteristicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHealthValueTypeCode(_response));\n });\n }\n\n protected processGetHealthValueTypeCode(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isCodeUnique(characteristicId: number | undefined, characteristicTypeId: number | undefined, code: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/IsCodeUnique?\";\n if (characteristicId === null)\n throw new Error(\"The parameter 'characteristicId' cannot be null.\");\n else if (characteristicId !== undefined)\n url_ += \"characteristicId=\" + encodeURIComponent(\"\" + characteristicId) + \"&\";\n if (characteristicTypeId === null)\n throw new Error(\"The parameter 'characteristicTypeId' cannot be null.\");\n else if (characteristicTypeId !== undefined)\n url_ += \"characteristicTypeId=\" + encodeURIComponent(\"\" + characteristicTypeId) + \"&\";\n if (code !== undefined && code !== null)\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsCodeUnique(_response));\n });\n }\n\n protected processIsCodeUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isHealthValueTypeList(healthValueTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/isHealthValueTypeList?\";\n if (healthValueTypeId === null)\n throw new Error(\"The parameter 'healthValueTypeId' cannot be null.\");\n else if (healthValueTypeId !== undefined)\n url_ += \"healthValueTypeId=\" + encodeURIComponent(\"\" + healthValueTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsHealthValueTypeList(_response));\n });\n }\n\n protected processIsHealthValueTypeList(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(characteristicId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic?\";\n if (characteristicId === null)\n throw new Error(\"The parameter 'characteristicId' cannot be null.\");\n else if (characteristicId !== undefined)\n url_ += \"characteristicId=\" + encodeURIComponent(\"\" + characteristicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CharacteristicsDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: CharacteristicsDto): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isTypeLab(characteristicTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/isTypeLab?\";\n if (characteristicTypeId === null)\n throw new Error(\"The parameter 'characteristicTypeId' cannot be null.\");\n else if (characteristicTypeId !== undefined)\n url_ += \"characteristicTypeId=\" + encodeURIComponent(\"\" + characteristicTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsTypeLab(_response));\n });\n }\n\n protected processIsTypeLab(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDysplasiaType(characteristicTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/isDysplasiaType?\";\n if (characteristicTypeId === null)\n throw new Error(\"The parameter 'characteristicTypeId' cannot be null.\");\n else if (characteristicTypeId !== undefined)\n url_ += \"characteristicTypeId=\" + encodeURIComponent(\"\" + characteristicTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDysplasiaType(_response));\n });\n }\n\n protected processIsDysplasiaType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: CharacteristicSearch): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Characteristic/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ICharacteristicValuesApi {\n\n baseSearch(sObj: CharacteristicValuesSearch): Promise;\n\n get(characteristicValueId: number | undefined): Promise;\n\n save(dto: CharacteristicValuesDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n getDisplayName(id: number | undefined, languageId: number | undefined): Promise;\n\n getAllCaracteristicValues(languageId: number | undefined): Promise;\n\n getIds(sObj: CharacteristicValuesSearch): Promise;\n\n exportXlsFile(sObj: CharacteristicValuesSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class CharacteristicValuesApi extends BaseAPI implements ICharacteristicValuesApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: CharacteristicValuesSearch): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCharacteristicValuesGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(characteristicValueId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues?\";\n if (characteristicValueId === null)\n throw new Error(\"The parameter 'characteristicValueId' cannot be null.\");\n else if (characteristicValueId !== undefined)\n url_ += \"characteristicValueId=\" + encodeURIComponent(\"\" + characteristicValueId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CharacteristicValuesDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: CharacteristicValuesDto): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllCaracteristicValues(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues/getAllCaracteristicValues?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllCaracteristicValues(_response));\n });\n }\n\n protected processGetAllCaracteristicValues(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CharacteristicValuesGridDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: CharacteristicValuesSearch): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues/getIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: CharacteristicValuesSearch): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/CharacteristicValues/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IChartSignatureHistoryApi {\n\n baseSearch(sObj: ChartSignaturesHistorySearch): Promise;\n\n saveChartHistorySignature(dto: ChartSignaturesHistoryDto): Promise;\n\n deleteChartSignatureHistory(id: number | undefined): Promise;\n\n exportXlsFile(sObj: ChartSignaturesHistorySearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ChartSignatureHistoryApi extends BaseAPI implements IChartSignatureHistoryApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ChartSignaturesHistorySearch): Promise {\n let url_ = this.baseUrl + \"/api/ChartSignatureHistory/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfChartSignaturesHistoryDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveChartHistorySignature(dto: ChartSignaturesHistoryDto): Promise {\n let url_ = this.baseUrl + \"/api/ChartSignatureHistory\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveChartHistorySignature(_response));\n });\n }\n\n protected processSaveChartHistorySignature(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteChartSignatureHistory(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ChartSignatureHistory?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteChartSignatureHistory(_response));\n });\n }\n\n protected processDeleteChartSignatureHistory(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ChartSignaturesHistorySearch): Promise {\n let url_ = this.baseUrl + \"/api/ChartSignatureHistory/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ChartSignatureHistory/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ChartSignatureHistory/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClinicApi {\n\n baseSearch(sObj: ClinicSearch): Promise;\n\n get(clinicId: number | undefined): Promise;\n\n save(dto: ClinicDto): Promise;\n\n delete(clinicId: number | undefined): Promise;\n\n getDisplayName(clinicId: number | undefined): Promise;\n\n exportXlsFile(sObj: ClinicSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClinicApi extends BaseAPI implements IClinicApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClinicSearch): Promise {\n let url_ = this.baseUrl + \"/api/Clinic/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClinicGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(clinicId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Clinic?\";\n if (clinicId === null)\n throw new Error(\"The parameter 'clinicId' cannot be null.\");\n else if (clinicId !== undefined)\n url_ += \"clinicId=\" + encodeURIComponent(\"\" + clinicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ClinicDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: ClinicDto): Promise {\n let url_ = this.baseUrl + \"/api/Clinic\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(clinicId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Clinic?\";\n if (clinicId === null)\n throw new Error(\"The parameter 'clinicId' cannot be null.\");\n else if (clinicId !== undefined)\n url_ += \"clinicId=\" + encodeURIComponent(\"\" + clinicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(clinicId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Clinic/displayName?\";\n if (clinicId === null)\n throw new Error(\"The parameter 'clinicId' cannot be null.\");\n else if (clinicId !== undefined)\n url_ += \"clinicId=\" + encodeURIComponent(\"\" + clinicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClinicSearch): Promise {\n let url_ = this.baseUrl + \"/api/Clinic/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Clinic/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Clinic/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClubAllowedSectionsApi {\n\n baseSearch(sObj: ClubAllowedSectionsSearch): Promise;\n\n getClubAllowedSection(clubSectionId: number | undefined): Promise;\n\n deleteClubAllowedSection(id: number | undefined): Promise;\n\n addNewClubAllowedSection(dto: SaveNewClubAllowedSectionDto): Promise;\n\n exportXlsFile(sObj: ClubAllowedSectionsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClubAllowedSectionsApi extends BaseAPI implements IClubAllowedSectionsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClubAllowedSectionsSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubAllowedSections/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClubAllowedSectionsDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubAllowedSection(clubSectionId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubAllowedSections?\";\n if (clubSectionId === null)\n throw new Error(\"The parameter 'clubSectionId' cannot be null.\");\n else if (clubSectionId !== undefined)\n url_ += \"clubSectionId=\" + encodeURIComponent(\"\" + clubSectionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubAllowedSection(_response));\n });\n }\n\n protected processGetClubAllowedSection(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveNewClubAllowedSectionDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteClubAllowedSection(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubAllowedSections?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteClubAllowedSection(_response));\n });\n }\n\n protected processDeleteClubAllowedSection(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addNewClubAllowedSection(dto: SaveNewClubAllowedSectionDto): Promise {\n let url_ = this.baseUrl + \"/api/ClubAllowedSections/addNewClubAllowedSection\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddNewClubAllowedSection(_response));\n });\n }\n\n protected processAddNewClubAllowedSection(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClubAllowedSectionsSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubAllowedSections/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubAllowedSections/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ClubAllowedSections/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClubBreedApi {\n\n baseSearch(sObj: ClubBreedSearch): Promise;\n\n exportXlsFile(sObj: ClubBreedSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClubBreedApi extends BaseAPI implements IClubBreedApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClubBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubBreed/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClubGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClubBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubBreed/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubBreed/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ClubBreed/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClubCompetitionRequestApi {\n\n baseSearch(sObj: ClubCompetitionRequestsSearch): Promise;\n\n exportXlsFile(sObj: ClubCompetitionRequestsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClubCompetitionRequestApi extends BaseAPI implements IClubCompetitionRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClubCompetitionRequestsSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubCompetitionRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClubCompetitionRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClubCompetitionRequestsSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubCompetitionRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubCompetitionRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ClubCompetitionRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClubContactApi {\n\n baseSearch(sObj: ClubContactSearch): Promise;\n\n addNewContact(dto: SaveClubContactDto): Promise;\n\n deleteClubContact(id: number | undefined): Promise;\n\n exportXlsFile(sObj: ClubContactSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClubContactApi extends BaseAPI implements IClubContactApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClubContactSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubContact/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClubContactGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addNewContact(dto: SaveClubContactDto): Promise {\n let url_ = this.baseUrl + \"/api/ClubContact/addContact\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddNewContact(_response));\n });\n }\n\n protected processAddNewContact(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteClubContact(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubContact?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteClubContact(_response));\n });\n }\n\n protected processDeleteClubContact(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClubContactSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubContact/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubContact/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ClubContact/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClubApi {\n\n baseSearch(sObj: ClubSearch): Promise;\n\n searchByBreed(breedId: number | undefined): Promise;\n\n getDrupalClub(clubId: number | undefined): Promise;\n\n get(clubId: number | undefined): Promise;\n\n delete(clubId: number | undefined): Promise;\n\n save(dto: ClubDto): Promise;\n\n getClubsByBreed(breedId: number | undefined, languageId: number | undefined): Promise;\n\n saveBc(clubId: number | undefined): Promise;\n\n getDisplayName(clubId: number | undefined): Promise;\n\n isClubExcluded(clubId: number | undefined): Promise;\n\n getLinkedBreedsIds(clubId: number | undefined): Promise;\n\n saveLinkedBreeds(dto: SaveClubAllowedBreedsDto): Promise;\n\n getClubEmail(clubId: number | undefined): Promise;\n\n getClubRemark(clubId: number | undefined): Promise;\n\n getClubAddress(clubId: number | undefined): Promise;\n\n createInSharepoint(clubId: number): Promise;\n\n exportXlsFile(sObj: ClubSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClubApi extends BaseAPI implements IClubApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClubSearch): Promise {\n let url_ = this.baseUrl + \"/api/Club/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClubGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchByBreed(breedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/searchBybreed?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchByBreed(_response));\n });\n }\n\n protected processSearchByBreed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClubGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalClub(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/drupalClub?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalClub(_response));\n });\n }\n\n protected processGetDrupalClub(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalClubDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ClubDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: ClubDto): Promise {\n let url_ = this.baseUrl + \"/api/Club\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubsByBreed(breedId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/clubsByBreed?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubsByBreed(_response));\n });\n }\n\n protected processGetClubsByBreed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DrupalClubDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBc(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/saveBc?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBc(_response));\n });\n }\n\n protected processSaveBc(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/DisplayName?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isClubExcluded(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/isExcluded?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsClubExcluded(_response));\n });\n }\n\n protected processIsClubExcluded(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLinkedBreedsIds(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/GetLinkedBreedsIds?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLinkedBreedsIds(_response));\n });\n }\n\n protected processGetLinkedBreedsIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveClubAllowedBreedsDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveLinkedBreeds(dto: SaveClubAllowedBreedsDto): Promise {\n let url_ = this.baseUrl + \"/api/Club/SaveLinkedBreeds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveLinkedBreeds(_response));\n });\n }\n\n protected processSaveLinkedBreeds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubEmail(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/email?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubEmail(_response));\n });\n }\n\n protected processGetClubEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubRemark(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/remark?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubRemark(_response));\n });\n }\n\n protected processGetClubRemark(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubAddress(clubId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/getClubAddress?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubAddress(_response));\n });\n }\n\n protected processGetClubAddress(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createInSharepoint(clubId: number): Promise {\n let url_ = this.baseUrl + \"/api/Club/CreateInSharepoint/{clubId}\";\n if (clubId === undefined || clubId === null)\n throw new Error(\"The parameter 'clubId' must be defined.\");\n url_ = url_.replace(\"{clubId}\", encodeURIComponent(\"\" + clubId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateInSharepoint(_response));\n });\n }\n\n protected processCreateInSharepoint(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClubSearch): Promise {\n let url_ = this.baseUrl + \"/api/Club/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Club/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Club/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClubJudgeApi {\n\n baseSearch(sObj: JudgesForClubSearch): Promise;\n\n saveNewJudge(dto: SaveClubJudgeDto): Promise;\n\n deleteJudgeForClub(clubJudgeId: number | undefined): Promise;\n\n exportXlsFile(sObj: JudgesForClubSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClubJudgeApi extends BaseAPI implements IClubJudgeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: JudgesForClubSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubJudge/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgesForClubGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewJudge(dto: SaveClubJudgeDto): Promise {\n let url_ = this.baseUrl + \"/api/ClubJudge\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewJudge(_response));\n });\n }\n\n protected processSaveNewJudge(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteJudgeForClub(clubJudgeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubJudge?\";\n if (clubJudgeId === null)\n throw new Error(\"The parameter 'clubJudgeId' cannot be null.\");\n else if (clubJudgeId !== undefined)\n url_ += \"clubJudgeId=\" + encodeURIComponent(\"\" + clubJudgeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteJudgeForClub(_response));\n });\n }\n\n protected processDeleteJudgeForClub(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: JudgesForClubSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubJudge/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubJudge/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ClubJudge/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClubRoleApi {\n\n baseSearch(sObj: ClubRoleSearch): Promise;\n\n getClubRole(id: number | undefined): Promise;\n\n saveClubRole(dto: ClubRoleDto): Promise;\n\n deleteClubRole(id: number | undefined): Promise;\n\n getDisplayName(clubRoleId: number | undefined, languageCode: string | null | undefined): Promise;\n\n exportXlsFile(sObj: ClubRoleSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClubRoleApi extends BaseAPI implements IClubRoleApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClubRoleSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubRole/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClubRoleGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubRole(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubRole?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubRole(_response));\n });\n }\n\n protected processGetClubRole(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ClubRoleDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveClubRole(dto: ClubRoleDto): Promise {\n let url_ = this.baseUrl + \"/api/ClubRole\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveClubRole(_response));\n });\n }\n\n protected processSaveClubRole(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteClubRole(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubRole?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteClubRole(_response));\n });\n }\n\n protected processDeleteClubRole(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(clubRoleId: number | undefined, languageCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubRole/getDisplayName?\";\n if (clubRoleId === null)\n throw new Error(\"The parameter 'clubRoleId' cannot be null.\");\n else if (clubRoleId !== undefined)\n url_ += \"clubRoleId=\" + encodeURIComponent(\"\" + clubRoleId) + \"&\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClubRoleSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubRole/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubRole/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ClubRole/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IClubWorkbookRequestApi {\n\n baseSearch(sObj: ClubWorkbookRequestSearch): Promise;\n\n exportXlsFile(sObj: ClubWorkbookRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ClubWorkbookRequestApi extends BaseAPI implements IClubWorkbookRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ClubWorkbookRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubWorkbookRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClubWorkbookRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ClubWorkbookRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/ClubWorkbookRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ClubWorkbookRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ClubWorkbookRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IColorApi {\n\n baseSearch(sObj: ColorSearch): Promise;\n\n searchIds(sObj: ColorSearch): Promise;\n\n getColor(id: number | undefined): Promise;\n\n saveColor(dto: ColorDto): Promise;\n\n deleteColor(id: number | undefined): Promise;\n\n getDisplayName(colorId: number | undefined, languageCode: string | null | undefined): Promise;\n\n exportXlsFile(sObj: ColorSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ColorApi extends BaseAPI implements IColorApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ColorSearch): Promise {\n let url_ = this.baseUrl + \"/api/Color/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfColorGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchIds(sObj: ColorSearch): Promise {\n let url_ = this.baseUrl + \"/api/Color/searchIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchIds(_response));\n });\n }\n\n protected processSearchIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getColor(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Color?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetColor(_response));\n });\n }\n\n protected processGetColor(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ColorDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveColor(dto: ColorDto): Promise {\n let url_ = this.baseUrl + \"/api/Color\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveColor(_response));\n });\n }\n\n protected processSaveColor(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteColor(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Color?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteColor(_response));\n });\n }\n\n protected processDeleteColor(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(colorId: number | undefined, languageCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Color/getDisplayName?\";\n if (colorId === null)\n throw new Error(\"The parameter 'colorId' cannot be null.\");\n else if (colorId !== undefined)\n url_ += \"colorId=\" + encodeURIComponent(\"\" + colorId) + \"&\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ColorSearch): Promise {\n let url_ = this.baseUrl + \"/api/Color/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Color/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Color/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ICompetitionApi {\n\n baseSearch(sObj: CompetitionSearch): Promise;\n\n searchCompetitionByYear(year: number | undefined, includeCoursing: boolean | undefined, activityId: number | null | undefined): Promise;\n\n getWeekCompetition(languageCode: string | null | undefined): Promise;\n\n get(competitionId: number | undefined, languageId: number | undefined): Promise;\n\n save(dto: CompetitionDto): Promise;\n\n getDrupalCompetition(competitionId: number | undefined): Promise;\n\n getDisplayName(competitionId: number | undefined, languageId: number | undefined): Promise;\n\n exportXlsFile(sObj: CompetitionSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class CompetitionApi extends BaseAPI implements ICompetitionApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: CompetitionSearch): Promise {\n let url_ = this.baseUrl + \"/api/Competition/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCompetitionGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchCompetitionByYear(year: number | undefined, includeCoursing: boolean | undefined, activityId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Competition/searchByYear?\";\n if (year === null)\n throw new Error(\"The parameter 'year' cannot be null.\");\n else if (year !== undefined)\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n if (includeCoursing === null)\n throw new Error(\"The parameter 'includeCoursing' cannot be null.\");\n else if (includeCoursing !== undefined)\n url_ += \"includeCoursing=\" + encodeURIComponent(\"\" + includeCoursing) + \"&\";\n if (activityId !== undefined && activityId !== null)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchCompetitionByYear(_response));\n });\n }\n\n protected processSearchCompetitionByYear(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCompetitionGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWeekCompetition(languageCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Competition/getWeekCompetition?\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWeekCompetition(_response));\n });\n }\n\n protected processGetWeekCompetition(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DrupalDisplayCompetitionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(competitionId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Competition?\";\n if (competitionId === null)\n throw new Error(\"The parameter 'competitionId' cannot be null.\");\n else if (competitionId !== undefined)\n url_ += \"competitionId=\" + encodeURIComponent(\"\" + competitionId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CompetitionDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: CompetitionDto): Promise {\n let url_ = this.baseUrl + \"/api/Competition\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalCompetition(competitionId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Competition/getDrupalCompetition?\";\n if (competitionId === null)\n throw new Error(\"The parameter 'competitionId' cannot be null.\");\n else if (competitionId !== undefined)\n url_ += \"competitionId=\" + encodeURIComponent(\"\" + competitionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalCompetition(_response));\n });\n }\n\n protected processGetDrupalCompetition(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalCompetitionDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(competitionId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Competition/displayName?\";\n if (competitionId === null)\n throw new Error(\"The parameter 'competitionId' cannot be null.\");\n else if (competitionId !== undefined)\n url_ += \"competitionId=\" + encodeURIComponent(\"\" + competitionId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: CompetitionSearch): Promise {\n let url_ = this.baseUrl + \"/api/Competition/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Competition/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Competition/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ICompetitionJudgesRequestApi {\n\n baseSearch(sObj: JudgeCompetitionRequestSearch): Promise;\n\n saveJudgeValidation(judgeValidationDtos: JudgeValidationDto[]): Promise;\n\n exportXlsFile(sObj: JudgeCompetitionRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class CompetitionJudgesRequestApi extends BaseAPI implements ICompetitionJudgesRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: JudgeCompetitionRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionJudgesRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgeCompetitionRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveJudgeValidation(judgeValidationDtos: JudgeValidationDto[]): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionJudgesRequest/saveJudgeValidation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(judgeValidationDtos);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveJudgeValidation(_response));\n });\n }\n\n protected processSaveJudgeValidation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: JudgeCompetitionRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionJudgesRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionJudgesRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionJudgesRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ICompetitionRequestApi {\n\n baseSearch(sObj: CompetitionRequestSearch): Promise;\n\n get(competitionRequestId: number | undefined): Promise;\n\n save(dto: CompetitionRequestDto): Promise;\n\n isWorkOrBeauty(competitionRequestId: number | undefined): Promise;\n\n getCompetitionRequestExpos(competitionRequestId: number | undefined): Promise;\n\n saveCompetitionRequestExpos(competitionExposInfos: CompetitionRequestExpoDaysDto): Promise;\n\n getCompetitionReport(competitionRequestDto: CompetitionReportInfoDto): Promise;\n\n competitionPersonCheck(clubId: number | undefined, personId: number | undefined): Promise;\n\n competitionSectionCheck(clubId: number | undefined, sectionId: number | undefined): Promise;\n\n isRequestComplete(competitionRequestId: number | undefined): Promise;\n\n getLinkedBreedGroupsIds(competitionRequestId: number | undefined): Promise;\n\n saveCompetitionBreedGroups(competitionRequestId: number | undefined, breedGroupsIds: number[]): Promise;\n\n getLinkedBreedIds(competitionRequestId: number | undefined): Promise;\n\n saveCompetitionBreeds(competitionRequestId: number | undefined, breedIds: number[]): Promise;\n\n judgesCorrect(subAcivityId: number | undefined, judgeIds: number[]): Promise;\n\n createCompetition(competitionRequestId: number | undefined): Promise;\n\n saveFile(competitionRequestId: number | undefined, file: FileParameter | null | undefined): Promise;\n\n close(requestId: number | undefined): Promise;\n\n searchCompetitionJudges(sObj: JudgeCompetitionRequestSearch): Promise;\n\n sendJudgeValidationEmail(competitionRequestId: number | undefined): Promise;\n\n sendAuthorizationReceivedEmail(competitionRequestId: number | undefined): Promise;\n\n checkPortalAuthorization(): Promise;\n\n exportXlsFile(sObj: CompetitionRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class CompetitionRequestApi extends BaseAPI implements ICompetitionRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: CompetitionRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCompetitionRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CompetitionRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: CompetitionRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isWorkOrBeauty(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/IsWorkOrBeauty?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsWorkOrBeauty(_response));\n });\n }\n\n protected processIsWorkOrBeauty(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = IsWorkOrBeautyDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCompetitionRequestExpos(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/GetCompetitionRequestExpos?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCompetitionRequestExpos(_response));\n });\n }\n\n protected processGetCompetitionRequestExpos(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CompetitionRequestExpoDaysDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveCompetitionRequestExpos(competitionExposInfos: CompetitionRequestExpoDaysDto): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/SaveCompetitionRequestExpos\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(competitionExposInfos);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveCompetitionRequestExpos(_response));\n });\n }\n\n protected processSaveCompetitionRequestExpos(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCompetitionReport(competitionRequestDto: CompetitionReportInfoDto): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/getCompetitionReport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(competitionRequestDto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCompetitionReport(_response));\n });\n }\n\n protected processGetCompetitionReport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n competitionPersonCheck(clubId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/competitionPersonCheck?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCompetitionPersonCheck(_response));\n });\n }\n\n protected processCompetitionPersonCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n competitionSectionCheck(clubId: number | undefined, sectionId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/competitionSectionCheck?\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n if (sectionId === null)\n throw new Error(\"The parameter 'sectionId' cannot be null.\");\n else if (sectionId !== undefined)\n url_ += \"sectionId=\" + encodeURIComponent(\"\" + sectionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCompetitionSectionCheck(_response));\n });\n }\n\n protected processCompetitionSectionCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isRequestComplete(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/isRequestComplete?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsRequestComplete(_response));\n });\n }\n\n protected processIsRequestComplete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLinkedBreedGroupsIds(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/getLinkedBreedGroupsIds?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLinkedBreedGroupsIds(_response));\n });\n }\n\n protected processGetLinkedBreedGroupsIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveCompetitionBreedGroups(competitionRequestId: number | undefined, breedGroupsIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/saveCompetitionBreedGroups?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(breedGroupsIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveCompetitionBreedGroups(_response));\n });\n }\n\n protected processSaveCompetitionBreedGroups(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLinkedBreedIds(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/getLinkedBreedIds?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLinkedBreedIds(_response));\n });\n }\n\n protected processGetLinkedBreedIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveCompetitionBreeds(competitionRequestId: number | undefined, breedIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/saveCompetitionBreeds?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(breedIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveCompetitionBreeds(_response));\n });\n }\n\n protected processSaveCompetitionBreeds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n judgesCorrect(subAcivityId: number | undefined, judgeIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/canJudge?\";\n if (subAcivityId === null)\n throw new Error(\"The parameter 'subAcivityId' cannot be null.\");\n else if (subAcivityId !== undefined)\n url_ += \"subAcivityId=\" + encodeURIComponent(\"\" + subAcivityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(judgeIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processJudgesCorrect(_response));\n });\n }\n\n protected processJudgesCorrect(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createCompetition(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/createCompetition?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateCompetition(_response));\n });\n }\n\n protected processCreateCompetition(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveFile(competitionRequestId: number | undefined, file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/saveFile?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveFile(_response));\n });\n }\n\n protected processSaveFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/close?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchCompetitionJudges(sObj: JudgeCompetitionRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/searchCompetitionJudges\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchCompetitionJudges(_response));\n });\n }\n\n protected processSearchCompetitionJudges(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgeCompetitionRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n sendJudgeValidationEmail(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/sendJudgeValidationEmail?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSendJudgeValidationEmail(_response));\n });\n }\n\n protected processSendJudgeValidationEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n sendAuthorizationReceivedEmail(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/sendAuthorizationReceivedEmail?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSendAuthorizationReceivedEmail(_response));\n });\n }\n\n protected processSendAuthorizationReceivedEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkPortalAuthorization(): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/CheckPortalAuthorization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckPortalAuthorization(_response));\n });\n }\n\n protected processCheckPortalAuthorization(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: CompetitionRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ICompetitionResultApi {\n\n baseSearch(sObj: CompetitionResultSearch): Promise;\n\n get(competitionResultId: number | undefined): Promise;\n\n save(dto: CompetitionResultDto): Promise;\n\n delete(competitionResultId: number | undefined): Promise;\n\n importCompetitionResultsFromExcel(competitionId: number | undefined, file: FileParameter | null | undefined): Promise;\n\n saveImportedDtos(shouldDouble: boolean | undefined, expoId: number | null | undefined, importedDtos: CompetitionImportDto[]): Promise;\n\n exportXlsFile(sObj: CompetitionResultSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class CompetitionResultApi extends BaseAPI implements ICompetitionResultApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: CompetitionResultSearch): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCompetitionResultGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(competitionResultId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult?\";\n if (competitionResultId === null)\n throw new Error(\"The parameter 'competitionResultId' cannot be null.\");\n else if (competitionResultId !== undefined)\n url_ += \"competitionResultId=\" + encodeURIComponent(\"\" + competitionResultId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CompetitionResultDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: CompetitionResultDto): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(competitionResultId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult?\";\n if (competitionResultId === null)\n throw new Error(\"The parameter 'competitionResultId' cannot be null.\");\n else if (competitionResultId !== undefined)\n url_ += \"competitionResultId=\" + encodeURIComponent(\"\" + competitionResultId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n importCompetitionResultsFromExcel(competitionId: number | undefined, file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult/importCompetitionResults?\";\n if (competitionId === null)\n throw new Error(\"The parameter 'competitionId' cannot be null.\");\n else if (competitionId !== undefined)\n url_ += \"competitionId=\" + encodeURIComponent(\"\" + competitionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processImportCompetitionResultsFromExcel(_response));\n });\n }\n\n protected processImportCompetitionResultsFromExcel(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CompetitionImportDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveImportedDtos(shouldDouble: boolean | undefined, expoId: number | null | undefined, importedDtos: CompetitionImportDto[]): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult/saveImportedDtos?\";\n if (shouldDouble === null)\n throw new Error(\"The parameter 'shouldDouble' cannot be null.\");\n else if (shouldDouble !== undefined)\n url_ += \"shouldDouble=\" + encodeURIComponent(\"\" + shouldDouble) + \"&\";\n if (expoId !== undefined && expoId !== null)\n url_ += \"expoId=\" + encodeURIComponent(\"\" + expoId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(importedDtos);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveImportedDtos(_response));\n });\n }\n\n protected processSaveImportedDtos(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: CompetitionResultSearch): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/CompetitionResult/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ICountryApi {\n\n baseSearch(sObj: CountrySearch): Promise;\n\n get(id: number | undefined): Promise;\n\n save(dto: CountryDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n isoCodeUnique(countryId: number | undefined, isoCode: string | null | undefined): Promise;\n\n getBelgianId(): Promise;\n\n getDisplayName(id: number | undefined): Promise;\n\n isBelgian(id: number | undefined): Promise;\n\n createInSharepoint(countryId: number): Promise;\n\n exportXlsFile(sObj: CountrySearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class CountryApi extends BaseAPI implements ICountryApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: CountrySearch): Promise {\n let url_ = this.baseUrl + \"/api/Country/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCountryGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Country?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CountryDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: CountryDto): Promise {\n let url_ = this.baseUrl + \"/api/Country\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Country?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isoCodeUnique(countryId: number | undefined, isoCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Country/IsoCodeUnique?\";\n if (countryId === null)\n throw new Error(\"The parameter 'countryId' cannot be null.\");\n else if (countryId !== undefined)\n url_ += \"countryId=\" + encodeURIComponent(\"\" + countryId) + \"&\";\n if (isoCode !== undefined && isoCode !== null)\n url_ += \"isoCode=\" + encodeURIComponent(\"\" + isoCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsoCodeUnique(_response));\n });\n }\n\n protected processIsoCodeUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBelgianId(): Promise {\n let url_ = this.baseUrl + \"/api/Country/BelgiumId\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBelgianId(_response));\n });\n }\n\n protected processGetBelgianId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Country/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isBelgian(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Country/IsBelgian?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsBelgian(_response));\n });\n }\n\n protected processIsBelgian(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createInSharepoint(countryId: number): Promise {\n let url_ = this.baseUrl + \"/api/Country/CreateInSharepoint/{countryId}\";\n if (countryId === undefined || countryId === null)\n throw new Error(\"The parameter 'countryId' must be defined.\");\n url_ = url_.replace(\"{countryId}\", encodeURIComponent(\"\" + countryId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateInSharepoint(_response));\n });\n }\n\n protected processCreateInSharepoint(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: CountrySearch): Promise {\n let url_ = this.baseUrl + \"/api/Country/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Country/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Country/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDashboardApi {\n\n baseSearch(sObj: DashboardSearch): Promise;\n\n searchByTask(sObj: DashboardSearch): Promise;\n\n getuserDepartements(): Promise;\n\n close(dashboardTaskId: number | undefined): Promise;\n\n closeMultiple(dashboardTaskIds: number[]): Promise;\n\n assign(dashboardTaskIds: number[]): Promise;\n\n exportXlsFile(sObj: DashboardSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DashboardApi extends BaseAPI implements IDashboardApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DashboardSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDashboardTaskGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchByTask(sObj: DashboardSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/searchByTask\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchByTask(_response));\n });\n }\n\n protected processSearchByTask(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDashboardTaskGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getuserDepartements(): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/departmentCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetuserDepartements(_response));\n });\n }\n\n protected processGetuserDepartements(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(dashboardTaskId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/close?\";\n if (dashboardTaskId === null)\n throw new Error(\"The parameter 'dashboardTaskId' cannot be null.\");\n else if (dashboardTaskId !== undefined)\n url_ += \"dashboardTaskId=\" + encodeURIComponent(\"\" + dashboardTaskId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeMultiple(dashboardTaskIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/closeMultiple\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dashboardTaskIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseMultiple(_response));\n });\n }\n\n protected processCloseMultiple(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n assign(dashboardTaskIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/assign\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dashboardTaskIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAssign(_response));\n });\n }\n\n protected processAssign(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DashboardSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Dashboard/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDashboardDogsApi {\n\n baseSearch(sObj: DashboardDogSearch): Promise;\n\n exportXlsFile(sObj: DashboardDogSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DashboardDogsApi extends BaseAPI implements IDashboardDogsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DashboardDogSearch): Promise {\n let url_ = this.baseUrl + \"/api/DashboardDogs/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDashboardSubTaskGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DashboardDogSearch): Promise {\n let url_ = this.baseUrl + \"/api/DashboardDogs/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DashboardDogs/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DashboardDogs/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDocumentTemplateApi {\n\n baseSearch(sObj: DocumentTemplateSearch): Promise;\n\n getDisplayName(documentTemplateId: number | undefined): Promise;\n\n getDocumentTemplate(documentTemplateId: number | undefined): Promise;\n\n saveDocumentTemplate(toSave: DocumentTemplateDto): Promise;\n\n exportXlsFile(sObj: DocumentTemplateSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DocumentTemplateApi extends BaseAPI implements IDocumentTemplateApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DocumentTemplateSearch): Promise {\n let url_ = this.baseUrl + \"/api/DocumentTemplate/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDocumentTemplateGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(documentTemplateId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DocumentTemplate/displayName?\";\n if (documentTemplateId === null)\n throw new Error(\"The parameter 'documentTemplateId' cannot be null.\");\n else if (documentTemplateId !== undefined)\n url_ += \"documentTemplateId=\" + encodeURIComponent(\"\" + documentTemplateId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDocumentTemplate(documentTemplateId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DocumentTemplate?\";\n if (documentTemplateId === null)\n throw new Error(\"The parameter 'documentTemplateId' cannot be null.\");\n else if (documentTemplateId !== undefined)\n url_ += \"documentTemplateId=\" + encodeURIComponent(\"\" + documentTemplateId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDocumentTemplate(_response));\n });\n }\n\n protected processGetDocumentTemplate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DocumentTemplateDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDocumentTemplate(toSave: DocumentTemplateDto): Promise {\n let url_ = this.baseUrl + \"/api/DocumentTemplate/save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDocumentTemplate(_response));\n });\n }\n\n protected processSaveDocumentTemplate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DocumentTemplateSearch): Promise {\n let url_ = this.baseUrl + \"/api/DocumentTemplate/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DocumentTemplate/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DocumentTemplate/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogAvailableOwnersApi {\n\n baseSearch(sObj: DogBaseSearch): Promise;\n\n exportXlsFile(sObj: DogBaseSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogAvailableOwnersApi extends BaseAPI implements IDogAvailableOwnersApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogAvailableOwners/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogAvailableOwners/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogAvailableOwners/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogAvailableOwners/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogBreederApi {\n\n baseSearch(sObj: DogBaseSearch): Promise;\n\n deleteBreeder(breederId: number | undefined): Promise;\n\n getBreeder(parameters: GetDogBreederParameters): Promise;\n\n saveBreeder(dto: SaveBreederDto): Promise;\n\n exportXlsFile(sObj: DogBaseSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogBreederApi extends BaseAPI implements IDogBreederApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogBreeder/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogBreederGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteBreeder(breederId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogBreeder?\";\n if (breederId === null)\n throw new Error(\"The parameter 'breederId' cannot be null.\");\n else if (breederId !== undefined)\n url_ += \"breederId=\" + encodeURIComponent(\"\" + breederId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteBreeder(_response));\n });\n }\n\n protected processDeleteBreeder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreeder(parameters: GetDogBreederParameters): Promise {\n let url_ = this.baseUrl + \"/api/DogBreeder/getBreeder\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(parameters);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreeder(_response));\n });\n }\n\n protected processGetBreeder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveBreederDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBreeder(dto: SaveBreederDto): Promise {\n let url_ = this.baseUrl + \"/api/DogBreeder/saveBreeder\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBreeder(_response));\n });\n }\n\n protected processSaveBreeder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogBreeder/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogBreeder/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogBreeder/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogBroodRequestApi {\n\n baseSearch(sObj: DogBroodRequestSearch): Promise;\n\n exportXlsFile(sObj: DogBroodRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogBroodRequestApi extends BaseAPI implements IDogBroodRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogBroodRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogBroodRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogBroodRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogBroodRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogBroodRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogBroodRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogBroodRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogChipApi {\n\n baseSearch(sObj: DogChipSearch): Promise;\n\n getChip(dogChipId: number | undefined): Promise;\n\n delete(dogChipI: number | undefined): Promise;\n\n save(dto: DogChipDto): Promise;\n\n isChipUnique(chipNumber: string | null | undefined, dogId: number | undefined): Promise;\n\n exportXlsFile(sObj: DogChipSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogChipApi extends BaseAPI implements IDogChipApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogChipSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogChip/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogChipGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getChip(dogChipId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogChip?\";\n if (dogChipId === null)\n throw new Error(\"The parameter 'dogChipId' cannot be null.\");\n else if (dogChipId !== undefined)\n url_ += \"dogChipId=\" + encodeURIComponent(\"\" + dogChipId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetChip(_response));\n });\n }\n\n protected processGetChip(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogChipDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(dogChipI: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogChip?\";\n if (dogChipI === null)\n throw new Error(\"The parameter 'dogChipI' cannot be null.\");\n else if (dogChipI !== undefined)\n url_ += \"dogChipI=\" + encodeURIComponent(\"\" + dogChipI) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: DogChipDto): Promise {\n let url_ = this.baseUrl + \"/api/DogChip\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogChipDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isChipUnique(chipNumber: string | null | undefined, dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogChip/isUnique?\";\n if (chipNumber !== undefined && chipNumber !== null)\n url_ += \"chipNumber=\" + encodeURIComponent(\"\" + chipNumber) + \"&\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsChipUnique(_response));\n });\n }\n\n protected processIsChipUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogChipSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogChip/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogChip/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogChip/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogApi {\n\n baseSearch(sObj: DogSearch): Promise;\n\n searchDogTransient(hideClosed: boolean | undefined, managerId: number | null | undefined, sportSection: boolean | undefined, sObj: DogSearch): Promise;\n\n dogIsFciRecognizedQuery(dogId: number | undefined): Promise;\n\n getDrupalDogFilesList(dogId: number | undefined): Promise;\n\n getDogUnicityQuery(dogName: string | null | undefined, kennelId: number | undefined): Promise;\n\n downloadDogDoc(sharepointUri: string | null | undefined, fileName: string | null | undefined): Promise;\n\n assignManager(managerId: number | undefined, dogTransientId: number[]): Promise;\n\n validateDog(dogTransientId: number[]): Promise;\n\n checkBelgianOwnership(dogId: number | undefined): Promise;\n\n generateDuplicatePedigree(dogId: number | undefined, personId: number | undefined): Promise;\n\n checkDogTypeChange(newDogTypeId: number | undefined, currentDogTypeId: number | undefined): Promise;\n\n dogTransientDiscardTask(dogTransientId: number[]): Promise;\n\n searchAllIds(sObj: DogSearch): Promise;\n\n getDog(dogId: number | undefined): Promise;\n\n save(dto: DogDto): Promise;\n\n delete(dogId: number | undefined): Promise;\n\n getDogFusion(dogId: number | undefined, dogId2: number | undefined): Promise;\n\n dogFusion(fusion: DogFusionDto): Promise;\n\n getDogFusionComparisonDogs(dogId1: number | undefined, dogId2: number | undefined): Promise;\n\n isDogExport(dogId: number | undefined): Promise;\n\n getDrupalDog(dogId: number | undefined, isBroodRequest: boolean | undefined): Promise;\n\n hasAdnProfile(dogId: number | undefined, isBroodRequest: boolean | undefined): Promise;\n\n addCharacteristic(dogId: number | undefined, characteristicId: number | undefined, healthValueId: number | null | undefined, numericValue: number | null | undefined, alphaValue: string | null | undefined, characteristicFile: FileParameter | null | undefined): Promise;\n\n getDogType(dogId: number | undefined): Promise;\n\n getKennelName(kennelId: number | undefined): Promise;\n\n hasOwner(dogId: number | undefined): Promise;\n\n isOwner(dogId: number | undefined, personId: number | undefined): Promise;\n\n isDogDeceased(dogId: number | undefined): Promise;\n\n getDogTypeCode(dogTypeId: number | undefined): Promise;\n\n isDogExcluded(dogId: number | undefined): Promise;\n\n saveDrupal(dog_DogId: number | undefined, dog_IsSportSection: boolean | null | undefined, dog_FirstName: string | null | undefined, dog_BirthDate: Date | null | undefined, dog_DeathDate: Date | null | undefined, dog_PersonId: number | null | undefined, dog_BreedId: number | undefined, dog_DogTypeId: number | null | undefined, dog_ColorId: number | null | undefined, dog_Sex: EDogSex | undefined, dog_SharepointUri: string | null | undefined, dog_DogName: string | null | undefined, dog_Tatoo: string | null | undefined, dog_BreedName: string | null | undefined, dog_ChipNumber: string | null | undefined, dog_CountryPrefixId: number | null | undefined, dog_Pedigree: string | null | undefined, dog_KennelName: string | null | undefined, dog_KennelType: EKennelType | null | undefined, dog_HasAdnProfile: boolean | undefined, dog_WithoutOwnership: boolean | undefined, miscFiles: FileParameter | null | undefined, adnProfile: FileParameter | null | undefined, pedigreeFile: FileParameter | null | undefined, breedingAdmission: FileParameter | null | undefined, healthProfile: FileParameter | null | undefined): Promise;\n\n getDisplayName(id: number | undefined): Promise;\n\n hasDogGotChipsOrTattoo(dogId: number | undefined): Promise;\n\n genealogy(dogId: number | undefined, generation: number | undefined, languageId: number | undefined): Promise;\n\n isDogOwnerOrBreeder(dogId: number | undefined, personId: number | undefined): Promise;\n\n isDogTemporaryOwner(dogId: number | undefined, personId: number | undefined): Promise;\n\n isDogTemporarilyCeaded(dogId: number | undefined, personId: number | undefined): Promise;\n\n isBelgianDogOwner(dogId: number | undefined, personId: number | undefined): Promise;\n\n updateDogRelative(dogId: number | undefined, dogType: EBroodRequestDogType | undefined, relativeDogId: number | undefined): Promise;\n\n createInSharepoint(dogId: number): Promise;\n\n testShpCreateDocumentSet(dogId: number): Promise;\n\n testShpSendDocument(dogId: number): Promise;\n\n deleteDocument(dogId: number): Promise;\n\n deleteDocumentSet(dogId: number): Promise;\n\n exportXlsFile(sObj: DogSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogApi extends BaseAPI implements IDogApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dog/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchDogTransient(hideClosed: boolean | undefined, managerId: number | null | undefined, sportSection: boolean | undefined, sObj: DogSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dog/searchDogTransient?\";\n if (hideClosed === null)\n throw new Error(\"The parameter 'hideClosed' cannot be null.\");\n else if (hideClosed !== undefined)\n url_ += \"hideClosed=\" + encodeURIComponent(\"\" + hideClosed) + \"&\";\n if (managerId !== undefined && managerId !== null)\n url_ += \"managerId=\" + encodeURIComponent(\"\" + managerId) + \"&\";\n if (sportSection === null)\n throw new Error(\"The parameter 'sportSection' cannot be null.\");\n else if (sportSection !== undefined)\n url_ += \"sportSection=\" + encodeURIComponent(\"\" + sportSection) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchDogTransient(_response));\n });\n }\n\n protected processSearchDogTransient(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n dogIsFciRecognizedQuery(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/isBreedFciRecognized?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDogIsFciRecognizedQuery(_response));\n });\n }\n\n protected processDogIsFciRecognizedQuery(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalDogFilesList(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/GetDrupalDogFilesList?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalDogFilesList(_response));\n });\n }\n\n protected processGetDrupalDogFilesList(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ShpDocumentDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogUnicityQuery(dogName: string | null | undefined, kennelId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/GetDogUnicity?\";\n if (dogName !== undefined && dogName !== null)\n url_ += \"dogName=\" + encodeURIComponent(\"\" + dogName) + \"&\";\n if (kennelId === null)\n throw new Error(\"The parameter 'kennelId' cannot be null.\");\n else if (kennelId !== undefined)\n url_ += \"kennelId=\" + encodeURIComponent(\"\" + kennelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogUnicityQuery(_response));\n });\n }\n\n protected processGetDogUnicityQuery(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n downloadDogDoc(sharepointUri: string | null | undefined, fileName: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/DownloadDogDoc?\";\n if (sharepointUri !== undefined && sharepointUri !== null)\n url_ += \"sharepointUri=\" + encodeURIComponent(\"\" + sharepointUri) + \"&\";\n if (fileName !== undefined && fileName !== null)\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDownloadDogDoc(_response));\n });\n }\n\n protected processDownloadDogDoc(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n assignManager(managerId: number | undefined, dogTransientId: number[]): Promise {\n let url_ = this.baseUrl + \"/api/Dog/assignManager?\";\n if (managerId === null)\n throw new Error(\"The parameter 'managerId' cannot be null.\");\n else if (managerId !== undefined)\n url_ += \"managerId=\" + encodeURIComponent(\"\" + managerId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dogTransientId);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAssignManager(_response));\n });\n }\n\n protected processAssignManager(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n validateDog(dogTransientId: number[]): Promise {\n let url_ = this.baseUrl + \"/api/Dog/validateDog\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dogTransientId);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processValidateDog(_response));\n });\n }\n\n protected processValidateDog(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkBelgianOwnership(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/checkBelgianOwnership?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckBelgianOwnership(_response));\n });\n }\n\n protected processCheckBelgianOwnership(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n generateDuplicatePedigree(dogId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/generateDuplicatePedigree?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerateDuplicatePedigree(_response));\n });\n }\n\n protected processGenerateDuplicatePedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkDogTypeChange(newDogTypeId: number | undefined, currentDogTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/checkDogTypeChange?\";\n if (newDogTypeId === null)\n throw new Error(\"The parameter 'newDogTypeId' cannot be null.\");\n else if (newDogTypeId !== undefined)\n url_ += \"newDogTypeId=\" + encodeURIComponent(\"\" + newDogTypeId) + \"&\";\n if (currentDogTypeId === null)\n throw new Error(\"The parameter 'currentDogTypeId' cannot be null.\");\n else if (currentDogTypeId !== undefined)\n url_ += \"currentDogTypeId=\" + encodeURIComponent(\"\" + currentDogTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckDogTypeChange(_response));\n });\n }\n\n protected processCheckDogTypeChange(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n dogTransientDiscardTask(dogTransientId: number[]): Promise {\n let url_ = this.baseUrl + \"/api/Dog/dogTransientDiscardTask\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dogTransientId);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDogTransientDiscardTask(_response));\n });\n }\n\n protected processDogTransientDiscardTask(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchAllIds(sObj: DogSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dog/Ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchAllIds(_response));\n });\n }\n\n protected processSearchAllIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDog(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDog(_response));\n });\n }\n\n protected processGetDog(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: DogDto): Promise {\n let url_ = this.baseUrl + \"/api/Dog\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogFusion(dogId: number | undefined, dogId2: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/dogFusion?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (dogId2 === null)\n throw new Error(\"The parameter 'dogId2' cannot be null.\");\n else if (dogId2 !== undefined)\n url_ += \"dogId2=\" + encodeURIComponent(\"\" + dogId2) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogFusion(_response));\n });\n }\n\n protected processGetDogFusion(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogFusionDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n dogFusion(fusion: DogFusionDto): Promise {\n let url_ = this.baseUrl + \"/api/Dog/dogFusion\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(fusion);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDogFusion(_response));\n });\n }\n\n protected processDogFusion(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogFusionComparisonDogs(dogId1: number | undefined, dogId2: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/getDogFusionComparison?\";\n if (dogId1 === null)\n throw new Error(\"The parameter 'dogId1' cannot be null.\");\n else if (dogId1 !== undefined)\n url_ += \"dogId1=\" + encodeURIComponent(\"\" + dogId1) + \"&\";\n if (dogId2 === null)\n throw new Error(\"The parameter 'dogId2' cannot be null.\");\n else if (dogId2 !== undefined)\n url_ += \"dogId2=\" + encodeURIComponent(\"\" + dogId2) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogFusionComparisonDogs(_response));\n });\n }\n\n protected processGetDogFusionComparisonDogs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogFusionComparisonDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogExport(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/isDogExport?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogExport(_response));\n });\n }\n\n protected processIsDogExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalDog(dogId: number | undefined, isBroodRequest: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/getDrupalDog?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (isBroodRequest === null)\n throw new Error(\"The parameter 'isBroodRequest' cannot be null.\");\n else if (isBroodRequest !== undefined)\n url_ += \"isBroodRequest=\" + encodeURIComponent(\"\" + isBroodRequest) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalDog(_response));\n });\n }\n\n protected processGetDrupalDog(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalDogDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n hasAdnProfile(dogId: number | undefined, isBroodRequest: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/hasAdnProfile?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (isBroodRequest === null)\n throw new Error(\"The parameter 'isBroodRequest' cannot be null.\");\n else if (isBroodRequest !== undefined)\n url_ += \"isBroodRequest=\" + encodeURIComponent(\"\" + isBroodRequest) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processHasAdnProfile(_response));\n });\n }\n\n protected processHasAdnProfile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addCharacteristic(dogId: number | undefined, characteristicId: number | undefined, healthValueId: number | null | undefined, numericValue: number | null | undefined, alphaValue: string | null | undefined, characteristicFile: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/addCharacteristic\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (dogId === null || dogId === undefined)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else\n content_.append(\"DogId\", dogId.toString());\n if (characteristicId === null || characteristicId === undefined)\n throw new Error(\"The parameter 'characteristicId' cannot be null.\");\n else\n content_.append(\"CharacteristicId\", characteristicId.toString());\n if (healthValueId !== null && healthValueId !== undefined)\n content_.append(\"HealthValueId\", healthValueId.toString());\n if (numericValue !== null && numericValue !== undefined)\n content_.append(\"NumericValue\", numericValue.toString());\n if (alphaValue !== null && alphaValue !== undefined)\n content_.append(\"AlphaValue\", alphaValue.toString());\n if (characteristicFile !== null && characteristicFile !== undefined)\n content_.append(\"CharacteristicFile\", characteristicFile.data, characteristicFile.fileName ? characteristicFile.fileName : \"CharacteristicFile\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddCharacteristic(_response));\n });\n }\n\n protected processAddCharacteristic(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogType(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/GetDogType?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogType(_response));\n });\n }\n\n protected processGetDogType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getKennelName(kennelId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/getKennelName?\";\n if (kennelId === null)\n throw new Error(\"The parameter 'kennelId' cannot be null.\");\n else if (kennelId !== undefined)\n url_ += \"kennelId=\" + encodeURIComponent(\"\" + kennelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetKennelName(_response));\n });\n }\n\n protected processGetKennelName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FullDogNameKennelDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n hasOwner(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/hasOwner?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processHasOwner(_response));\n });\n }\n\n protected processHasOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isOwner(dogId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/isOwner?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsOwner(_response));\n });\n }\n\n protected processIsOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogDeceased(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/isDogDeceased?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogDeceased(_response));\n });\n }\n\n protected processIsDogDeceased(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogTypeCode(dogTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/GetDogTypeCode?\";\n if (dogTypeId === null)\n throw new Error(\"The parameter 'dogTypeId' cannot be null.\");\n else if (dogTypeId !== undefined)\n url_ += \"dogTypeId=\" + encodeURIComponent(\"\" + dogTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogTypeCode(_response));\n });\n }\n\n protected processGetDogTypeCode(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogExcluded(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/idDogExcluded?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogExcluded(_response));\n });\n }\n\n protected processIsDogExcluded(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDrupal(dog_DogId: number | undefined, dog_IsSportSection: boolean | null | undefined, dog_FirstName: string | null | undefined, dog_BirthDate: Date | null | undefined, dog_DeathDate: Date | null | undefined, dog_PersonId: number | null | undefined, dog_BreedId: number | undefined, dog_DogTypeId: number | null | undefined, dog_ColorId: number | null | undefined, dog_Sex: EDogSex | undefined, dog_SharepointUri: string | null | undefined, dog_DogName: string | null | undefined, dog_Tatoo: string | null | undefined, dog_BreedName: string | null | undefined, dog_ChipNumber: string | null | undefined, dog_CountryPrefixId: number | null | undefined, dog_Pedigree: string | null | undefined, dog_KennelName: string | null | undefined, dog_KennelType: EKennelType | null | undefined, dog_HasAdnProfile: boolean | undefined, dog_WithoutOwnership: boolean | undefined, miscFiles: FileParameter | null | undefined, adnProfile: FileParameter | null | undefined, pedigreeFile: FileParameter | null | undefined, breedingAdmission: FileParameter | null | undefined, healthProfile: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/SaveDrupal\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (dog_DogId === null || dog_DogId === undefined)\n throw new Error(\"The parameter 'dog_DogId' cannot be null.\");\n else\n content_.append(\"Dog.DogId\", dog_DogId.toString());\n if (dog_IsSportSection !== null && dog_IsSportSection !== undefined)\n content_.append(\"Dog.IsSportSection\", dog_IsSportSection.toString());\n if (dog_FirstName !== null && dog_FirstName !== undefined)\n content_.append(\"Dog.FirstName\", dog_FirstName.toString());\n if (dog_BirthDate !== null && dog_BirthDate !== undefined)\n content_.append(\"Dog.BirthDate\", dog_BirthDate.toJSON());\n if (dog_DeathDate !== null && dog_DeathDate !== undefined)\n content_.append(\"Dog.DeathDate\", dog_DeathDate.toJSON());\n if (dog_PersonId !== null && dog_PersonId !== undefined)\n content_.append(\"Dog.PersonId\", dog_PersonId.toString());\n if (dog_BreedId === null || dog_BreedId === undefined)\n throw new Error(\"The parameter 'dog_BreedId' cannot be null.\");\n else\n content_.append(\"Dog.BreedId\", dog_BreedId.toString());\n if (dog_DogTypeId !== null && dog_DogTypeId !== undefined)\n content_.append(\"Dog.DogTypeId\", dog_DogTypeId.toString());\n if (dog_ColorId !== null && dog_ColorId !== undefined)\n content_.append(\"Dog.ColorId\", dog_ColorId.toString());\n if (dog_Sex === null || dog_Sex === undefined)\n throw new Error(\"The parameter 'dog_Sex' cannot be null.\");\n else\n content_.append(\"Dog.Sex\", dog_Sex.toString());\n if (dog_SharepointUri !== null && dog_SharepointUri !== undefined)\n content_.append(\"Dog.SharepointUri\", dog_SharepointUri.toString());\n if (dog_DogName !== null && dog_DogName !== undefined)\n content_.append(\"Dog.DogName\", dog_DogName.toString());\n if (dog_Tatoo !== null && dog_Tatoo !== undefined)\n content_.append(\"Dog.Tatoo\", dog_Tatoo.toString());\n if (dog_BreedName !== null && dog_BreedName !== undefined)\n content_.append(\"Dog.BreedName\", dog_BreedName.toString());\n if (dog_ChipNumber !== null && dog_ChipNumber !== undefined)\n content_.append(\"Dog.ChipNumber\", dog_ChipNumber.toString());\n if (dog_CountryPrefixId !== null && dog_CountryPrefixId !== undefined)\n content_.append(\"Dog.CountryPrefixId\", dog_CountryPrefixId.toString());\n if (dog_Pedigree !== null && dog_Pedigree !== undefined)\n content_.append(\"Dog.Pedigree\", dog_Pedigree.toString());\n if (dog_KennelName !== null && dog_KennelName !== undefined)\n content_.append(\"Dog.KennelName\", dog_KennelName.toString());\n if (dog_KennelType !== null && dog_KennelType !== undefined)\n content_.append(\"Dog.KennelType\", dog_KennelType.toString());\n if (dog_HasAdnProfile === null || dog_HasAdnProfile === undefined)\n throw new Error(\"The parameter 'dog_HasAdnProfile' cannot be null.\");\n else\n content_.append(\"Dog.HasAdnProfile\", dog_HasAdnProfile.toString());\n if (dog_WithoutOwnership === null || dog_WithoutOwnership === undefined)\n throw new Error(\"The parameter 'dog_WithoutOwnership' cannot be null.\");\n else\n content_.append(\"Dog.WithoutOwnership\", dog_WithoutOwnership.toString());\n if (miscFiles !== null && miscFiles !== undefined)\n content_.append(\"MiscFiles\", miscFiles.data, miscFiles.fileName ? miscFiles.fileName : \"MiscFiles\");\n if (adnProfile !== null && adnProfile !== undefined)\n content_.append(\"AdnProfile\", adnProfile.data, adnProfile.fileName ? adnProfile.fileName : \"AdnProfile\");\n if (pedigreeFile !== null && pedigreeFile !== undefined)\n content_.append(\"PedigreeFile\", pedigreeFile.data, pedigreeFile.fileName ? pedigreeFile.fileName : \"PedigreeFile\");\n if (breedingAdmission !== null && breedingAdmission !== undefined)\n content_.append(\"BreedingAdmission\", breedingAdmission.data, breedingAdmission.fileName ? breedingAdmission.fileName : \"BreedingAdmission\");\n if (healthProfile !== null && healthProfile !== undefined)\n content_.append(\"HealthProfile\", healthProfile.data, healthProfile.fileName ? healthProfile.fileName : \"HealthProfile\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDrupal(_response));\n });\n }\n\n protected processSaveDrupal(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n hasDogGotChipsOrTattoo(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/HasDogGotChipsOrTattoo?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processHasDogGotChipsOrTattoo(_response));\n });\n }\n\n protected processHasDogGotChipsOrTattoo(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n genealogy(dogId: number | undefined, generation: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/Genealogy?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (generation === null)\n throw new Error(\"The parameter 'generation' cannot be null.\");\n else if (generation !== undefined)\n url_ += \"generation=\" + encodeURIComponent(\"\" + generation) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGenealogy(_response));\n });\n }\n\n protected processGenealogy(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DogWithParentsDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogOwnerOrBreeder(dogId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/isDogOwnerOrBreeder?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogOwnerOrBreeder(_response));\n });\n }\n\n protected processIsDogOwnerOrBreeder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogTemporaryOwner(dogId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/isDogTemporaryOwner?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogTemporaryOwner(_response));\n });\n }\n\n protected processIsDogTemporaryOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogTemporarilyCeaded(dogId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/isDogTemporaryCeaded?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogTemporarilyCeaded(_response));\n });\n }\n\n protected processIsDogTemporarilyCeaded(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isBelgianDogOwner(dogId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/IsBelgianDogOwner?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsBelgianDogOwner(_response));\n });\n }\n\n protected processIsBelgianDogOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateDogRelative(dogId: number | undefined, dogType: EBroodRequestDogType | undefined, relativeDogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/UpdateDogRelative?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (dogType === null)\n throw new Error(\"The parameter 'dogType' cannot be null.\");\n else if (dogType !== undefined)\n url_ += \"dogType=\" + encodeURIComponent(\"\" + dogType) + \"&\";\n if (relativeDogId === null)\n throw new Error(\"The parameter 'relativeDogId' cannot be null.\");\n else if (relativeDogId !== undefined)\n url_ += \"relativeDogId=\" + encodeURIComponent(\"\" + relativeDogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateDogRelative(_response));\n });\n }\n\n protected processUpdateDogRelative(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createInSharepoint(dogId: number): Promise {\n let url_ = this.baseUrl + \"/api/Dog/CreateInSharepoint/{dogId}\";\n if (dogId === undefined || dogId === null)\n throw new Error(\"The parameter 'dogId' must be defined.\");\n url_ = url_.replace(\"{dogId}\", encodeURIComponent(\"\" + dogId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateInSharepoint(_response));\n });\n }\n\n protected processCreateInSharepoint(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testShpCreateDocumentSet(dogId: number): Promise {\n let url_ = this.baseUrl + \"/api/Dog/test-shp-create-doc-set/{dogId}\";\n if (dogId === undefined || dogId === null)\n throw new Error(\"The parameter 'dogId' must be defined.\");\n url_ = url_.replace(\"{dogId}\", encodeURIComponent(\"\" + dogId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestShpCreateDocumentSet(_response));\n });\n }\n\n protected processTestShpCreateDocumentSet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testShpSendDocument(dogId: number): Promise {\n let url_ = this.baseUrl + \"/api/Dog/test-shp-send-doc/{dogId}\";\n if (dogId === undefined || dogId === null)\n throw new Error(\"The parameter 'dogId' must be defined.\");\n url_ = url_.replace(\"{dogId}\", encodeURIComponent(\"\" + dogId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestShpSendDocument(_response));\n });\n }\n\n protected processTestShpSendDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteDocument(dogId: number): Promise {\n let url_ = this.baseUrl + \"/api/Dog/test-shp-delete-doc/{dogId}\";\n if (dogId === undefined || dogId === null)\n throw new Error(\"The parameter 'dogId' must be defined.\");\n url_ = url_.replace(\"{dogId}\", encodeURIComponent(\"\" + dogId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteDocument(_response));\n });\n }\n\n protected processDeleteDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteDocumentSet(dogId: number): Promise {\n let url_ = this.baseUrl + \"/api/Dog/test-shp-delete-doc-set/{dogId}\";\n if (dogId === undefined || dogId === null)\n throw new Error(\"The parameter 'dogId' must be defined.\");\n url_ = url_.replace(\"{dogId}\", encodeURIComponent(\"\" + dogId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteDocumentSet(_response));\n });\n }\n\n protected processDeleteDocumentSet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dog/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dog/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Dog/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogDnaApi {\n\n baseSearch(sObj: DogDnaSearch): Promise;\n\n isDogInShp(dogId: number | undefined): Promise;\n\n getDnaMarkerResult(dnaMarkerResultId: number | undefined): Promise;\n\n getDnaMarkers(dogId: number | undefined): Promise;\n\n saveDnaMarkerResult(dnaMarkerResult: DnaMarkerResultDto): Promise;\n\n deleteAllDogDna(dogId: number | undefined): Promise;\n\n saveNewDnaMarkerResult(dnaMarkerResults: MarkerListDto): Promise;\n\n getDnaResult(dogId: number | undefined): Promise;\n\n saveDnaResult(dto: DogDnaResultDto): Promise;\n\n exportXlsFile(sObj: DogDnaSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogDnaApi extends BaseAPI implements IDogDnaApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogDnaSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogDnaMarkersGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogInShp(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/isDogInShp?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogInShp(_response));\n });\n }\n\n protected processIsDogInShp(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDnaMarkerResult(dnaMarkerResultId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/getDnaMarkerResult?\";\n if (dnaMarkerResultId === null)\n throw new Error(\"The parameter 'dnaMarkerResultId' cannot be null.\");\n else if (dnaMarkerResultId !== undefined)\n url_ += \"dnaMarkerResultId=\" + encodeURIComponent(\"\" + dnaMarkerResultId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDnaMarkerResult(_response));\n });\n }\n\n protected processGetDnaMarkerResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DnaMarkerResultDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDnaMarkers(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/getDnaMarkers?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDnaMarkers(_response));\n });\n }\n\n protected processGetDnaMarkers(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MarkerListDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDnaMarkerResult(dnaMarkerResult: DnaMarkerResultDto): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/SaveDnaMarkerResult\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dnaMarkerResult);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDnaMarkerResult(_response));\n });\n }\n\n protected processSaveDnaMarkerResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DnaMarkerResultDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteAllDogDna(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/deleteAllDogDna?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteAllDogDna(_response));\n });\n }\n\n protected processDeleteAllDogDna(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewDnaMarkerResult(dnaMarkerResults: MarkerListDto): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/SaveNewDnaMarkerResult\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dnaMarkerResults);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewDnaMarkerResult(_response));\n });\n }\n\n protected processSaveNewDnaMarkerResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDnaResult(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDna?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDnaResult(_response));\n });\n }\n\n protected processGetDnaResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogDnaResultDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDnaResult(dto: DogDnaResultDto): Promise {\n let url_ = this.baseUrl + \"/api/DogDna\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDnaResult(_response));\n });\n }\n\n protected processSaveDnaResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogDnaSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogDna/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogDysplasiaApi {\n\n baseSearch(sObj: DogDysplasiaSearch): Promise;\n\n get(id: number | undefined): Promise;\n\n delete(dogDysplasiaId: number | undefined): Promise;\n\n save(dto: DogDysplasiaDto): Promise;\n\n exportXlsFile(sObj: DogDysplasiaSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogDysplasiaApi extends BaseAPI implements IDogDysplasiaApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogDysplasiaSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogDysplasia/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogDysplasiaGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDysplasia?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogDysplasiaDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(dogDysplasiaId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDysplasia?\";\n if (dogDysplasiaId === null)\n throw new Error(\"The parameter 'dogDysplasiaId' cannot be null.\");\n else if (dogDysplasiaId !== undefined)\n url_ += \"dogDysplasiaId=\" + encodeURIComponent(\"\" + dogDysplasiaId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: DogDysplasiaDto): Promise {\n let url_ = this.baseUrl + \"/api/DogDysplasia\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogDysplasiaSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogDysplasia/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogDysplasia/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogDysplasia/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogHealthTestApi {\n\n baseSearch(sObj: DogHealthSearch): Promise;\n\n invalidateDogCharacteristicsValue(dogsCharacteristicsValueId: number | undefined): Promise;\n\n saveNewCharacteristic(dto: SaveDogCharacteristicDto): Promise;\n\n delete(dogCharacteristicValueId: number | undefined): Promise;\n\n isTestUnique(dogId: number | undefined, characteristicId: number | undefined, characteristicValueId: number | undefined): Promise;\n\n exportXlsFile(sObj: DogHealthSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogHealthTestApi extends BaseAPI implements IDogHealthTestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogHealthSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogHealthTestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n invalidateDogCharacteristicsValue(dogsCharacteristicsValueId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTest/InvalidateDogCharacteristicValue?\";\n if (dogsCharacteristicsValueId === null)\n throw new Error(\"The parameter 'dogsCharacteristicsValueId' cannot be null.\");\n else if (dogsCharacteristicsValueId !== undefined)\n url_ += \"dogsCharacteristicsValueId=\" + encodeURIComponent(\"\" + dogsCharacteristicsValueId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processInvalidateDogCharacteristicsValue(_response));\n });\n }\n\n protected processInvalidateDogCharacteristicsValue(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewCharacteristic(dto: SaveDogCharacteristicDto): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewCharacteristic(_response));\n });\n }\n\n protected processSaveNewCharacteristic(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(dogCharacteristicValueId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTest/Delete?\";\n if (dogCharacteristicValueId === null)\n throw new Error(\"The parameter 'dogCharacteristicValueId' cannot be null.\");\n else if (dogCharacteristicValueId !== undefined)\n url_ += \"dogCharacteristicValueId=\" + encodeURIComponent(\"\" + dogCharacteristicValueId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isTestUnique(dogId: number | undefined, characteristicId: number | undefined, characteristicValueId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTest/IsUnique?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (characteristicId === null)\n throw new Error(\"The parameter 'characteristicId' cannot be null.\");\n else if (characteristicId !== undefined)\n url_ += \"characteristicId=\" + encodeURIComponent(\"\" + characteristicId) + \"&\";\n if (characteristicValueId === null)\n throw new Error(\"The parameter 'characteristicValueId' cannot be null.\");\n else if (characteristicValueId !== undefined)\n url_ += \"characteristicValueId=\" + encodeURIComponent(\"\" + characteristicValueId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsTestUnique(_response));\n });\n }\n\n protected processIsTestUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogHealthSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogHealthTestValidationApi {\n\n baseSearch(sObj: DogHealthTestValidationSearch): Promise;\n\n validateTask(validated: boolean | undefined, dogHealthTestValidationIds: number[]): Promise;\n\n assignTask(dogHealthTestValidationIds: number[]): Promise;\n\n exportXlsFile(sObj: DogHealthTestValidationSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogHealthTestValidationApi extends BaseAPI implements IDogHealthTestValidationApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogHealthTestValidationSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTestValidation/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogHealthTestValidationGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n validateTask(validated: boolean | undefined, dogHealthTestValidationIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTestValidation/validateTask?\";\n if (validated === null)\n throw new Error(\"The parameter 'validated' cannot be null.\");\n else if (validated !== undefined)\n url_ += \"validated=\" + encodeURIComponent(\"\" + validated) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dogHealthTestValidationIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processValidateTask(_response));\n });\n }\n\n protected processValidateTask(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n assignTask(dogHealthTestValidationIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTestValidation/assignTask\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dogHealthTestValidationIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAssignTask(_response));\n });\n }\n\n protected processAssignTask(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogHealthTestValidationSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTestValidation/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTestValidation/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogHealthTestValidation/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogHistoryApi {\n\n baseSearch(sObj: DogBaseSearch): Promise;\n\n exportXlsFile(sObj: DogBaseSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogHistoryApi extends BaseAPI implements IDogHistoryApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogHistory/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogHistoryActionGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogHistory/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogHistory/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogHistory/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogLinkedRequestApi {\n\n baseSearch(sObj: DogBaseSearch): Promise;\n\n exportXlsFile(sObj: DogBaseSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogLinkedRequestApi extends BaseAPI implements IDogLinkedRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogLinkedRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogLinkedRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogLinkedRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogLinkedRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogOwnerApi {\n\n baseSearch(sObj: DogBaseSearch): Promise;\n\n getIds(sObj: DogBaseSearch): Promise;\n\n saveNewOwner(dto: SaveNewOwnerDto): Promise;\n\n deleteOwner(ownershipId: number | undefined): Promise;\n\n exportXlsFile(sObj: DogBaseSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogOwnerApi extends BaseAPI implements IDogOwnerApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogOwner/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogOwnerGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogOwner/ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewOwner(dto: SaveNewOwnerDto): Promise {\n let url_ = this.baseUrl + \"/api/DogOwner\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewOwner(_response));\n });\n }\n\n protected processSaveNewOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteOwner(ownershipId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwner?\";\n if (ownershipId === null)\n throw new Error(\"The parameter 'ownershipId' cannot be null.\");\n else if (ownershipId !== undefined)\n url_ += \"ownershipId=\" + encodeURIComponent(\"\" + ownershipId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteOwner(_response));\n });\n }\n\n protected processDeleteOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogBaseSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogOwner/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwner/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogOwner/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogOwnershipChangeRequestApi {\n\n baseSearch(sObj: DogOwnershipChangeSearch): Promise;\n\n regenExecutionDocuments(rshRequestId: number | undefined): Promise;\n\n getParentRequestId(dogOwnershipChangeRequestId: number | undefined): Promise;\n\n isRequestExport(ownerIds: number[]): Promise;\n\n reprintDocuments(dogOwnershipChangeRequestId: number | undefined): Promise;\n\n getDisplayName(dogOwnershipChangeRequestId: number | undefined): Promise;\n\n isDogAvailable(dogId: number | undefined, dogOwnershipRequestId: number | undefined): Promise;\n\n isDogOwner(dogId: number | undefined, contactId: number | undefined, ownerIds: number[]): Promise;\n\n isRSHCreationAllowed(dogId: number | undefined): Promise;\n\n getDogOwnershipChangeRequest(dogOwnershipChangeRequestId: number | undefined): Promise;\n\n save(dto: DogOwnershipChangeRequestDto): Promise;\n\n getDogOwnershipChangeRequestDogId(requestId: number | undefined): Promise;\n\n closeRequest(requestId: number | undefined): Promise;\n\n exportXlsFile(sObj: DogOwnershipChangeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogOwnershipChangeRequestApi extends BaseAPI implements IDogOwnershipChangeRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogOwnershipChangeSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogOwnershipChangeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenExecutionDocuments(rshRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/RegenExecutionDocuments?\";\n if (rshRequestId === null)\n throw new Error(\"The parameter 'rshRequestId' cannot be null.\");\n else if (rshRequestId !== undefined)\n url_ += \"rshRequestId=\" + encodeURIComponent(\"\" + rshRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenExecutionDocuments(_response));\n });\n }\n\n protected processRegenExecutionDocuments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getParentRequestId(dogOwnershipChangeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/GetParentRequestId?\";\n if (dogOwnershipChangeRequestId === null)\n throw new Error(\"The parameter 'dogOwnershipChangeRequestId' cannot be null.\");\n else if (dogOwnershipChangeRequestId !== undefined)\n url_ += \"dogOwnershipChangeRequestId=\" + encodeURIComponent(\"\" + dogOwnershipChangeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetParentRequestId(_response));\n });\n }\n\n protected processGetParentRequestId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isRequestExport(ownerIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/IsRequestExport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(ownerIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsRequestExport(_response));\n });\n }\n\n protected processIsRequestExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintDocuments(dogOwnershipChangeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/reprint?\";\n if (dogOwnershipChangeRequestId === null)\n throw new Error(\"The parameter 'dogOwnershipChangeRequestId' cannot be null.\");\n else if (dogOwnershipChangeRequestId !== undefined)\n url_ += \"dogOwnershipChangeRequestId=\" + encodeURIComponent(\"\" + dogOwnershipChangeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintDocuments(_response));\n });\n }\n\n protected processReprintDocuments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(dogOwnershipChangeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/getDisplayName?\";\n if (dogOwnershipChangeRequestId === null)\n throw new Error(\"The parameter 'dogOwnershipChangeRequestId' cannot be null.\");\n else if (dogOwnershipChangeRequestId !== undefined)\n url_ += \"dogOwnershipChangeRequestId=\" + encodeURIComponent(\"\" + dogOwnershipChangeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogAvailable(dogId: number | undefined, dogOwnershipRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/isDogAvailable?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (dogOwnershipRequestId === null)\n throw new Error(\"The parameter 'dogOwnershipRequestId' cannot be null.\");\n else if (dogOwnershipRequestId !== undefined)\n url_ += \"dogOwnershipRequestId=\" + encodeURIComponent(\"\" + dogOwnershipRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogAvailable(_response));\n });\n }\n\n protected processIsDogAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogOwner(dogId: number | undefined, contactId: number | undefined, ownerIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/isDogOwner?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (contactId === null)\n throw new Error(\"The parameter 'contactId' cannot be null.\");\n else if (contactId !== undefined)\n url_ += \"contactId=\" + encodeURIComponent(\"\" + contactId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(ownerIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogOwner(_response));\n });\n }\n\n protected processIsDogOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isRSHCreationAllowed(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/isRSHCreationAllowed?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsRSHCreationAllowed(_response));\n });\n }\n\n protected processIsRSHCreationAllowed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogOwnershipChangeRequest(dogOwnershipChangeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest?\";\n if (dogOwnershipChangeRequestId === null)\n throw new Error(\"The parameter 'dogOwnershipChangeRequestId' cannot be null.\");\n else if (dogOwnershipChangeRequestId !== undefined)\n url_ += \"dogOwnershipChangeRequestId=\" + encodeURIComponent(\"\" + dogOwnershipChangeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogOwnershipChangeRequest(_response));\n });\n }\n\n protected processGetDogOwnershipChangeRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DogOwnershipChangeRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: DogOwnershipChangeRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogOwnershipChangeRequestDogId(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/getDogId?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogOwnershipChangeRequestDogId(_response));\n });\n }\n\n protected processGetDogOwnershipChangeRequestDogId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/closeDogOwnershipChangeRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseRequest(_response));\n });\n }\n\n protected processCloseRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogOwnershipChangeSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogOwnershipChangeRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogPedigreeApi {\n\n baseSearch(sObj: DogPedigreeSearch): Promise;\n\n addOrEditPedigree(dto: SaveNewPedigreeDto): Promise;\n\n getDogPedigree(pedigreeId: number | undefined): Promise;\n\n deleteDogPedigree(pedigreeId: number | undefined): Promise;\n\n pedigreeUnique(pedigree: string | null | undefined): Promise;\n\n testPedigreeExists(pedigreePrefixId: number | undefined, no: number | undefined): Promise;\n\n exportXlsFile(sObj: DogPedigreeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogPedigreeApi extends BaseAPI implements IDogPedigreeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogPedigreeSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogPedigreeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addOrEditPedigree(dto: SaveNewPedigreeDto): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree/AddOrEditPedigree\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddOrEditPedigree(_response));\n });\n }\n\n protected processAddOrEditPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogPedigree(pedigreeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree/GetDogPedigree?\";\n if (pedigreeId === null)\n throw new Error(\"The parameter 'pedigreeId' cannot be null.\");\n else if (pedigreeId !== undefined)\n url_ += \"pedigreeId=\" + encodeURIComponent(\"\" + pedigreeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogPedigree(_response));\n });\n }\n\n protected processGetDogPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveNewPedigreeDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteDogPedigree(pedigreeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree?\";\n if (pedigreeId === null)\n throw new Error(\"The parameter 'pedigreeId' cannot be null.\");\n else if (pedigreeId !== undefined)\n url_ += \"pedigreeId=\" + encodeURIComponent(\"\" + pedigreeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteDogPedigree(_response));\n });\n }\n\n protected processDeleteDogPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n pedigreeUnique(pedigree: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree/PedigreeUnique?\";\n if (pedigree !== undefined && pedigree !== null)\n url_ += \"pedigree=\" + encodeURIComponent(\"\" + pedigree) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processPedigreeUnique(_response));\n });\n }\n\n protected processPedigreeUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testPedigreeExists(pedigreePrefixId: number | undefined, no: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree/PedigreeExists?\";\n if (pedigreePrefixId === null)\n throw new Error(\"The parameter 'pedigreePrefixId' cannot be null.\");\n else if (pedigreePrefixId !== undefined)\n url_ += \"pedigreePrefixId=\" + encodeURIComponent(\"\" + pedigreePrefixId) + \"&\";\n if (no === null)\n throw new Error(\"The parameter 'no' cannot be null.\");\n else if (no !== undefined)\n url_ += \"no=\" + encodeURIComponent(\"\" + no) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestPedigreeExists(_response));\n });\n }\n\n protected processTestPedigreeExists(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogPedigreeSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogPedigree/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogPersonRelatedApi {\n\n getDogOwnership(dogOwnershipId: number | undefined): Promise;\n\n saveNewOwner(dto: SaveNewOwnerDto): Promise;\n\n deleteOwner(ownershipId: number | undefined): Promise;\n\n baseSearch(sObj: DogPersonRelatedSearch): Promise;\n\n exportXlsFile(sObj: DogPersonRelatedSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogPersonRelatedApi extends BaseAPI implements IDogPersonRelatedApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n getDogOwnership(dogOwnershipId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogPersonRelated?\";\n if (dogOwnershipId === null)\n throw new Error(\"The parameter 'dogOwnershipId' cannot be null.\");\n else if (dogOwnershipId !== undefined)\n url_ += \"dogOwnershipId=\" + encodeURIComponent(\"\" + dogOwnershipId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogOwnership(_response));\n });\n }\n\n protected processGetDogOwnership(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveNewOwnerDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewOwner(dto: SaveNewOwnerDto): Promise {\n let url_ = this.baseUrl + \"/api/DogPersonRelated\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewOwner(_response));\n });\n }\n\n protected processSaveNewOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteOwner(ownershipId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogPersonRelated?\";\n if (ownershipId === null)\n throw new Error(\"The parameter 'ownershipId' cannot be null.\");\n else if (ownershipId !== undefined)\n url_ += \"ownershipId=\" + encodeURIComponent(\"\" + ownershipId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteOwner(_response));\n });\n }\n\n protected processDeleteOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n baseSearch(sObj: DogPersonRelatedSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogPersonRelated/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogPersonRelatedGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogPersonRelatedSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogPersonRelated/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogPersonRelated/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogPersonRelated/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogResultsApi {\n\n baseSearch(sObj: DogCompetitionResultSearch): Promise;\n\n getIds(sObj: DogCompetitionResultSearch): Promise;\n\n getDogCompetitionResult(competitionResultId: number | undefined): Promise;\n\n saveNewResult(dto: SaveNewResultDto): Promise;\n\n deleteResult(resultId: number | undefined): Promise;\n\n exportXlsFile(sObj: DogCompetitionResultSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogResultsApi extends BaseAPI implements IDogResultsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogCompetitionResultSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogResults/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogCompetitionResultGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: DogCompetitionResultSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogResults/getIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogCompetitionResult(competitionResultId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogResults?\";\n if (competitionResultId === null)\n throw new Error(\"The parameter 'competitionResultId' cannot be null.\");\n else if (competitionResultId !== undefined)\n url_ += \"competitionResultId=\" + encodeURIComponent(\"\" + competitionResultId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogCompetitionResult(_response));\n });\n }\n\n protected processGetDogCompetitionResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveNewResultDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewResult(dto: SaveNewResultDto): Promise {\n let url_ = this.baseUrl + \"/api/DogResults\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewResult(_response));\n });\n }\n\n protected processSaveNewResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteResult(resultId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogResults?\";\n if (resultId === null)\n throw new Error(\"The parameter 'resultId' cannot be null.\");\n else if (resultId !== undefined)\n url_ += \"resultId=\" + encodeURIComponent(\"\" + resultId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteResult(_response));\n });\n }\n\n protected processDeleteResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogCompetitionResultSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogResults/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogResults/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogResults/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogsBreederApi {\n\n baseSearch(sObj: DogsBreederSearch): Promise;\n\n saveDogsBreeder(toSave: DogBreederSaveDto): Promise;\n\n deleteDogsBreeder(dogsBreederId: number | undefined): Promise;\n\n getAvailablePeople(sObj: AvailablePeopleSearch): Promise;\n\n exportXlsFile(sObj: DogsBreederSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogsBreederApi extends BaseAPI implements IDogsBreederApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogsBreederSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogsBreeder/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogsBreederGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDogsBreeder(toSave: DogBreederSaveDto): Promise {\n let url_ = this.baseUrl + \"/api/DogsBreeder/save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDogsBreeder(_response));\n });\n }\n\n protected processSaveDogsBreeder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteDogsBreeder(dogsBreederId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogsBreeder?\";\n if (dogsBreederId === null)\n throw new Error(\"The parameter 'dogsBreederId' cannot be null.\");\n else if (dogsBreederId !== undefined)\n url_ += \"dogsBreederId=\" + encodeURIComponent(\"\" + dogsBreederId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteDogsBreeder(_response));\n });\n }\n\n protected processDeleteDogsBreeder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAvailablePeople(sObj: AvailablePeopleSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogsBreeder/availablePeople\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAvailablePeople(_response));\n });\n }\n\n protected processGetAvailablePeople(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogsBreederSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogsBreeder/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogsBreeder/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogsBreeder/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogsTransientCharacteristicsApi {\n\n baseSearch(sObj: TransientCharacteristicsSearch): Promise;\n\n create(dogId: number | undefined, characteristicId: number | undefined, healthValueId: number | null | undefined, numericValue: number | null | undefined, alphaValue: string | null | undefined, characteristicFile: FileParameter | null | undefined): Promise;\n\n searchByDog(sObj: TransientCharacteristicByDogSearch): Promise;\n\n close(idsToValidate: number[]): Promise;\n\n assign(idsToAssign: number[]): Promise;\n\n validate(idsToValidate: number[]): Promise;\n\n exportXlsFile(sObj: TransientCharacteristicsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogsTransientCharacteristicsApi extends BaseAPI implements IDogsTransientCharacteristicsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: TransientCharacteristicsSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTransientCharacteristicGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n create(dogId: number | undefined, characteristicId: number | undefined, healthValueId: number | null | undefined, numericValue: number | null | undefined, alphaValue: string | null | undefined, characteristicFile: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/create\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (dogId === null || dogId === undefined)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else\n content_.append(\"DogId\", dogId.toString());\n if (characteristicId === null || characteristicId === undefined)\n throw new Error(\"The parameter 'characteristicId' cannot be null.\");\n else\n content_.append(\"CharacteristicId\", characteristicId.toString());\n if (healthValueId !== null && healthValueId !== undefined)\n content_.append(\"HealthValueId\", healthValueId.toString());\n if (numericValue !== null && numericValue !== undefined)\n content_.append(\"NumericValue\", numericValue.toString());\n if (alphaValue !== null && alphaValue !== undefined)\n content_.append(\"AlphaValue\", alphaValue.toString());\n if (characteristicFile !== null && characteristicFile !== undefined)\n content_.append(\"CharacteristicFile\", characteristicFile.data, characteristicFile.fileName ? characteristicFile.fileName : \"CharacteristicFile\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\n });\n }\n\n protected processCreate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchByDog(sObj: TransientCharacteristicByDogSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/searchByDog\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchByDog(_response));\n });\n }\n\n protected processSearchByDog(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogHealthTestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(idsToValidate: number[]): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/close\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(idsToValidate);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n assign(idsToAssign: number[]): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/assign\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(idsToAssign);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAssign(_response));\n });\n }\n\n protected processAssign(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n validate(idsToValidate: number[]): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/validate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(idsToValidate);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processValidate(_response));\n });\n }\n\n protected processValidate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: TransientCharacteristicsSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogsTransientCharacteristics/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogTitlesApi {\n\n baseSearch(sObj: DogTitleSearch): Promise;\n\n isTitleAvailable(dogId: number | undefined, titleId: number | undefined, year: number | undefined): Promise;\n\n getdogTitleAs400(dogId: number | undefined): Promise;\n\n saveNewDogTitle(dto: SaveNewDogTitleDto): Promise;\n\n deleteDogTitle(titleId: number | undefined): Promise;\n\n updateDogTitleAs400(dogId: number | undefined, as400Ttile: string | null | undefined): Promise;\n\n exportXlsFile(sObj: DogTitleSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogTitlesApi extends BaseAPI implements IDogTitlesApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogTitleSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogTitlesGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isTitleAvailable(dogId: number | undefined, titleId: number | undefined, year: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles/isTitleAvailable?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (titleId === null)\n throw new Error(\"The parameter 'titleId' cannot be null.\");\n else if (titleId !== undefined)\n url_ += \"titleId=\" + encodeURIComponent(\"\" + titleId) + \"&\";\n if (year === null)\n throw new Error(\"The parameter 'year' cannot be null.\");\n else if (year !== undefined)\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsTitleAvailable(_response));\n });\n }\n\n protected processIsTitleAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getdogTitleAs400(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles/getdogTitleAs400?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetdogTitleAs400(_response));\n });\n }\n\n protected processGetdogTitleAs400(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = As400TitleDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewDogTitle(dto: SaveNewDogTitleDto): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewDogTitle(_response));\n });\n }\n\n protected processSaveNewDogTitle(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteDogTitle(titleId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles?\";\n if (titleId === null)\n throw new Error(\"The parameter 'titleId' cannot be null.\");\n else if (titleId !== undefined)\n url_ += \"titleId=\" + encodeURIComponent(\"\" + titleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteDogTitle(_response));\n });\n }\n\n protected processDeleteDogTitle(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateDogTitleAs400(dogId: number | undefined, as400Ttile: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles/updateDogTitleAS400?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (as400Ttile !== undefined && as400Ttile !== null)\n url_ += \"as400Ttile=\" + encodeURIComponent(\"\" + as400Ttile) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateDogTitleAs400(_response));\n });\n }\n\n protected processUpdateDogTitleAs400(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogTitleSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogTitles/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogTransientOwnersApi {\n\n baseSearch(sObj: TransientOwnerSearch): Promise;\n\n getIds(sObj: TransientOwnerSearch): Promise;\n\n exportXlsFile(sObj: TransientOwnerSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogTransientOwnersApi extends BaseAPI implements IDogTransientOwnersApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: TransientOwnerSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogTransientOwners/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTransientOwnerGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: TransientOwnerSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogTransientOwners/Ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: TransientOwnerSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogTransientOwners/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogTransientOwners/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogTransientOwners/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDogWorkbookApi {\n\n baseSearch(sObj: DogWorkbookSearch): Promise;\n\n saveNewWorkbook(dto: SaveNewWorkbookDto): Promise;\n\n dogWorkbookAvailable(dogId: number | undefined): Promise;\n\n getWorkbook(workbookId: number | undefined): Promise;\n\n getWorkbookInformation(workbookTypeId: number | undefined, dogId: number | undefined, isWorkbookRequest: boolean | undefined): Promise;\n\n isWorkbookRequestOngoing(workbookTypeId: number | undefined, dogId: number | undefined): Promise;\n\n exportXlsFile(sObj: DogWorkbookSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DogWorkbookApi extends BaseAPI implements IDogWorkbookApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogWorkbookSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfWorkbookGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewWorkbook(dto: SaveNewWorkbookDto): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewWorkbook(_response));\n });\n }\n\n protected processSaveNewWorkbook(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n dogWorkbookAvailable(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook/testWorkbookAvailability?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDogWorkbookAvailable(_response));\n });\n }\n\n protected processDogWorkbookAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWorkbook(workbookId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook/getWorkbook?\";\n if (workbookId === null)\n throw new Error(\"The parameter 'workbookId' cannot be null.\");\n else if (workbookId !== undefined)\n url_ += \"workbookId=\" + encodeURIComponent(\"\" + workbookId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWorkbook(_response));\n });\n }\n\n protected processGetWorkbook(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveNewWorkbookDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWorkbookInformation(workbookTypeId: number | undefined, dogId: number | undefined, isWorkbookRequest: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook/getWorkbookInformation?\";\n if (workbookTypeId === null)\n throw new Error(\"The parameter 'workbookTypeId' cannot be null.\");\n else if (workbookTypeId !== undefined)\n url_ += \"workbookTypeId=\" + encodeURIComponent(\"\" + workbookTypeId) + \"&\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (isWorkbookRequest === null)\n throw new Error(\"The parameter 'isWorkbookRequest' cannot be null.\");\n else if (isWorkbookRequest !== undefined)\n url_ += \"isWorkbookRequest=\" + encodeURIComponent(\"\" + isWorkbookRequest) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWorkbookInformation(_response));\n });\n }\n\n protected processGetWorkbookInformation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = NewWorkbookInformationDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isWorkbookRequestOngoing(workbookTypeId: number | undefined, dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook/workbookOngoing?\";\n if (workbookTypeId === null)\n throw new Error(\"The parameter 'workbookTypeId' cannot be null.\");\n else if (workbookTypeId !== undefined)\n url_ += \"workbookTypeId=\" + encodeURIComponent(\"\" + workbookTypeId) + \"&\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsWorkbookRequestOngoing(_response));\n });\n }\n\n protected processIsWorkbookRequestOngoing(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogWorkbookSearch): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DogWorkbook/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDysplasiaApi {\n\n baseSearch(sObj: DysplasiaSearch): Promise;\n\n get(dysplasiaRequestId: number | undefined, languageId: number | undefined): Promise;\n\n saveDysplasiaEvaluation(dto: DysplasiaDto): Promise;\n\n getAllDysplasiaTypes(): Promise;\n\n getComissionPageInfo(dysplasiaRequestId: number | undefined): Promise;\n\n getDysplasiaReport(dto: DysplasiaReportInfoDto): Promise;\n\n searchDysplasiaUserResult(sObj: UserDysplasiaResultSearch): Promise;\n\n exportXlsFile(sObj: DysplasiaSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DysplasiaApi extends BaseAPI implements IDysplasiaApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DysplasiaSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDysplasiaGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(dysplasiaRequestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia?\";\n if (dysplasiaRequestId === null)\n throw new Error(\"The parameter 'dysplasiaRequestId' cannot be null.\");\n else if (dysplasiaRequestId !== undefined)\n url_ += \"dysplasiaRequestId=\" + encodeURIComponent(\"\" + dysplasiaRequestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DysplasiaDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDysplasiaEvaluation(dto: DysplasiaDto): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDysplasiaEvaluation(_response));\n });\n }\n\n protected processSaveDysplasiaEvaluation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllDysplasiaTypes(): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia/getAllDysplasiaTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllDysplasiaTypes(_response));\n });\n }\n\n protected processGetAllDysplasiaTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DysplasiaTypeDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getComissionPageInfo(dysplasiaRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia/getComissionPageInfo?\";\n if (dysplasiaRequestId === null)\n throw new Error(\"The parameter 'dysplasiaRequestId' cannot be null.\");\n else if (dysplasiaRequestId !== undefined)\n url_ += \"dysplasiaRequestId=\" + encodeURIComponent(\"\" + dysplasiaRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetComissionPageInfo(_response));\n });\n }\n\n protected processGetComissionPageInfo(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ComissionPageInfoDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDysplasiaReport(dto: DysplasiaReportInfoDto): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia/getDysplasiaReport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDysplasiaReport(_response));\n });\n }\n\n protected processGetDysplasiaReport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchDysplasiaUserResult(sObj: UserDysplasiaResultSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia/searchDysplasiaUserResult\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchDysplasiaUserResult(_response));\n });\n }\n\n protected processSearchDysplasiaUserResult(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfUserDysplasiaResultGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DysplasiaSearch): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Dysplasia/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IDysplasiaRequestApi {\n\n baseSearch(sObj: DysplasiaRequestSearch): Promise;\n\n get(dysplasiaRequestId: number | undefined): Promise;\n\n save(toSave: DysplasiaRequestDto): Promise;\n\n downloadDysplasiaFile(sharepointUri: string | null | undefined, fileName: string | null | undefined): Promise;\n\n getDysplasiaFileList(sharepointUri: string | null | undefined): Promise;\n\n getAppealRequest(requestId: number | undefined): Promise;\n\n getSubRequest(masterRequestId: number | undefined, languageId: number | undefined): Promise;\n\n regenerateDysplasiaCertificate(requestId: number | undefined): Promise;\n\n close(requestId: number | undefined): Promise;\n\n isDogAvailable(dogId: number | undefined, dysplasiaRequestId: number | undefined): Promise;\n\n exportXlsFile(sObj: DysplasiaRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class DysplasiaRequestApi extends BaseAPI implements IDysplasiaRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DysplasiaRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDysplasiaRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(dysplasiaRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest?\";\n if (dysplasiaRequestId === null)\n throw new Error(\"The parameter 'dysplasiaRequestId' cannot be null.\");\n else if (dysplasiaRequestId !== undefined)\n url_ += \"DysplasiaRequestId=\" + encodeURIComponent(\"\" + dysplasiaRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DysplasiaRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(toSave: DysplasiaRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n downloadDysplasiaFile(sharepointUri: string | null | undefined, fileName: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/DownloadDysplasiaDoc?\";\n if (sharepointUri !== undefined && sharepointUri !== null)\n url_ += \"sharepointUri=\" + encodeURIComponent(\"\" + sharepointUri) + \"&\";\n if (fileName !== undefined && fileName !== null)\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDownloadDysplasiaFile(_response));\n });\n }\n\n protected processDownloadDysplasiaFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDysplasiaFileList(sharepointUri: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/GetDysplasiaFileList?\";\n if (sharepointUri !== undefined && sharepointUri !== null)\n url_ += \"sharepointUri=\" + encodeURIComponent(\"\" + sharepointUri) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDysplasiaFileList(_response));\n });\n }\n\n protected processGetDysplasiaFileList(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ShpDocumentDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAppealRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/getAppealRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAppealRequest(_response));\n });\n }\n\n protected processGetAppealRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DysplasiaRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSubRequest(masterRequestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/getSubRequest?\";\n if (masterRequestId === null)\n throw new Error(\"The parameter 'masterRequestId' cannot be null.\");\n else if (masterRequestId !== undefined)\n url_ += \"masterRequestId=\" + encodeURIComponent(\"\" + masterRequestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSubRequest(_response));\n });\n }\n\n protected processGetSubRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DysplasiaRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenerateDysplasiaCertificate(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/RegenerateDysplasiaCertificate?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenerateDysplasiaCertificate(_response));\n });\n }\n\n protected processRegenerateDysplasiaCertificate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/close?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogAvailable(dogId: number | undefined, dysplasiaRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/dogAvailability?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (dysplasiaRequestId === null)\n throw new Error(\"The parameter 'dysplasiaRequestId' cannot be null.\");\n else if (dysplasiaRequestId !== undefined)\n url_ += \"dysplasiaRequestId=\" + encodeURIComponent(\"\" + dysplasiaRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogAvailable(_response));\n });\n }\n\n protected processIsDogAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DysplasiaRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/DysplasiaRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IEmailApi {\n\n baseSearch(sObj: EmailSearch): Promise;\n\n getDisplayName(mailTemplateId: number | undefined): Promise;\n\n getEmail(mailTemplateId: number | undefined): Promise;\n\n saveEmail(toSave: EmailDto): Promise;\n\n export(): Promise;\n\n upload(file: FileParameter | null | undefined): Promise;\n\n exportXlsFile(sObj: EmailSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class EmailApi extends BaseAPI implements IEmailApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: EmailSearch): Promise {\n let url_ = this.baseUrl + \"/api/Email/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfEmailGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(mailTemplateId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Email/displayName?\";\n if (mailTemplateId === null)\n throw new Error(\"The parameter 'mailTemplateId' cannot be null.\");\n else if (mailTemplateId !== undefined)\n url_ += \"mailTemplateId=\" + encodeURIComponent(\"\" + mailTemplateId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getEmail(mailTemplateId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Email?\";\n if (mailTemplateId === null)\n throw new Error(\"The parameter 'mailTemplateId' cannot be null.\");\n else if (mailTemplateId !== undefined)\n url_ += \"mailTemplateId=\" + encodeURIComponent(\"\" + mailTemplateId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetEmail(_response));\n });\n }\n\n protected processGetEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = EmailDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveEmail(toSave: EmailDto): Promise {\n let url_ = this.baseUrl + \"/api/Email/save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveEmail(_response));\n });\n }\n\n protected processSaveEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n export(): Promise {\n let url_ = this.baseUrl + \"/api/Email/export\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExport(_response));\n });\n }\n\n protected processExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDownload.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n upload(file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Email/upload\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpload(_response));\n });\n }\n\n protected processUpload(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: EmailSearch): Promise {\n let url_ = this.baseUrl + \"/api/Email/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Email/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Email/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IExpatriationRequestApi {\n\n baseSearch(sObj: ExpatriationRequestSearchDto): Promise;\n\n getExpatriationRequest(expatriationRequestId: number | undefined): Promise;\n\n save(toSave: ExpatriationRequestDto): Promise;\n\n getExpatriationRequestIsForeignDog(expatRequestId: number | undefined): Promise;\n\n closeExpatriationRequest(requestId: number | undefined): Promise;\n\n getDisplayName(expatriationRequestId: number | undefined): Promise;\n\n exportXlsFile(sObj: ExpatriationRequestSearchDto): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ExpatriationRequestApi extends BaseAPI implements IExpatriationRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ExpatriationRequestSearchDto): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfExpatriationRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getExpatriationRequest(expatriationRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest?\";\n if (expatriationRequestId === null)\n throw new Error(\"The parameter 'expatriationRequestId' cannot be null.\");\n else if (expatriationRequestId !== undefined)\n url_ += \"expatriationRequestId=\" + encodeURIComponent(\"\" + expatriationRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetExpatriationRequest(_response));\n });\n }\n\n protected processGetExpatriationRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ExpatriationRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(toSave: ExpatriationRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getExpatriationRequestIsForeignDog(expatRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest/is-foreign-dog?\";\n if (expatRequestId === null)\n throw new Error(\"The parameter 'expatRequestId' cannot be null.\");\n else if (expatRequestId !== undefined)\n url_ += \"expatRequestId=\" + encodeURIComponent(\"\" + expatRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetExpatriationRequestIsForeignDog(_response));\n });\n }\n\n protected processGetExpatriationRequestIsForeignDog(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeExpatriationRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest/CloseExpatriationRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseExpatriationRequest(_response));\n });\n }\n\n protected processCloseExpatriationRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(expatriationRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest/GetDisplayName?\";\n if (expatriationRequestId === null)\n throw new Error(\"The parameter 'expatriationRequestId' cannot be null.\");\n else if (expatriationRequestId !== undefined)\n url_ += \"expatriationRequestId=\" + encodeURIComponent(\"\" + expatriationRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ExpatriationRequestSearchDto): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ExpatriationRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IHealthPackApi {\n\n baseSearch(sObj: HealthPackSearch): Promise;\n\n getHealthPack(healthPackId: number | undefined): Promise;\n\n save(dto: HealthPackDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n getIds(sObj: HealthPackSearch): Promise;\n\n getDisplayName(healthPackId: number | undefined): Promise;\n\n exportXlsFile(sObj: HealthPackSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class HealthPackApi extends BaseAPI implements IHealthPackApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: HealthPackSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfHealthPackGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getHealthPack(healthPackId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack?\";\n if (healthPackId === null)\n throw new Error(\"The parameter 'healthPackId' cannot be null.\");\n else if (healthPackId !== undefined)\n url_ += \"healthPackId=\" + encodeURIComponent(\"\" + healthPackId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHealthPack(_response));\n });\n }\n\n protected processGetHealthPack(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HealthPackDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: HealthPackDto): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: HealthPackSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack/getIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(healthPackId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack/DisplayName?\";\n if (healthPackId === null)\n throw new Error(\"The parameter 'healthPackId' cannot be null.\");\n else if (healthPackId !== undefined)\n url_ += \"healthPackId=\" + encodeURIComponent(\"\" + healthPackId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: HealthPackSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/HealthPack/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IHealthTestRequestApi {\n\n baseSearch(sObj: HealthTestRequestSearch): Promise;\n\n searchLinkedSingleHealthTests(sObj: BaseHealthTestRequestSearch): Promise;\n\n get(healthTestRequestId: number | undefined): Promise;\n\n save(dto: HealthTestRequestDto): Promise;\n\n getBlockedHealthTests(healthTestRequestId: number | undefined, dogId: number | null | undefined): Promise;\n\n getLab(healthTestRequestId: number | undefined): Promise;\n\n getSubRequest(masterRequestId: number | undefined): Promise;\n\n close(requestId: number | undefined): Promise;\n\n createProgenusOrder(healthTestRequestId: number | undefined): Promise;\n\n createZoolyxOrder(healthTestRequestId: number | undefined): Promise;\n\n exportXlsFile(sObj: HealthTestRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class HealthTestRequestApi extends BaseAPI implements IHealthTestRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: HealthTestRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfHealthTestRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchLinkedSingleHealthTests(sObj: BaseHealthTestRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/searchLinkedSingleHealthTests\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchLinkedSingleHealthTests(_response));\n });\n }\n\n protected processSearchLinkedSingleHealthTests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCharacteristicsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(healthTestRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest?\";\n if (healthTestRequestId === null)\n throw new Error(\"The parameter 'healthTestRequestId' cannot be null.\");\n else if (healthTestRequestId !== undefined)\n url_ += \"healthTestRequestId=\" + encodeURIComponent(\"\" + healthTestRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HealthTestRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: HealthTestRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBlockedHealthTests(healthTestRequestId: number | undefined, dogId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/getBlockedHealthTests?\";\n if (healthTestRequestId === null)\n throw new Error(\"The parameter 'healthTestRequestId' cannot be null.\");\n else if (healthTestRequestId !== undefined)\n url_ += \"healthTestRequestId=\" + encodeURIComponent(\"\" + healthTestRequestId) + \"&\";\n if (dogId !== undefined && dogId !== null)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBlockedHealthTests(_response));\n });\n }\n\n protected processGetBlockedHealthTests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BlockedHealthTestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLab(healthTestRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/getLab?\";\n if (healthTestRequestId === null)\n throw new Error(\"The parameter 'healthTestRequestId' cannot be null.\");\n else if (healthTestRequestId !== undefined)\n url_ += \"healthTestRequestId=\" + encodeURIComponent(\"\" + healthTestRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLab(_response));\n });\n }\n\n protected processGetLab(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSubRequest(masterRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/getSubRequest?\";\n if (masterRequestId === null)\n throw new Error(\"The parameter 'masterRequestId' cannot be null.\");\n else if (masterRequestId !== undefined)\n url_ += \"masterRequestId=\" + encodeURIComponent(\"\" + masterRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSubRequest(_response));\n });\n }\n\n protected processGetSubRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HealthTestRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/close?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createProgenusOrder(healthTestRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/createProgenusOrder?\";\n if (healthTestRequestId === null)\n throw new Error(\"The parameter 'healthTestRequestId' cannot be null.\");\n else if (healthTestRequestId !== undefined)\n url_ += \"healthTestRequestId=\" + encodeURIComponent(\"\" + healthTestRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateProgenusOrder(_response));\n });\n }\n\n protected processCreateProgenusOrder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createZoolyxOrder(healthTestRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/createZoolyxOrder?\";\n if (healthTestRequestId === null)\n throw new Error(\"The parameter 'healthTestRequestId' cannot be null.\");\n else if (healthTestRequestId !== undefined)\n url_ += \"healthTestRequestId=\" + encodeURIComponent(\"\" + healthTestRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateZoolyxOrder(_response));\n });\n }\n\n protected processCreateZoolyxOrder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: HealthTestRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IHealthTestRequestHealthPacksApi {\n\n baseSearch(sObj: HealthRequestPacksSearch): Promise;\n\n searchLinkedHealthPacks(sObj: HealthRequestPacksSearch): Promise;\n\n exportXlsFile(sObj: HealthRequestPacksSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class HealthTestRequestHealthPacksApi extends BaseAPI implements IHealthTestRequestHealthPacksApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: HealthRequestPacksSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequestHealthPacks/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfHealthTestRequestPackGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchLinkedHealthPacks(sObj: HealthRequestPacksSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequestHealthPacks/searchLinkedHalthPacks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchLinkedHealthPacks(_response));\n });\n }\n\n protected processSearchLinkedHealthPacks(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfHealthTestRequestPackGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: HealthRequestPacksSearch): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequestHealthPacks/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequestHealthPacks/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/HealthTestRequestHealthPacks/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IImportRequestApi {\n\n baseSearch(sObj: ImportRequestSearch): Promise;\n\n get(importRequestId: number | undefined): Promise;\n\n save(dto: ImportRequestDto): Promise;\n\n regenExecutionDocuments(importRequestId: number | undefined): Promise;\n\n isDogAvailable(dogId: number | undefined, importRequestId: number | undefined): Promise;\n\n checkOnDogPedigree(dogId: number | undefined): Promise;\n\n checkTransientOwnerCountries(ownerIds: number[]): Promise;\n\n close(requestId: number | undefined): Promise;\n\n reprintDocument(importRequestId: number | undefined): Promise;\n\n exportXlsFile(sObj: ImportRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ImportRequestApi extends BaseAPI implements IImportRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ImportRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfImportRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(importRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest?\";\n if (importRequestId === null)\n throw new Error(\"The parameter 'importRequestId' cannot be null.\");\n else if (importRequestId !== undefined)\n url_ += \"importRequestId=\" + encodeURIComponent(\"\" + importRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ImportRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: ImportRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenExecutionDocuments(importRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/regenExecution?\";\n if (importRequestId === null)\n throw new Error(\"The parameter 'importRequestId' cannot be null.\");\n else if (importRequestId !== undefined)\n url_ += \"importRequestId=\" + encodeURIComponent(\"\" + importRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenExecutionDocuments(_response));\n });\n }\n\n protected processRegenExecutionDocuments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogAvailable(dogId: number | undefined, importRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/isDogAvailable?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (importRequestId === null)\n throw new Error(\"The parameter 'importRequestId' cannot be null.\");\n else if (importRequestId !== undefined)\n url_ += \"importRequestId=\" + encodeURIComponent(\"\" + importRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogAvailable(_response));\n });\n }\n\n protected processIsDogAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkOnDogPedigree(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/checkOnDogPedigree?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckOnDogPedigree(_response));\n });\n }\n\n protected processCheckOnDogPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkTransientOwnerCountries(ownerIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/checkTransientOwnerCountries\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(ownerIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckTransientOwnerCountries(_response));\n });\n }\n\n protected processCheckTransientOwnerCountries(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/close?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintDocument(importRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/reprintDocument?\";\n if (importRequestId === null)\n throw new Error(\"The parameter 'importRequestId' cannot be null.\");\n else if (importRequestId !== undefined)\n url_ += \"importRequestId=\" + encodeURIComponent(\"\" + importRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintDocument(_response));\n });\n }\n\n protected processReprintDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ImportRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IImportRequestTransientOwnersApi {\n\n baseSearch(sObj: ImportRequestTransientOwnersSearch): Promise;\n\n getIds(sObj: ImportRequestTransientOwnersSearch): Promise;\n\n exportXlsFile(sObj: ImportRequestTransientOwnersSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ImportRequestTransientOwnersApi extends BaseAPI implements IImportRequestTransientOwnersApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ImportRequestTransientOwnersSearch): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequestTransientOwners/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfImportRequestTransientOwnersGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: ImportRequestTransientOwnersSearch): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequestTransientOwners/Ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ImportRequestTransientOwnersSearch): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequestTransientOwners/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequestTransientOwners/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ImportRequestTransientOwners/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IIngenicoApi {\n\n ok(): Promise;\n\n nok(): Promise;\n}\n\nexport class IngenicoApi extends BaseAPI implements IIngenicoApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n ok(): Promise {\n let url_ = this.baseUrl + \"/api/Ingenico/ok\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processOk(_response));\n });\n }\n\n protected processOk(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n nok(): Promise {\n let url_ = this.baseUrl + \"/api/Ingenico/nok\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processNok(_response));\n });\n }\n\n protected processNok(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IJudgeApi {\n\n baseSearch(sObj: JudgeSearch): Promise;\n\n judgeInformations(personId: number | undefined): Promise;\n\n saveJudgeInformations(judgeInformationDto: JudgeInformationDto): Promise;\n\n searchJudgeByBreed(breedId: number | undefined): Promise;\n\n searchAllIds(sObj: JudgeSearch): Promise;\n\n exportXlsFile(sObj: JudgeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class JudgeApi extends BaseAPI implements IJudgeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: JudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/Judge/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n judgeInformations(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Judge/judge?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processJudgeInformations(_response));\n });\n }\n\n protected processJudgeInformations(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = JudgeInformationDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveJudgeInformations(judgeInformationDto: JudgeInformationDto): Promise {\n let url_ = this.baseUrl + \"/api/Judge/saveJudgeInformations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(judgeInformationDto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveJudgeInformations(_response));\n });\n }\n\n protected processSaveJudgeInformations(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchJudgeByBreed(breedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Judge/SearchByBreed?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchJudgeByBreed(_response));\n });\n }\n\n protected processSearchJudgeByBreed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchAllIds(sObj: JudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/Judge/Ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchAllIds(_response));\n });\n }\n\n protected processSearchAllIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: JudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/Judge/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Judge/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Judge/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IJudgeTransientBreedApi {\n\n baseSearch(sObj: JudgeTransientBreedSearch): Promise;\n\n removeJudgeTransientBreeds(breedJudgeTransientIds: number[]): Promise;\n\n validateJudgeTransientBreeds(breedJudgeTransientIds: number[]): Promise;\n\n exportXlsFile(sObj: JudgeTransientBreedSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class JudgeTransientBreedApi extends BaseAPI implements IJudgeTransientBreedApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: JudgeTransientBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/JudgeTransientBreed/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfJudgeTransientBreedGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n removeJudgeTransientBreeds(breedJudgeTransientIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/JudgeTransientBreed/RemoveJudgeTransientBreeds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(breedJudgeTransientIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveJudgeTransientBreeds(_response));\n });\n }\n\n protected processRemoveJudgeTransientBreeds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n validateJudgeTransientBreeds(breedJudgeTransientIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/JudgeTransientBreed/ValidateJudgeTransientBreeds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(breedJudgeTransientIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processValidateJudgeTransientBreeds(_response));\n });\n }\n\n protected processValidateJudgeTransientBreeds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: JudgeTransientBreedSearch): Promise {\n let url_ = this.baseUrl + \"/api/JudgeTransientBreed/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/JudgeTransientBreed/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/JudgeTransientBreed/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IKennelApi {\n\n baseSearch(sObj: KennelSearch): Promise;\n\n get(id: number | undefined): Promise;\n\n save(dto: KennelDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n getDisplayName(id: number | undefined): Promise;\n\n isKennelExcluded(id: number | undefined): Promise;\n\n getKennelType(id: number | undefined): Promise;\n\n getKennelOwnership(kennelOwnershipId: number | undefined): Promise;\n\n addNewKennelOwner(dto: SaveKennelOwnerDto): Promise;\n\n getAllowedBreedsIds(kennelId: number | undefined): Promise;\n\n isKennelBelgian(kennelId: number | undefined): Promise;\n\n saveLinkedBreeds(dto: KennelSaveBreedsDto): Promise;\n\n closeKennel(kennelId: number | undefined): Promise;\n\n createInSharepoint(kennelId: number): Promise;\n\n exportXlsFile(sObj: KennelSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class KennelApi extends BaseAPI implements IKennelApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: KennelSearch): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfKennelGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = KennelDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: KennelDto): Promise {\n let url_ = this.baseUrl + \"/api/Kennel\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = KennelDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isKennelExcluded(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/kennelExcluded?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsKennelExcluded(_response));\n });\n }\n\n protected processIsKennelExcluded(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getKennelType(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/GetKennelType?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetKennelType(_response));\n });\n }\n\n protected processGetKennelType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getKennelOwnership(kennelOwnershipId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/getKennelOwnership?\";\n if (kennelOwnershipId === null)\n throw new Error(\"The parameter 'kennelOwnershipId' cannot be null.\");\n else if (kennelOwnershipId !== undefined)\n url_ += \"kennelOwnershipId=\" + encodeURIComponent(\"\" + kennelOwnershipId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetKennelOwnership(_response));\n });\n }\n\n protected processGetKennelOwnership(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveKennelOwnerDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addNewKennelOwner(dto: SaveKennelOwnerDto): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/saveNewKennelOwner\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddNewKennelOwner(_response));\n });\n }\n\n protected processAddNewKennelOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllowedBreedsIds(kennelId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/GetAllowedBreedsIds?\";\n if (kennelId === null)\n throw new Error(\"The parameter 'kennelId' cannot be null.\");\n else if (kennelId !== undefined)\n url_ += \"kennelId=\" + encodeURIComponent(\"\" + kennelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllowedBreedsIds(_response));\n });\n }\n\n protected processGetAllowedBreedsIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = KennelSaveBreedsDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isKennelBelgian(kennelId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/IsKennelBelgian?\";\n if (kennelId === null)\n throw new Error(\"The parameter 'kennelId' cannot be null.\");\n else if (kennelId !== undefined)\n url_ += \"kennelId=\" + encodeURIComponent(\"\" + kennelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsKennelBelgian(_response));\n });\n }\n\n protected processIsKennelBelgian(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveLinkedBreeds(dto: KennelSaveBreedsDto): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/SaveAllowedBreeds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveLinkedBreeds(_response));\n });\n }\n\n protected processSaveLinkedBreeds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = KennelSaveBreedsDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeKennel(kennelId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/CloseKennel?\";\n if (kennelId === null)\n throw new Error(\"The parameter 'kennelId' cannot be null.\");\n else if (kennelId !== undefined)\n url_ += \"kennelId=\" + encodeURIComponent(\"\" + kennelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseKennel(_response));\n });\n }\n\n protected processCloseKennel(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createInSharepoint(kennelId: number): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/CreateInSharepoint/{kennelId}\";\n if (kennelId === undefined || kennelId === null)\n throw new Error(\"The parameter 'kennelId' must be defined.\");\n url_ = url_.replace(\"{kennelId}\", encodeURIComponent(\"\" + kennelId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateInSharepoint(_response));\n });\n }\n\n protected processCreateInSharepoint(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: KennelSearch): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Kennel/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IKennelDogApi {\n\n baseSearch(sObj: KennelDogSearch): Promise;\n\n exportXlsFile(sObj: KennelDogSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class KennelDogApi extends BaseAPI implements IKennelDogApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: KennelDogSearch): Promise {\n let url_ = this.baseUrl + \"/api/KennelDog/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfKennelDogDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: KennelDogSearch): Promise {\n let url_ = this.baseUrl + \"/api/KennelDog/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/KennelDog/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/KennelDog/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IKennelOwnerApi {\n\n baseSearch(sObj: KennelOwnerSearch): Promise;\n\n getIds(sObj: KennelOwnerSearch): Promise;\n\n exportXlsFile(sObj: KennelOwnerSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class KennelOwnerApi extends BaseAPI implements IKennelOwnerApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: KennelOwnerSearch): Promise {\n let url_ = this.baseUrl + \"/api/KennelOwner/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfKennelOwnerDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: KennelOwnerSearch): Promise {\n let url_ = this.baseUrl + \"/api/KennelOwner/Ids\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: KennelOwnerSearch): Promise {\n let url_ = this.baseUrl + \"/api/KennelOwner/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/KennelOwner/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/KennelOwner/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ILanguageApi {\n\n getLanguages(hasTranslation: boolean | undefined): Promise;\n\n getByLanguageId(languageId: number | undefined): Promise;\n\n getDisplayName(languageId: number | undefined): Promise;\n\n deleteLanguage(languageId: number | undefined): Promise;\n\n save(dto: LanguageDto): Promise;\n\n baseSearch(sObj: LanguageSearchDto): Promise;\n\n exportXlsFile(sObj: LanguageSearchDto): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class LanguageApi extends BaseAPI implements ILanguageApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n getLanguages(hasTranslation: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Language/languages?\";\n if (hasTranslation === null)\n throw new Error(\"The parameter 'hasTranslation' cannot be null.\");\n else if (hasTranslation !== undefined)\n url_ += \"hasTranslation=\" + encodeURIComponent(\"\" + hasTranslation) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLanguages(_response));\n });\n }\n\n protected processGetLanguages(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LanguageDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByLanguageId(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Language/GetByLanguageId?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetByLanguageId(_response));\n });\n }\n\n protected processGetByLanguageId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = LanguageDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Language/GetDisplayName?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteLanguage(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Language?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteLanguage(_response));\n });\n }\n\n protected processDeleteLanguage(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: LanguageDto): Promise {\n let url_ = this.baseUrl + \"/api/Language\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n baseSearch(sObj: LanguageSearchDto): Promise {\n let url_ = this.baseUrl + \"/api/Language/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfLanguageGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: LanguageSearchDto): Promise {\n let url_ = this.baseUrl + \"/api/Language/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Language/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Language/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ILinkedRequestsApi {\n\n baseSearch(sObj: LinkedRequestsSearch): Promise;\n\n exportXlsFile(sObj: LinkedRequestsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class LinkedRequestsApi extends BaseAPI implements ILinkedRequestsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: LinkedRequestsSearch): Promise {\n let url_ = this.baseUrl + \"/api/LinkedRequests/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: LinkedRequestsSearch): Promise {\n let url_ = this.baseUrl + \"/api/LinkedRequests/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/LinkedRequests/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/LinkedRequests/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IMailAdminApi {\n\n baseSearch(sObj: MailSearch): Promise;\n\n exportXlsFile(sObj: MailSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class MailAdminApi extends BaseAPI implements IMailAdminApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: MailSearch): Promise {\n let url_ = this.baseUrl + \"/api/MailAdmin/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfMailLogGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: MailSearch): Promise {\n let url_ = this.baseUrl + \"/api/MailAdmin/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MailAdmin/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/MailAdmin/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IMembershipHIstoryApi {\n\n baseSearch(sObj: BasePersonSearch): Promise;\n\n saveMembershipHistory(dto: SaveMembershipHistoryDto): Promise;\n\n deleteMembershipHistory(membershipHistoryId: number | undefined): Promise;\n\n disableRenewal(membershipHistoryId: number | undefined): Promise;\n\n testMembershipHistoryExistance(dateTo: Date | undefined, dateFrom: Date | undefined, personId: number | undefined): Promise;\n\n exportXlsFile(sObj: BasePersonSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class MembershipHIstoryApi extends BaseAPI implements IMembershipHIstoryApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BasePersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/MembershipHIstory/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonMembershipHistoryGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveMembershipHistory(dto: SaveMembershipHistoryDto): Promise {\n let url_ = this.baseUrl + \"/api/MembershipHIstory\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveMembershipHistory(_response));\n });\n }\n\n protected processSaveMembershipHistory(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteMembershipHistory(membershipHistoryId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipHIstory?\";\n if (membershipHistoryId === null)\n throw new Error(\"The parameter 'membershipHistoryId' cannot be null.\");\n else if (membershipHistoryId !== undefined)\n url_ += \"membershipHistoryId=\" + encodeURIComponent(\"\" + membershipHistoryId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteMembershipHistory(_response));\n });\n }\n\n protected processDeleteMembershipHistory(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n disableRenewal(membershipHistoryId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipHIstory/disableRenewal?\";\n if (membershipHistoryId === null)\n throw new Error(\"The parameter 'membershipHistoryId' cannot be null.\");\n else if (membershipHistoryId !== undefined)\n url_ += \"membershipHistoryId=\" + encodeURIComponent(\"\" + membershipHistoryId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDisableRenewal(_response));\n });\n }\n\n protected processDisableRenewal(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testMembershipHistoryExistance(dateTo: Date | undefined, dateFrom: Date | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipHIstory/HistoryTest?\";\n if (dateTo === null)\n throw new Error(\"The parameter 'dateTo' cannot be null.\");\n else if (dateTo !== undefined)\n url_ += \"dateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toISOString() : \"\") + \"&\";\n if (dateFrom === null)\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\n else if (dateFrom !== undefined)\n url_ += \"dateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toISOString() : \"\") + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestMembershipHistoryExistance(_response));\n });\n }\n\n protected processTestMembershipHistoryExistance(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BasePersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/MembershipHIstory/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipHIstory/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/MembershipHIstory/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IMembershipRenewalApi {\n\n baseSearch(sObj: MembershipRenewalSearch): Promise;\n\n forceRenewal(memberId: number | undefined, value: boolean | undefined): Promise;\n\n createRequests(): Promise;\n\n exportXlsFile(sObj: MembershipRenewalSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class MembershipRenewalApi extends BaseAPI implements IMembershipRenewalApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: MembershipRenewalSearch): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRenewal/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfMembershipRenewalGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n forceRenewal(memberId: number | undefined, value: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRenewal/forceRenewal?\";\n if (memberId === null)\n throw new Error(\"The parameter 'memberId' cannot be null.\");\n else if (memberId !== undefined)\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\n if (value === null)\n throw new Error(\"The parameter 'value' cannot be null.\");\n else if (value !== undefined)\n url_ += \"value=\" + encodeURIComponent(\"\" + value) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processForceRenewal(_response));\n });\n }\n\n protected processForceRenewal(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createRequests(): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRenewal/createRequests\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateRequests(_response));\n });\n }\n\n protected processCreateRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: MembershipRenewalSearch): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRenewal/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRenewal/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRenewal/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IMembershipRequestApi {\n\n baseSearch(sObj: MembershipRequestSearch): Promise;\n\n get(membershipRequestId: number | undefined): Promise;\n\n save(dto: MembershipRequestDto): Promise;\n\n getMembershipDisplayName(membershipRequestId: number | undefined): Promise;\n\n billedMembershipReqhestsExport(): Promise;\n\n executedMembershipReqhestsExport(): Promise;\n\n close(id: number | undefined): Promise;\n\n createMembershipTask(id: number | undefined): Promise;\n\n getMembershipDecisionCode(membershipRequestDecisionId: number | undefined): Promise;\n\n getMembershipRequestTypeCodeFromRequestId(membershipRequestId: number | undefined): Promise;\n\n getMembershipRequestTypeCode(membershipmembershipRequestTypeCode: number | undefined): Promise;\n\n isUserAvailable(personId: number | undefined, membershipRequestId: number | undefined): Promise;\n\n isUserRenewed(personId: number | undefined): Promise;\n\n exportXlsFile(sObj: MembershipRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class MembershipRequestApi extends BaseAPI implements IMembershipRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: MembershipRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfMembershipRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(membershipRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest?\";\n if (membershipRequestId === null)\n throw new Error(\"The parameter 'membershipRequestId' cannot be null.\");\n else if (membershipRequestId !== undefined)\n url_ += \"membershipRequestId=\" + encodeURIComponent(\"\" + membershipRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MembershipRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: MembershipRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMembershipDisplayName(membershipRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/displayName?\";\n if (membershipRequestId === null)\n throw new Error(\"The parameter 'membershipRequestId' cannot be null.\");\n else if (membershipRequestId !== undefined)\n url_ += \"membershipRequestId=\" + encodeURIComponent(\"\" + membershipRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembershipDisplayName(_response));\n });\n }\n\n protected processGetMembershipDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n billedMembershipReqhestsExport(): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/billedMembershipReqhestsExport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBilledMembershipReqhestsExport(_response));\n });\n }\n\n protected processBilledMembershipReqhestsExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n executedMembershipReqhestsExport(): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/executedMembershipReqhestsExport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExecutedMembershipReqhestsExport(_response));\n });\n }\n\n protected processExecutedMembershipReqhestsExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/CloseRequest?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createMembershipTask(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/createMembershipTask?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateMembershipTask(_response));\n });\n }\n\n protected processCreateMembershipTask(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMembershipDecisionCode(membershipRequestDecisionId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/DecisionCode?\";\n if (membershipRequestDecisionId === null)\n throw new Error(\"The parameter 'membershipRequestDecisionId' cannot be null.\");\n else if (membershipRequestDecisionId !== undefined)\n url_ += \"membershipRequestDecisionId=\" + encodeURIComponent(\"\" + membershipRequestDecisionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembershipDecisionCode(_response));\n });\n }\n\n protected processGetMembershipDecisionCode(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMembershipRequestTypeCodeFromRequestId(membershipRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/TypeCodeFromRequestId?\";\n if (membershipRequestId === null)\n throw new Error(\"The parameter 'membershipRequestId' cannot be null.\");\n else if (membershipRequestId !== undefined)\n url_ += \"membershipRequestId=\" + encodeURIComponent(\"\" + membershipRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembershipRequestTypeCodeFromRequestId(_response));\n });\n }\n\n protected processGetMembershipRequestTypeCodeFromRequestId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMembershipRequestTypeCode(membershipmembershipRequestTypeCode: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/TypeCode?\";\n if (membershipmembershipRequestTypeCode === null)\n throw new Error(\"The parameter 'membershipmembershipRequestTypeCode' cannot be null.\");\n else if (membershipmembershipRequestTypeCode !== undefined)\n url_ += \"membershipmembershipRequestTypeCode=\" + encodeURIComponent(\"\" + membershipmembershipRequestTypeCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembershipRequestTypeCode(_response));\n });\n }\n\n protected processGetMembershipRequestTypeCode(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isUserAvailable(personId: number | undefined, membershipRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/IsUserAvailable?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n if (membershipRequestId === null)\n throw new Error(\"The parameter 'membershipRequestId' cannot be null.\");\n else if (membershipRequestId !== undefined)\n url_ += \"membershipRequestId=\" + encodeURIComponent(\"\" + membershipRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsUserAvailable(_response));\n });\n }\n\n protected processIsUserAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isUserRenewed(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/isUserRenwed?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsUserRenewed(_response));\n });\n }\n\n protected processIsUserRenewed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: MembershipRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/MembershipRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IMiscellaneousRequestApi {\n\n baseSearch(sObj: MiscellaneousRequestSearch): Promise;\n\n get(miscellaneousRequestId: number | undefined): Promise;\n\n save(dto: MiscellaneousRequestDto): Promise;\n\n getSubRequests(masterRequestId: number | undefined): Promise;\n\n close(requestId: number | undefined): Promise;\n\n exportXlsFile(sObj: MiscellaneousRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class MiscellaneousRequestApi extends BaseAPI implements IMiscellaneousRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: MiscellaneousRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/MiscellaneousRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfMiscellaneousRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(miscellaneousRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MiscellaneousRequest?\";\n if (miscellaneousRequestId === null)\n throw new Error(\"The parameter 'miscellaneousRequestId' cannot be null.\");\n else if (miscellaneousRequestId !== undefined)\n url_ += \"miscellaneousRequestId=\" + encodeURIComponent(\"\" + miscellaneousRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MiscellaneousRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: MiscellaneousRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/MiscellaneousRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSubRequests(masterRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MiscellaneousRequest/GetSubRequests?\";\n if (masterRequestId === null)\n throw new Error(\"The parameter 'masterRequestId' cannot be null.\");\n else if (masterRequestId !== undefined)\n url_ += \"masterRequestId=\" + encodeURIComponent(\"\" + masterRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSubRequests(_response));\n });\n }\n\n protected processGetSubRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MiscellaneousRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MiscellaneousRequest/close?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: MiscellaneousRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/MiscellaneousRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MiscellaneousRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/MiscellaneousRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPasswordApi {\n\n getNewPassword(): Promise;\n}\n\nexport class PasswordApi extends BaseAPI implements IPasswordApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n getNewPassword(): Promise {\n let url_ = this.baseUrl + \"/api/Password/newPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetNewPassword(_response));\n });\n }\n\n protected processGetNewPassword(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPedigreeDuplicataRequestApi {\n\n baseSearch(sObj: PedigreeDuplicataRequestSearch): Promise;\n\n getPedigreeDuplicataRequest(pedigreeDuplicataRequestId: number | undefined): Promise;\n\n savePedigreeDuplicataRequest(dto: PedigreeDuplicataRequestDto): Promise;\n\n getDrupalPedigreeDuplicataRequest(pedigreeDuplicataRequestId: number | undefined): Promise;\n\n getDisplayName(pedigreeDuplicataRequestId: number | undefined): Promise;\n\n getParentRequestId(pedigreeDuplicataRequestId: number | undefined): Promise;\n\n isDogAvailable(dogId: number | undefined, pedigreeDuplicataRequestId: number | undefined): Promise;\n\n pedigreeDuplicataReprint(pedigreeDuplicataId: number | undefined): Promise;\n\n saveDrupalPedigreeDuplicataRequest(dto: DrupalPedigreeDuplicataRequestDto): Promise;\n\n closeRequest(requestId: number | undefined): Promise;\n\n exportXlsFile(sObj: PedigreeDuplicataRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PedigreeDuplicataRequestApi extends BaseAPI implements IPedigreeDuplicataRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PedigreeDuplicataRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPedigreeDuplicataRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPedigreeDuplicataRequest(pedigreeDuplicataRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest?\";\n if (pedigreeDuplicataRequestId === null)\n throw new Error(\"The parameter 'pedigreeDuplicataRequestId' cannot be null.\");\n else if (pedigreeDuplicataRequestId !== undefined)\n url_ += \"pedigreeDuplicataRequestId=\" + encodeURIComponent(\"\" + pedigreeDuplicataRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPedigreeDuplicataRequest(_response));\n });\n }\n\n protected processGetPedigreeDuplicataRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PedigreeDuplicataRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n savePedigreeDuplicataRequest(dto: PedigreeDuplicataRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSavePedigreeDuplicataRequest(_response));\n });\n }\n\n protected processSavePedigreeDuplicataRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalPedigreeDuplicataRequest(pedigreeDuplicataRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/GetDrupalPedigreeDuplicataRequest?\";\n if (pedigreeDuplicataRequestId === null)\n throw new Error(\"The parameter 'pedigreeDuplicataRequestId' cannot be null.\");\n else if (pedigreeDuplicataRequestId !== undefined)\n url_ += \"pedigreeDuplicataRequestId=\" + encodeURIComponent(\"\" + pedigreeDuplicataRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalPedigreeDuplicataRequest(_response));\n });\n }\n\n protected processGetDrupalPedigreeDuplicataRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalPedigreeDuplicataRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(pedigreeDuplicataRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/getDisplayName?\";\n if (pedigreeDuplicataRequestId === null)\n throw new Error(\"The parameter 'pedigreeDuplicataRequestId' cannot be null.\");\n else if (pedigreeDuplicataRequestId !== undefined)\n url_ += \"pedigreeDuplicataRequestId=\" + encodeURIComponent(\"\" + pedigreeDuplicataRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getParentRequestId(pedigreeDuplicataRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/getParentRequestId?\";\n if (pedigreeDuplicataRequestId === null)\n throw new Error(\"The parameter 'pedigreeDuplicataRequestId' cannot be null.\");\n else if (pedigreeDuplicataRequestId !== undefined)\n url_ += \"pedigreeDuplicataRequestId=\" + encodeURIComponent(\"\" + pedigreeDuplicataRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetParentRequestId(_response));\n });\n }\n\n protected processGetParentRequestId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogAvailable(dogId: number | undefined, pedigreeDuplicataRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/isDogAvailable?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (pedigreeDuplicataRequestId === null)\n throw new Error(\"The parameter 'pedigreeDuplicataRequestId' cannot be null.\");\n else if (pedigreeDuplicataRequestId !== undefined)\n url_ += \"pedigreeDuplicataRequestId=\" + encodeURIComponent(\"\" + pedigreeDuplicataRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogAvailable(_response));\n });\n }\n\n protected processIsDogAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n pedigreeDuplicataReprint(pedigreeDuplicataId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/reprint?\";\n if (pedigreeDuplicataId === null)\n throw new Error(\"The parameter 'pedigreeDuplicataId' cannot be null.\");\n else if (pedigreeDuplicataId !== undefined)\n url_ += \"pedigreeDuplicataId=\" + encodeURIComponent(\"\" + pedigreeDuplicataId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processPedigreeDuplicataReprint(_response));\n });\n }\n\n protected processPedigreeDuplicataReprint(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDrupalPedigreeDuplicataRequest(dto: DrupalPedigreeDuplicataRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/SaveDrupalPedigreeDuplicataRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDrupalPedigreeDuplicataRequest(_response));\n });\n }\n\n protected processSaveDrupalPedigreeDuplicataRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/closeRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseRequest(_response));\n });\n }\n\n protected processCloseRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PedigreeDuplicataRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeDuplicataRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPedigreePrefixApi {\n\n baseSearch(sObj: PedigreePrefixSearch): Promise;\n\n saveNewPedigreePrefix(dto: SavePedigreePrefixDto): Promise;\n\n deletePedigreePrefix(pedigreePrefixId: number | undefined): Promise;\n\n isPrefixUnique(countryId: number | undefined, prefix: string | null | undefined): Promise;\n\n exportXlsFile(sObj: PedigreePrefixSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PedigreePrefixApi extends BaseAPI implements IPedigreePrefixApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PedigreePrefixSearch): Promise {\n let url_ = this.baseUrl + \"/api/PedigreePrefix/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfCountryPedigreePrefixGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveNewPedigreePrefix(dto: SavePedigreePrefixDto): Promise {\n let url_ = this.baseUrl + \"/api/PedigreePrefix\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveNewPedigreePrefix(_response));\n });\n }\n\n protected processSaveNewPedigreePrefix(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deletePedigreePrefix(pedigreePrefixId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreePrefix?\";\n if (pedigreePrefixId === null)\n throw new Error(\"The parameter 'pedigreePrefixId' cannot be null.\");\n else if (pedigreePrefixId !== undefined)\n url_ += \"pedigreePrefixId=\" + encodeURIComponent(\"\" + pedigreePrefixId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePedigreePrefix(_response));\n });\n }\n\n protected processDeletePedigreePrefix(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isPrefixUnique(countryId: number | undefined, prefix: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreePrefix/PrefixUnique?\";\n if (countryId === null)\n throw new Error(\"The parameter 'countryId' cannot be null.\");\n else if (countryId !== undefined)\n url_ += \"countryId=\" + encodeURIComponent(\"\" + countryId) + \"&\";\n if (prefix !== undefined && prefix !== null)\n url_ += \"prefix=\" + encodeURIComponent(\"\" + prefix) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsPrefixUnique(_response));\n });\n }\n\n protected processIsPrefixUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PedigreePrefixSearch): Promise {\n let url_ = this.baseUrl + \"/api/PedigreePrefix/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreePrefix/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/PedigreePrefix/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPedigreeRequestApi {\n\n baseSearch(sObj: PedigreeRequestSearch): Promise;\n\n getPedigreeRequest(pedigreeRequestId: number | undefined): Promise;\n\n save(toSave: PedigreeRequestDto): Promise;\n\n isDogAvailable(dogId: number | undefined, pedigreeRequestController: number | undefined): Promise;\n\n closePedigreeRequest(requestId: number | undefined): Promise;\n\n getDisplayName(pedigreeRequestId: number | undefined): Promise;\n\n getParentRequestId(pedigreeRequestId: number | undefined): Promise;\n\n exportXlsFile(sObj: PedigreeRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PedigreeRequestApi extends BaseAPI implements IPedigreeRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PedigreeRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPedigreeRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPedigreeRequest(pedigreeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest?\";\n if (pedigreeRequestId === null)\n throw new Error(\"The parameter 'pedigreeRequestId' cannot be null.\");\n else if (pedigreeRequestId !== undefined)\n url_ += \"pedigreeRequestId=\" + encodeURIComponent(\"\" + pedigreeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPedigreeRequest(_response));\n });\n }\n\n protected processGetPedigreeRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PedigreeRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(toSave: PedigreeRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogAvailable(dogId: number | undefined, pedigreeRequestController: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest/isDogAvailable?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (pedigreeRequestController === null)\n throw new Error(\"The parameter 'pedigreeRequestController' cannot be null.\");\n else if (pedigreeRequestController !== undefined)\n url_ += \"pedigreeRequestController=\" + encodeURIComponent(\"\" + pedigreeRequestController) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogAvailable(_response));\n });\n }\n\n protected processIsDogAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closePedigreeRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest/ClosePedigreeRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClosePedigreeRequest(_response));\n });\n }\n\n protected processClosePedigreeRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(pedigreeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest/GetDisplayName?\";\n if (pedigreeRequestId === null)\n throw new Error(\"The parameter 'pedigreeRequestId' cannot be null.\");\n else if (pedigreeRequestId !== undefined)\n url_ += \"pedigreeRequestId=\" + encodeURIComponent(\"\" + pedigreeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getParentRequestId(pedigreeRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest/ParentRequestId?\";\n if (pedigreeRequestId === null)\n throw new Error(\"The parameter 'pedigreeRequestId' cannot be null.\");\n else if (pedigreeRequestId !== undefined)\n url_ += \"pedigreeRequestId=\" + encodeURIComponent(\"\" + pedigreeRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetParentRequestId(_response));\n });\n }\n\n protected processGetParentRequestId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PedigreeRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/PedigreeRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPermissionApi {\n\n baseSearch(sObj: UserProfileActionSearch): Promise;\n\n savePermission(dto: UserProfileActionGridDto): Promise;\n\n exportXlsFile(sObj: UserProfileActionSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PermissionApi extends BaseAPI implements IPermissionApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: UserProfileActionSearch): Promise {\n let url_ = this.baseUrl + \"/api/Permission/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfUserProfileActionGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n savePermission(dto: UserProfileActionGridDto): Promise {\n let url_ = this.baseUrl + \"/api/Permission\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSavePermission(_response));\n });\n }\n\n protected processSavePermission(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: UserProfileActionSearch): Promise {\n let url_ = this.baseUrl + \"/api/Permission/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Permission/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Permission/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPersonActionApi {\n\n baseSearch(sObj: BasePersonSearch): Promise;\n\n exportXlsFile(sObj: BasePersonSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PersonActionApi extends BaseAPI implements IPersonActionApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BasePersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonAction/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonActionGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BasePersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonAction/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PersonAction/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/PersonAction/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPersonApi {\n\n baseSearch(sObj: PersonSearch): Promise;\n\n saveBc(personId: number | undefined): Promise;\n\n searchWithValidations(sObj: PersonSearch): Promise;\n\n getMemberReport(): Promise;\n\n searchDogs(sObj: PersonDogsSearch): Promise;\n\n getDrupalPersonProfile(): Promise;\n\n getPersonRemark(personId: number | undefined): Promise;\n\n getLinkedClubs(): Promise;\n\n getIds(sObj: PersonSearch): Promise;\n\n getPersonCommissioner(personId: number | undefined): Promise;\n\n saveCommissioner(toSave: CommissionerDto): Promise;\n\n getByVetId(vetId: number | undefined): Promise;\n\n getEmail(personId: number | undefined): Promise;\n\n kennelOwnershipUniqueCheck(personId: number | undefined): Promise;\n\n getDisplayName(personId: number | undefined): Promise;\n\n getPersonByEmail(email: string | null | undefined): Promise;\n\n missingPhoneNumberCheck(personId: number | undefined): Promise;\n\n missingAddressInformationCheck(personId: number | undefined): Promise;\n\n hasCountry(personId: number | undefined): Promise;\n\n isKennelOwner(personId: number | undefined, kennelId: number | undefined, dateFrom: Date | undefined, dateTo: Date | null | undefined): Promise;\n\n checkIfOwnerofExcludedKennel(personId: number | undefined): Promise;\n\n getPersonAddress(personId: number | undefined, currentLanguageId: number | undefined): Promise;\n\n getSplitPerson(originalPersonId: number | undefined): Promise;\n\n getPersonFusion(personId1: number | undefined, personId2: number | undefined): Promise;\n\n getPersonFusionComparison(personId1: number | undefined, personId2: number | undefined): Promise;\n\n get(personId: number | undefined): Promise;\n\n save(platform: EPlatform | undefined, dto: PersonDto): Promise;\n\n delete(personId: number | undefined): Promise;\n\n saveSplitPerson(dto: SplitPersonDto): Promise;\n\n savePersonFusion(dto: PersonFusionDto): Promise;\n\n isEmailUnique(email: string | null | undefined, personId: number | undefined): Promise;\n\n getMembership(personId: number | undefined): Promise;\n\n getCurrentMembership(personId: number | undefined): Promise;\n\n getPastYearMembership(personId: number | undefined): Promise;\n\n saveMembership(dto: MembershipDto): Promise;\n\n getVeterinaryInformation(personId: number | undefined): Promise;\n\n isPersonWaloon(personId: number | undefined): Promise;\n\n isDeceased(personId: number | undefined): Promise;\n\n isPersonExcludedQuery(personId: number | undefined): Promise;\n\n isPersonBelgian(personId: number | undefined): Promise;\n\n saveVeterinaryInformation(dto: VeterinaryDto): Promise;\n\n deleteVeterinaryInformation(veterinaryId: number | undefined): Promise;\n\n saveBreedGroupsForJudge(dto: BreedGroupsJudgeSaveDto): Promise;\n\n getJudgeLinkedBreedsIds(personId: number | undefined): Promise;\n\n getPersonIdByByEmail(email: string | null | undefined): Promise;\n\n createInSharepoint(personId: number): Promise;\n\n exportXlsFile(sObj: PersonSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PersonApi extends BaseAPI implements IPersonApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/Person/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBc(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/bcSave?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBc(_response));\n });\n }\n\n protected processSaveBc(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchWithValidations(sObj: PersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/Person/searchWithValidations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchWithValidations(_response));\n });\n }\n\n protected processSearchWithValidations(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonWithValidationsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMemberReport(): Promise {\n let url_ = this.baseUrl + \"/api/Person/getMemberReport\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMemberReport(_response));\n });\n }\n\n protected processGetMemberReport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchDogs(sObj: PersonDogsSearch): Promise {\n let url_ = this.baseUrl + \"/api/Person/searchDogs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchDogs(_response));\n });\n }\n\n protected processSearchDogs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogPersonGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalPersonProfile(): Promise {\n let url_ = this.baseUrl + \"/api/Person/profile\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalPersonProfile(_response));\n });\n }\n\n protected processGetDrupalPersonProfile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PersonDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPersonRemark(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/remark?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPersonRemark(_response));\n });\n }\n\n protected processGetPersonRemark(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLinkedClubs(): Promise {\n let url_ = this.baseUrl + \"/api/Person/getLinkedClubs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLinkedClubs(_response));\n });\n }\n\n protected processGetLinkedClubs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: PersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/Person/getIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPersonCommissioner(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getPersonCommissioner?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPersonCommissioner(_response));\n });\n }\n\n protected processGetPersonCommissioner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CommissionerDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveCommissioner(toSave: CommissionerDto): Promise {\n let url_ = this.baseUrl + \"/api/Person/saveCommissioner\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveCommissioner(_response));\n });\n }\n\n protected processSaveCommissioner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByVetId(vetId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getByVetId?\";\n if (vetId === null)\n throw new Error(\"The parameter 'vetId' cannot be null.\");\n else if (vetId !== undefined)\n url_ += \"vetId=\" + encodeURIComponent(\"\" + vetId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetByVetId(_response));\n });\n }\n\n protected processGetByVetId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getEmail(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getEmail?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetEmail(_response));\n });\n }\n\n protected processGetEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n kennelOwnershipUniqueCheck(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/KennelOwnershipUniqueCheck?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processKennelOwnershipUniqueCheck(_response));\n });\n }\n\n protected processKennelOwnershipUniqueCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/displayName?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPersonByEmail(email: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getByEmail?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPersonByEmail(_response));\n });\n }\n\n protected processGetPersonByEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PersonDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n missingPhoneNumberCheck(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/missingPhoneNumberCheck?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processMissingPhoneNumberCheck(_response));\n });\n }\n\n protected processMissingPhoneNumberCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n missingAddressInformationCheck(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/missingInformationCheck?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processMissingAddressInformationCheck(_response));\n });\n }\n\n protected processMissingAddressInformationCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n hasCountry(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/hasCountry?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processHasCountry(_response));\n });\n }\n\n protected processHasCountry(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isKennelOwner(personId: number | undefined, kennelId: number | undefined, dateFrom: Date | undefined, dateTo: Date | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/isKennelOwner?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n if (kennelId === null)\n throw new Error(\"The parameter 'kennelId' cannot be null.\");\n else if (kennelId !== undefined)\n url_ += \"kennelId=\" + encodeURIComponent(\"\" + kennelId) + \"&\";\n if (dateFrom === null)\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\n else if (dateFrom !== undefined)\n url_ += \"dateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toISOString() : \"\") + \"&\";\n if (dateTo !== undefined && dateTo !== null)\n url_ += \"dateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsKennelOwner(_response));\n });\n }\n\n protected processIsKennelOwner(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkIfOwnerofExcludedKennel(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/checkIfOwnerofExcludedKennel?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckIfOwnerofExcludedKennel(_response));\n });\n }\n\n protected processCheckIfOwnerofExcludedKennel(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPersonAddress(personId: number | undefined, currentLanguageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getPersonAddress?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n if (currentLanguageId === null)\n throw new Error(\"The parameter 'currentLanguageId' cannot be null.\");\n else if (currentLanguageId !== undefined)\n url_ += \"currentLanguageId=\" + encodeURIComponent(\"\" + currentLanguageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPersonAddress(_response));\n });\n }\n\n protected processGetPersonAddress(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSplitPerson(originalPersonId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getSplitPerson?\";\n if (originalPersonId === null)\n throw new Error(\"The parameter 'originalPersonId' cannot be null.\");\n else if (originalPersonId !== undefined)\n url_ += \"originalPersonId=\" + encodeURIComponent(\"\" + originalPersonId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSplitPerson(_response));\n });\n }\n\n protected processGetSplitPerson(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SplitPersonDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPersonFusion(personId1: number | undefined, personId2: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getFusionPerson?\";\n if (personId1 === null)\n throw new Error(\"The parameter 'personId1' cannot be null.\");\n else if (personId1 !== undefined)\n url_ += \"personId1=\" + encodeURIComponent(\"\" + personId1) + \"&\";\n if (personId2 === null)\n throw new Error(\"The parameter 'personId2' cannot be null.\");\n else if (personId2 !== undefined)\n url_ += \"personId2=\" + encodeURIComponent(\"\" + personId2) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPersonFusion(_response));\n });\n }\n\n protected processGetPersonFusion(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PersonFusionDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPersonFusionComparison(personId1: number | undefined, personId2: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getPersonFusionComparison?\";\n if (personId1 === null)\n throw new Error(\"The parameter 'personId1' cannot be null.\");\n else if (personId1 !== undefined)\n url_ += \"personId1=\" + encodeURIComponent(\"\" + personId1) + \"&\";\n if (personId2 === null)\n throw new Error(\"The parameter 'personId2' cannot be null.\");\n else if (personId2 !== undefined)\n url_ += \"personId2=\" + encodeURIComponent(\"\" + personId2) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPersonFusionComparison(_response));\n });\n }\n\n protected processGetPersonFusionComparison(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PersonFusionComparisonDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PersonDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(platform: EPlatform | undefined, dto: PersonDto): Promise {\n let url_ = this.baseUrl + \"/api/Person?\";\n if (platform === null)\n throw new Error(\"The parameter 'platform' cannot be null.\");\n else if (platform !== undefined)\n url_ += \"platform=\" + encodeURIComponent(\"\" + platform) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveSplitPerson(dto: SplitPersonDto): Promise {\n let url_ = this.baseUrl + \"/api/Person/SaveSplitPerson\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveSplitPerson(_response));\n });\n }\n\n protected processSaveSplitPerson(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n savePersonFusion(dto: PersonFusionDto): Promise {\n let url_ = this.baseUrl + \"/api/Person/SaveFusePerson\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSavePersonFusion(_response));\n });\n }\n\n protected processSavePersonFusion(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isEmailUnique(email: string | null | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getUniqueEmail?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsEmailUnique(_response));\n });\n }\n\n protected processIsEmailUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMembership(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getMembership?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembership(_response));\n });\n }\n\n protected processGetMembership(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MembershipDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCurrentMembership(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getCurrentMembership?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCurrentMembership(_response));\n });\n }\n\n protected processGetCurrentMembership(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPastYearMembership(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getPastYearMembership?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPastYearMembership(_response));\n });\n }\n\n protected processGetPastYearMembership(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveMembership(dto: MembershipDto): Promise {\n let url_ = this.baseUrl + \"/api/Person/saveMembership\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveMembership(_response));\n });\n }\n\n protected processSaveMembership(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getVeterinaryInformation(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getVeterinaryInfomation?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVeterinaryInformation(_response));\n });\n }\n\n protected processGetVeterinaryInformation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = VeterinaryDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isPersonWaloon(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/isWalloon?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsPersonWaloon(_response));\n });\n }\n\n protected processIsPersonWaloon(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDeceased(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/isDeceased?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDeceased(_response));\n });\n }\n\n protected processIsDeceased(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isPersonExcludedQuery(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/isPersonExcludedQuery?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsPersonExcludedQuery(_response));\n });\n }\n\n protected processIsPersonExcludedQuery(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isPersonBelgian(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/isBelgian?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsPersonBelgian(_response));\n });\n }\n\n protected processIsPersonBelgian(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveVeterinaryInformation(dto: VeterinaryDto): Promise {\n let url_ = this.baseUrl + \"/api/Person/saveVeterinaryInformation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveVeterinaryInformation(_response));\n });\n }\n\n protected processSaveVeterinaryInformation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteVeterinaryInformation(veterinaryId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/deleteVetInformation?\";\n if (veterinaryId === null)\n throw new Error(\"The parameter 'veterinaryId' cannot be null.\");\n else if (veterinaryId !== undefined)\n url_ += \"veterinaryId=\" + encodeURIComponent(\"\" + veterinaryId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteVeterinaryInformation(_response));\n });\n }\n\n protected processDeleteVeterinaryInformation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveBreedGroupsForJudge(dto: BreedGroupsJudgeSaveDto): Promise {\n let url_ = this.baseUrl + \"/api/Person/SaveBreedGroupsForJudge\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveBreedGroupsForJudge(_response));\n });\n }\n\n protected processSaveBreedGroupsForJudge(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BreedGroupsJudgeSaveDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getJudgeLinkedBreedsIds(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/GetJudgeLinkedBreedsIds?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetJudgeLinkedBreedsIds(_response));\n });\n }\n\n protected processGetJudgeLinkedBreedsIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BreedGroupsJudgeSaveDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPersonIdByByEmail(email: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/getPersonIdByEmail?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPersonIdByByEmail(_response));\n });\n }\n\n protected processGetPersonIdByByEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createInSharepoint(personId: number): Promise {\n let url_ = this.baseUrl + \"/api/Person/CreateInSharepoint/{personId}\";\n if (personId === undefined || personId === null)\n throw new Error(\"The parameter 'personId' must be defined.\");\n url_ = url_.replace(\"{personId}\", encodeURIComponent(\"\" + personId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateInSharepoint(_response));\n });\n }\n\n protected processCreateInSharepoint(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PersonSearch): Promise {\n let url_ = this.baseUrl + \"/api/Person/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Person/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Person/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPersonFilesApi {\n\n baseSearch(sObj: PersonFileSearch): Promise;\n\n exportXlsFile(sObj: PersonFileSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PersonFilesApi extends BaseAPI implements IPersonFilesApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PersonFileSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonFiles/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonFileGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PersonFileSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonFiles/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PersonFiles/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/PersonFiles/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPersonsDogsApi {\n\n baseSearch(sObj: PersonDogsSearch): Promise;\n\n exportXlsFile(sObj: PersonDogsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PersonsDogsApi extends BaseAPI implements IPersonsDogsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PersonDogsSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonsDogs/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonDogsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PersonDogsSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonsDogs/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PersonsDogs/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/PersonsDogs/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPersonsJudgesApi {\n\n baseSearch(sObj: PersonDogsSearch): Promise;\n\n exportXlsFile(sObj: PersonDogsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PersonsJudgesApi extends BaseAPI implements IPersonsJudgesApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PersonDogsSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonsJudges/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonJudgesGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PersonDogsSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonsJudges/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PersonsJudges/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/PersonsJudges/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IPersonsKennelsApi {\n\n baseSearch(sObj: PersonKennelsSearch): Promise;\n\n exportXlsFile(sObj: PersonKennelsSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class PersonsKennelsApi extends BaseAPI implements IPersonsKennelsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: PersonKennelsSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonsKennels/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPersonKennelsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: PersonKennelsSearch): Promise {\n let url_ = this.baseUrl + \"/api/PersonsKennels/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/PersonsKennels/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/PersonsKennels/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IReferentialApi {\n\n getJudges(competitionId: number | null | undefined): Promise;\n\n getHealthValueTypes(canBeUsedForDysplasia: boolean | undefined): Promise;\n\n getCommissionerExperience(): Promise;\n\n getCompetitionRequestSubActivities(competitionRequestId: number | undefined): Promise;\n\n getCompetitionStatuses(): Promise;\n\n getPaperDecorations(): Promise;\n\n getLabNames(): Promise;\n\n getMonths(): Promise;\n\n getAuthorizedColors(breedId: number | undefined, recognized: boolean | null | undefined): Promise;\n\n getOwnedDogs(webUserId: number | undefined, dogId: number | undefined, sex: EDogSex | null | undefined, forBroodRequest: boolean | null | undefined, forHealthTest: boolean | null | undefined): Promise;\n\n getLabStatuses(): Promise;\n\n getVets(): Promise;\n\n getBreedAuthorizedVets(): Promise;\n\n getCommissionTypes(): Promise;\n\n getOpenedKennels(kennelId: number | undefined): Promise;\n\n getAffixRequestTypes(): Promise;\n\n getHealthPacks(): Promise;\n\n getArticles(withCode: boolean | undefined): Promise;\n\n getPuppyPedigrees(): Promise;\n\n getVetsByClinicId(clinicId: number | null | undefined): Promise;\n\n getHealthPackGroups(): Promise;\n\n getStringifiedBelgianPostalCodes(): Promise;\n\n getStringifiedBelgianLocalityFromPostalCode(postalCode: string | null | undefined): Promise;\n\n searchPeople(query: SearchPeopleReferentialQuery): Promise;\n\n getResults(): Promise;\n\n getQualifications(): Promise;\n\n getShowClasses(): Promise;\n\n getCompetitionJudges(competitionRequestId: number | undefined): Promise;\n\n getDysplasiaTypes(isDysplasiaRequest: boolean | undefined, appealDysplasiaId: number | undefined): Promise;\n\n getClinics(): Promise;\n\n getDysplasiaPositions(languageId: number | undefined): Promise;\n\n getActivities(sectionId: number | null | undefined): Promise;\n\n getSubActivities(activityId: number | null | undefined): Promise;\n\n getFluxStatuses(requestId: number | undefined, languageId: number | undefined): Promise;\n\n getBelgianTitles(languageId: number | undefined, dogId: number | null | undefined, titleId: number | null | undefined): Promise;\n\n getBreeds(dogId: number | null | undefined): Promise;\n\n getBabyDogBreedsQuery(dogId: number | null | undefined): Promise;\n\n getBreedExceptions(currentBreedId: number | undefined): Promise;\n\n getBreedGroups(): Promise;\n\n getVolunteerProfiles(): Promise;\n\n getBreedVarieties(currentBreedId: number | undefined): Promise;\n\n getBreedVarietiesWithCurrentBreed(currentBreedId: number | undefined): Promise;\n\n getCharacteristics(isDysplasia: boolean | undefined, languageId: number | undefined): Promise;\n\n getCharacteristicTypes(languageId: number | undefined): Promise;\n\n getDepartments(): Promise;\n\n getHealthValues(characteristicId: number | undefined): Promise;\n\n getCharacteristicValues(characteristicId: number | undefined): Promise;\n\n getClubs(personId: number | null | undefined): Promise;\n\n getColors(languageId: number | undefined): Promise;\n\n getColorsByBreed(breedId: number | undefined): Promise;\n\n getCountries(query: GetCountriesReferentialQuery): Promise;\n\n getDysplasiaRequests(): Promise;\n\n getOwnDysplasiaRequests(dogId: number | undefined): Promise;\n\n getDogsForWorkbookRequest(): Promise;\n\n getAllDogTypes(languageId: number | undefined): Promise;\n\n getDogTypes(languageId: number | undefined): Promise;\n\n getDogsWithPedigrees(): Promise;\n\n getUserProfiles(): Promise;\n\n getKennels(): Promise;\n\n getKennelTypes(): Promise;\n\n getLanguages(): Promise;\n\n getAllLanguages(): Promise;\n\n getRequestStates(): Promise;\n\n getRequestTypes(): Promise;\n\n getSections(): Promise;\n\n getSectionsForClub(clubId: number | null | undefined): Promise;\n\n getPostalCodes(): Promise;\n\n getSex(languageId: number | undefined): Promise;\n\n getVatCode(): Promise;\n\n getWorkbookColors(languageId: number | undefined): Promise;\n\n searchDogs(query: SearchDogReferentialQuery): Promise;\n\n getAgility(): Promise;\n\n getJudgeType(): Promise;\n\n getGrooming(): Promise;\n\n getPedigreePrefixesByCountry(countryId: number | undefined, dogId: number | null | undefined): Promise;\n\n getAllPedigreePrefixes(): Promise;\n\n getAllForeignPedigreePrefixes(): Promise;\n\n getClubRoles(languageId: number | undefined): Promise;\n\n getClubRolesForContact(languageId: number | undefined, clubId: number | undefined, personId: number | undefined): Promise;\n\n getCompetitions(): Promise;\n\n getTitles(languageId: number | undefined, platform: EPlatform | undefined, countryId: number | null | undefined, canBeUsed: boolean | null | undefined): Promise;\n\n getWorkbookTypes(languageId: number | undefined, dogId: number | undefined): Promise;\n\n getTitleTypes(languageId: number | undefined): Promise;\n\n getPersonSalutations(languageId: number | undefined): Promise;\n\n getMembershipTypes(languageId: number | undefined): Promise;\n\n getRequestDogs(): Promise;\n\n getRequestDogsWithoutPedigree(): Promise;\n\n getRequestDogsWithPedigree(): Promise;\n\n getSubFilesRequestTypes(requestTypeCode: ERequestType | undefined, languageId: number | undefined, requestId: number | undefined): Promise;\n\n getMembershipRequestType(languageId: number | undefined): Promise;\n\n getMembershipDecisions(languageId: number | undefined): Promise;\n\n getLabs(): Promise;\n\n getCompetitionExpos(competitionId: number | undefined): Promise;\n}\n\nexport class ReferentialApi extends BaseAPI implements IReferentialApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n getJudges(competitionId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getJudges?\";\n if (competitionId !== undefined && competitionId !== null)\n url_ += \"competitionId=\" + encodeURIComponent(\"\" + competitionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetJudges(_response));\n });\n }\n\n protected processGetJudges(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getHealthValueTypes(canBeUsedForDysplasia: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getHealthValueTypes?\";\n if (canBeUsedForDysplasia === null)\n throw new Error(\"The parameter 'canBeUsedForDysplasia' cannot be null.\");\n else if (canBeUsedForDysplasia !== undefined)\n url_ += \"canBeUsedForDysplasia=\" + encodeURIComponent(\"\" + canBeUsedForDysplasia) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHealthValueTypes(_response));\n });\n }\n\n protected processGetHealthValueTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCommissionerExperience(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCommissionerExperience\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCommissionerExperience(_response));\n });\n }\n\n protected processGetCommissionerExperience(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCompetitionRequestSubActivities(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCompetitionRequestSubActivities?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCompetitionRequestSubActivities(_response));\n });\n }\n\n protected processGetCompetitionRequestSubActivities(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCompetitionStatuses(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCompetitionStatuses\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCompetitionStatuses(_response));\n });\n }\n\n protected processGetCompetitionStatuses(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPaperDecorations(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getPaperDecorationsQuery\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPaperDecorations(_response));\n });\n }\n\n protected processGetPaperDecorations(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLabNames(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getLabs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLabNames(_response));\n });\n }\n\n protected processGetLabNames(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMonths(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getMonths\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMonths(_response));\n });\n }\n\n protected processGetMonths(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAuthorizedColors(breedId: number | undefined, recognized: boolean | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getAuthorizedColors?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n if (recognized !== undefined && recognized !== null)\n url_ += \"recognized=\" + encodeURIComponent(\"\" + recognized) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAuthorizedColors(_response));\n });\n }\n\n protected processGetAuthorizedColors(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getOwnedDogs(webUserId: number | undefined, dogId: number | undefined, sex: EDogSex | null | undefined, forBroodRequest: boolean | null | undefined, forHealthTest: boolean | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getOwnedDogs?\";\n if (webUserId === null)\n throw new Error(\"The parameter 'webUserId' cannot be null.\");\n else if (webUserId !== undefined)\n url_ += \"webUserId=\" + encodeURIComponent(\"\" + webUserId) + \"&\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (sex !== undefined && sex !== null)\n url_ += \"sex=\" + encodeURIComponent(\"\" + sex) + \"&\";\n if (forBroodRequest !== undefined && forBroodRequest !== null)\n url_ += \"forBroodRequest=\" + encodeURIComponent(\"\" + forBroodRequest) + \"&\";\n if (forHealthTest !== undefined && forHealthTest !== null)\n url_ += \"forHealthTest=\" + encodeURIComponent(\"\" + forHealthTest) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetOwnedDogs(_response));\n });\n }\n\n protected processGetOwnedDogs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLabStatuses(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getLabStatuses\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLabStatuses(_response));\n });\n }\n\n protected processGetLabStatuses(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getVets(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getVets\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVets(_response));\n });\n }\n\n protected processGetVets(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreedAuthorizedVets(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getBreedAuthorizedVets\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreedAuthorizedVets(_response));\n });\n }\n\n protected processGetBreedAuthorizedVets(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCommissionTypes(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCommissionTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCommissionTypes(_response));\n });\n }\n\n protected processGetCommissionTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getOpenedKennels(kennelId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getOpeneKennels?\";\n if (kennelId === null)\n throw new Error(\"The parameter 'kennelId' cannot be null.\");\n else if (kennelId !== undefined)\n url_ += \"kennelId=\" + encodeURIComponent(\"\" + kennelId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetOpenedKennels(_response));\n });\n }\n\n protected processGetOpenedKennels(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAffixRequestTypes(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getAffixRequestTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAffixRequestTypes(_response));\n });\n }\n\n protected processGetAffixRequestTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getHealthPacks(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getHealthPacks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHealthPacks(_response));\n });\n }\n\n protected processGetHealthPacks(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getArticles(withCode: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getArticles?\";\n if (withCode === null)\n throw new Error(\"The parameter 'withCode' cannot be null.\");\n else if (withCode !== undefined)\n url_ += \"withCode=\" + encodeURIComponent(\"\" + withCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetArticles(_response));\n });\n }\n\n protected processGetArticles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPuppyPedigrees(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getPuppyPedigrees\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPuppyPedigrees(_response));\n });\n }\n\n protected processGetPuppyPedigrees(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getVetsByClinicId(clinicId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getVetsByClinicId?\";\n if (clinicId !== undefined && clinicId !== null)\n url_ += \"clinicId=\" + encodeURIComponent(\"\" + clinicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVetsByClinicId(_response));\n });\n }\n\n protected processGetVetsByClinicId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getHealthPackGroups(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getHealthPackGroup\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHealthPackGroups(_response));\n });\n }\n\n protected processGetHealthPackGroups(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getStringifiedBelgianPostalCodes(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getStringifiedBelgianPostalCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetStringifiedBelgianPostalCodes(_response));\n });\n }\n\n protected processGetStringifiedBelgianPostalCodes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getStringifiedBelgianLocalityFromPostalCode(postalCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getStringifiedBelgianLocalityFromPostalCode?\";\n if (postalCode !== undefined && postalCode !== null)\n url_ += \"postalCode=\" + encodeURIComponent(\"\" + postalCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetStringifiedBelgianLocalityFromPostalCode(_response));\n });\n }\n\n protected processGetStringifiedBelgianLocalityFromPostalCode(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchPeople(query: SearchPeopleReferentialQuery): Promise {\n let url_ = this.baseUrl + \"/api/Referential/searchPeople\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(query);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchPeople(_response));\n });\n }\n\n protected processSearchPeople(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfPeopleReferentialItem.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getResults(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getResults\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetResults(_response));\n });\n }\n\n protected processGetResults(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getQualifications(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getQualifications\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetQualifications(_response));\n });\n }\n\n protected processGetQualifications(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getShowClasses(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getShowClasses\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetShowClasses(_response));\n });\n }\n\n protected processGetShowClasses(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCompetitionJudges(competitionRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCompetitionJudges?\";\n if (competitionRequestId === null)\n throw new Error(\"The parameter 'competitionRequestId' cannot be null.\");\n else if (competitionRequestId !== undefined)\n url_ += \"competitionRequestId=\" + encodeURIComponent(\"\" + competitionRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCompetitionJudges(_response));\n });\n }\n\n protected processGetCompetitionJudges(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDysplasiaTypes(isDysplasiaRequest: boolean | undefined, appealDysplasiaId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getDysplasiaTypes?\";\n if (isDysplasiaRequest === null)\n throw new Error(\"The parameter 'isDysplasiaRequest' cannot be null.\");\n else if (isDysplasiaRequest !== undefined)\n url_ += \"isDysplasiaRequest=\" + encodeURIComponent(\"\" + isDysplasiaRequest) + \"&\";\n if (appealDysplasiaId === null)\n throw new Error(\"The parameter 'appealDysplasiaId' cannot be null.\");\n else if (appealDysplasiaId !== undefined)\n url_ += \"appealDysplasiaId=\" + encodeURIComponent(\"\" + appealDysplasiaId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDysplasiaTypes(_response));\n });\n }\n\n protected processGetDysplasiaTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClinics(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getClinics\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClinics(_response));\n });\n }\n\n protected processGetClinics(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDysplasiaPositions(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getDysplasiaPositions?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDysplasiaPositions(_response));\n });\n }\n\n protected processGetDysplasiaPositions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getActivities(sectionId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getActivities?\";\n if (sectionId !== undefined && sectionId !== null)\n url_ += \"sectionId=\" + encodeURIComponent(\"\" + sectionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetActivities(_response));\n });\n }\n\n protected processGetActivities(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSubActivities(activityId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getSubActivities?\";\n if (activityId !== undefined && activityId !== null)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSubActivities(_response));\n });\n }\n\n protected processGetSubActivities(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getFluxStatuses(requestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getFluxStatuses?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetFluxStatuses(_response));\n });\n }\n\n protected processGetFluxStatuses(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBelgianTitles(languageId: number | undefined, dogId: number | null | undefined, titleId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getBelgianTitles?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n if (dogId !== undefined && dogId !== null)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (titleId !== undefined && titleId !== null)\n url_ += \"titleId=\" + encodeURIComponent(\"\" + titleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBelgianTitles(_response));\n });\n }\n\n protected processGetBelgianTitles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreeds(dogId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getBreeds?\";\n if (dogId !== undefined && dogId !== null)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreeds(_response));\n });\n }\n\n protected processGetBreeds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBabyDogBreedsQuery(dogId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getBabyDogBreeds?\";\n if (dogId !== undefined && dogId !== null)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBabyDogBreedsQuery(_response));\n });\n }\n\n protected processGetBabyDogBreedsQuery(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreedExceptions(currentBreedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getBreedExceptions?\";\n if (currentBreedId === null)\n throw new Error(\"The parameter 'currentBreedId' cannot be null.\");\n else if (currentBreedId !== undefined)\n url_ += \"currentBreedId=\" + encodeURIComponent(\"\" + currentBreedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreedExceptions(_response));\n });\n }\n\n protected processGetBreedExceptions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreedGroups(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getBreedGroups\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreedGroups(_response));\n });\n }\n\n protected processGetBreedGroups(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getVolunteerProfiles(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getVolunteerProfiles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVolunteerProfiles(_response));\n });\n }\n\n protected processGetVolunteerProfiles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreedVarieties(currentBreedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getBreedVarieties?\";\n if (currentBreedId === null)\n throw new Error(\"The parameter 'currentBreedId' cannot be null.\");\n else if (currentBreedId !== undefined)\n url_ += \"currentBreedId=\" + encodeURIComponent(\"\" + currentBreedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreedVarieties(_response));\n });\n }\n\n protected processGetBreedVarieties(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getBreedVarietiesWithCurrentBreed(currentBreedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getBreedVarietiesWithCurrentBreed?\";\n if (currentBreedId === null)\n throw new Error(\"The parameter 'currentBreedId' cannot be null.\");\n else if (currentBreedId !== undefined)\n url_ += \"currentBreedId=\" + encodeURIComponent(\"\" + currentBreedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBreedVarietiesWithCurrentBreed(_response));\n });\n }\n\n protected processGetBreedVarietiesWithCurrentBreed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCharacteristics(isDysplasia: boolean | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCharacteristics?\";\n if (isDysplasia === null)\n throw new Error(\"The parameter 'isDysplasia' cannot be null.\");\n else if (isDysplasia !== undefined)\n url_ += \"isDysplasia=\" + encodeURIComponent(\"\" + isDysplasia) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCharacteristics(_response));\n });\n }\n\n protected processGetCharacteristics(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCharacteristicTypes(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCharacteristicTypes?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCharacteristicTypes(_response));\n });\n }\n\n protected processGetCharacteristicTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDepartments(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getDepartments\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDepartments(_response));\n });\n }\n\n protected processGetDepartments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getHealthValues(characteristicId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getHealthValues?\";\n if (characteristicId === null)\n throw new Error(\"The parameter 'characteristicId' cannot be null.\");\n else if (characteristicId !== undefined)\n url_ += \"characteristicId=\" + encodeURIComponent(\"\" + characteristicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHealthValues(_response));\n });\n }\n\n protected processGetHealthValues(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCharacteristicValues(characteristicId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCharacteristicValues?\";\n if (characteristicId === null)\n throw new Error(\"The parameter 'characteristicId' cannot be null.\");\n else if (characteristicId !== undefined)\n url_ += \"characteristicId=\" + encodeURIComponent(\"\" + characteristicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCharacteristicValues(_response));\n });\n }\n\n protected processGetCharacteristicValues(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubs(personId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getClubs?\";\n if (personId !== undefined && personId !== null)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubs(_response));\n });\n }\n\n protected processGetClubs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getColors(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getColors?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetColors(_response));\n });\n }\n\n protected processGetColors(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getColorsByBreed(breedId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getColorsByBreeds?\";\n if (breedId === null)\n throw new Error(\"The parameter 'breedId' cannot be null.\");\n else if (breedId !== undefined)\n url_ += \"breedId=\" + encodeURIComponent(\"\" + breedId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetColorsByBreed(_response));\n });\n }\n\n protected processGetColorsByBreed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCountries(query: GetCountriesReferentialQuery): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCountries\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(query);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCountries(_response));\n });\n }\n\n protected processGetCountries(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDysplasiaRequests(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getDysplasiaRequests\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDysplasiaRequests(_response));\n });\n }\n\n protected processGetDysplasiaRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getOwnDysplasiaRequests(dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getOwnDysplasiaRequests?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetOwnDysplasiaRequests(_response));\n });\n }\n\n protected processGetOwnDysplasiaRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogsForWorkbookRequest(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getDogsForWorkbookRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogsForWorkbookRequest(_response));\n });\n }\n\n protected processGetDogsForWorkbookRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllDogTypes(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getAllDogTypes?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllDogTypes(_response));\n });\n }\n\n protected processGetAllDogTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogTypes(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getAllowedDogTypes?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogTypes(_response));\n });\n }\n\n protected processGetDogTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDogsWithPedigrees(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getDogsWithPedigrees\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDogsWithPedigrees(_response));\n });\n }\n\n protected processGetDogsWithPedigrees(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getUserProfiles(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getUserProfiles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUserProfiles(_response));\n });\n }\n\n protected processGetUserProfiles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getKennels(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getKennels\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetKennels(_response));\n });\n }\n\n protected processGetKennels(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getKennelTypes(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getKennelTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetKennelTypes(_response));\n });\n }\n\n protected processGetKennelTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLanguages(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getLanguages\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLanguages(_response));\n });\n }\n\n protected processGetLanguages(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllLanguages(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getAllLanguages\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllLanguages(_response));\n });\n }\n\n protected processGetAllLanguages(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestStates(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getRequestStates\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestStates(_response));\n });\n }\n\n protected processGetRequestStates(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestTypes(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/GetRequestTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestTypes(_response));\n });\n }\n\n protected processGetRequestTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSections(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getSections\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSections(_response));\n });\n }\n\n protected processGetSections(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSectionsForClub(clubId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getSectionsForClub?\";\n if (clubId !== undefined && clubId !== null)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSectionsForClub(_response));\n });\n }\n\n protected processGetSectionsForClub(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPostalCodes(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getPostalCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPostalCodes(_response));\n });\n }\n\n protected processGetPostalCodes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSex(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getSex?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSex(_response));\n });\n }\n\n protected processGetSex(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getVatCode(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getVatCode\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVatCode(_response));\n });\n }\n\n protected processGetVatCode(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWorkbookColors(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getWorkbookColors?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWorkbookColors(_response));\n });\n }\n\n protected processGetWorkbookColors(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchDogs(query: SearchDogReferentialQuery): Promise {\n let url_ = this.baseUrl + \"/api/Referential/searchDogs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(query);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchDogs(_response));\n });\n }\n\n protected processSearchDogs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogReferentialItem.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAgility(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getAgility\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAgility(_response));\n });\n }\n\n protected processGetAgility(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getJudgeType(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getJudgeType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetJudgeType(_response));\n });\n }\n\n protected processGetJudgeType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getGrooming(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getGrooming\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetGrooming(_response));\n });\n }\n\n protected processGetGrooming(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPedigreePrefixesByCountry(countryId: number | undefined, dogId: number | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getPedigreePrefixesByCountry?\";\n if (countryId === null)\n throw new Error(\"The parameter 'countryId' cannot be null.\");\n else if (countryId !== undefined)\n url_ += \"countryId=\" + encodeURIComponent(\"\" + countryId) + \"&\";\n if (dogId !== undefined && dogId !== null)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPedigreePrefixesByCountry(_response));\n });\n }\n\n protected processGetPedigreePrefixesByCountry(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllPedigreePrefixes(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getAllPedigreePrefixes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllPedigreePrefixes(_response));\n });\n }\n\n protected processGetAllPedigreePrefixes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllForeignPedigreePrefixes(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getAllForeignPedigreePrefixes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllForeignPedigreePrefixes(_response));\n });\n }\n\n protected processGetAllForeignPedigreePrefixes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubRoles(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getClubRoles?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubRoles(_response));\n });\n }\n\n protected processGetClubRoles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClubRolesForContact(languageId: number | undefined, clubId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getClubRolesForContact?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n if (clubId === null)\n throw new Error(\"The parameter 'clubId' cannot be null.\");\n else if (clubId !== undefined)\n url_ += \"clubId=\" + encodeURIComponent(\"\" + clubId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClubRolesForContact(_response));\n });\n }\n\n protected processGetClubRolesForContact(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCompetitions(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCompetitions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCompetitions(_response));\n });\n }\n\n protected processGetCompetitions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getTitles(languageId: number | undefined, platform: EPlatform | undefined, countryId: number | null | undefined, canBeUsed: boolean | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getTitles?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n if (platform === null)\n throw new Error(\"The parameter 'platform' cannot be null.\");\n else if (platform !== undefined)\n url_ += \"platform=\" + encodeURIComponent(\"\" + platform) + \"&\";\n if (countryId !== undefined && countryId !== null)\n url_ += \"countryId=\" + encodeURIComponent(\"\" + countryId) + \"&\";\n if (canBeUsed !== undefined && canBeUsed !== null)\n url_ += \"canBeUsed=\" + encodeURIComponent(\"\" + canBeUsed) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetTitles(_response));\n });\n }\n\n protected processGetTitles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWorkbookTypes(languageId: number | undefined, dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getWorkbookTypes?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWorkbookTypes(_response));\n });\n }\n\n protected processGetWorkbookTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getTitleTypes(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getTitleTypes?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetTitleTypes(_response));\n });\n }\n\n protected processGetTitleTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getPersonSalutations(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getPersonSalutations?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPersonSalutations(_response));\n });\n }\n\n protected processGetPersonSalutations(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMembershipTypes(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getMembershipTypes?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembershipTypes(_response));\n });\n }\n\n protected processGetMembershipTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestDogs(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getRequestDogs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestDogs(_response));\n });\n }\n\n protected processGetRequestDogs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestDogsWithoutPedigree(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getRequestDogsWithoutPedigree\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestDogsWithoutPedigree(_response));\n });\n }\n\n protected processGetRequestDogsWithoutPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestDogsWithPedigree(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getRequestDogsWithPedigree\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestDogsWithPedigree(_response));\n });\n }\n\n protected processGetRequestDogsWithPedigree(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSubFilesRequestTypes(requestTypeCode: ERequestType | undefined, languageId: number | undefined, requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getSubFilesRequestTypes?\";\n if (requestTypeCode === null)\n throw new Error(\"The parameter 'requestTypeCode' cannot be null.\");\n else if (requestTypeCode !== undefined)\n url_ += \"requestTypeCode=\" + encodeURIComponent(\"\" + requestTypeCode) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSubFilesRequestTypes(_response));\n });\n }\n\n protected processGetSubFilesRequestTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMembershipRequestType(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getMembershipRequestType?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembershipRequestType(_response));\n });\n }\n\n protected processGetMembershipRequestType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMembershipDecisions(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getMembershipDecisions?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembershipDecisions(_response));\n });\n }\n\n protected processGetMembershipDecisions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLabs(): Promise {\n let url_ = this.baseUrl + \"/api/Referential/geLabs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLabs(_response));\n });\n }\n\n protected processGetLabs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCompetitionExpos(competitionId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Referential/getCompetitionExpos?\";\n if (competitionId === null)\n throw new Error(\"The parameter 'competitionId' cannot be null.\");\n else if (competitionId !== undefined)\n url_ += \"competitionId=\" + encodeURIComponent(\"\" + competitionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCompetitionExpos(_response));\n });\n }\n\n protected processGetCompetitionExpos(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReferentialItemDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IReprintPedigreeApi {\n\n baseSearch(sObj: ReprintPuppiesSearch): Promise;\n\n reprintPedigrees(): Promise;\n\n exportXlsFile(sObj: ReprintPuppiesSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class ReprintPedigreeApi extends BaseAPI implements IReprintPedigreeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: ReprintPuppiesSearch): Promise {\n let url_ = this.baseUrl + \"/api/ReprintPedigree/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfReprintPedigreePuppiesGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintPedigrees(): Promise {\n let url_ = this.baseUrl + \"/api/ReprintPedigree\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintPedigrees(_response));\n });\n }\n\n protected processReprintPedigrees(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: ReprintPuppiesSearch): Promise {\n let url_ = this.baseUrl + \"/api/ReprintPedigree/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ReprintPedigree/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/ReprintPedigree/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IRequestActionHistoryApi {\n\n baseSearch(sObj: BaseRequestSearch): Promise;\n\n exportXlsFile(sObj: BaseRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class RequestActionHistoryApi extends BaseAPI implements IRequestActionHistoryApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: BaseRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/RequestActionHistory/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfRequestHistoryActionGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: BaseRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/RequestActionHistory/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/RequestActionHistory/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/RequestActionHistory/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IRequestApi {\n\n baseSearch(sObj: RequestSearch): Promise;\n\n getTurnOverReport(month: number | undefined, year: number | undefined): Promise;\n\n downloadRequestDocument(sharepointUri: string | null | undefined, fileName: string | null | undefined): Promise;\n\n getRequestRemark(requestId: number | undefined): Promise;\n\n getSharepointDoc(requestId: number | undefined): Promise;\n\n drupalSearch(sobj: DrupalRequestSearch): Promise;\n\n saveRequestComment(requestId: number | undefined, comment: string | null | undefined): Promise;\n\n printInvoice(requestId: number | undefined): Promise;\n\n uncancelRequest(requestId: number | undefined): Promise;\n\n updateInvoicePaiementType(requestId: number | undefined, method: string | null | undefined): Promise;\n\n resendInvoice(requestId: number | undefined): Promise;\n\n getRequestInvoice(requestId: number | undefined): Promise;\n\n getRequestPayementInfo(requestId: number | undefined): Promise;\n\n isSyncedWithParent(requestId: number | undefined): Promise;\n\n getRequestStatus(requestStatusId: number | undefined): Promise;\n\n getDisplayName(requestId: number | undefined, languageId: number | undefined): Promise;\n\n getDrupalRequestTypes(): Promise;\n\n checkAllVerifications(requestId: number | undefined): Promise;\n\n getStatusCurrentRequest(requestId: number | undefined): Promise;\n\n closeRequest(requestId: number | undefined): Promise;\n\n createCreditMemo(requestId: number | undefined, invoiceItemIds: number[]): Promise;\n\n updateRequestBlockedStatus(requestId: number | undefined): Promise;\n\n updateRequestStatus(requestId: number | undefined, requestStatusId: number | undefined, platform: EPlatform | undefined): Promise;\n\n quickUpdateRequestStatus(command: QuickUpdateRequestStatusIdCommand): Promise;\n\n updateRequestStatusWithCommand(command: UpdateRequestStatusIdCommand): Promise;\n\n getRequestMenu(requestId: number | undefined, languageId: number | undefined): Promise;\n\n getCurrentRequest(requestId: number | undefined): Promise;\n\n getStatusId(code: ERequestState | undefined): Promise;\n\n getByRequestNumberOrInvoice(requestInformation: string | null | undefined): Promise;\n\n getSubRequestTypeId(requestId: number | undefined, requestTypeCode: ERequestType | undefined): Promise;\n\n getSubRequestCount(requestId: number | undefined): Promise;\n\n getRequestInfo(requestTypeCode: ERequestType | undefined, requestId: number | null | undefined, masterRequestId: number | null | undefined, languageId: number | undefined): Promise;\n\n getVerifications(requestId: number | undefined): Promise;\n\n saveVerifications(requestId: number | undefined, values: VerificationsValueDto[]): Promise;\n\n getConditions(requestId: number | undefined): Promise;\n\n forceCondition(neededConditionId: number | undefined, requestId: number | undefined): Promise;\n\n askInfos(requestId: number | undefined): Promise;\n\n createInSharepoint(requestId: number): Promise;\n\n testShpGetFiles(id: number): Promise;\n\n exportXlsFile(sObj: RequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class RequestApi extends BaseAPI implements IRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: RequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/Request/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getTurnOverReport(month: number | undefined, year: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getTurnOverReport?\";\n if (month === null)\n throw new Error(\"The parameter 'month' cannot be null.\");\n else if (month !== undefined)\n url_ += \"month=\" + encodeURIComponent(\"\" + month) + \"&\";\n if (year === null)\n throw new Error(\"The parameter 'year' cannot be null.\");\n else if (year !== undefined)\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetTurnOverReport(_response));\n });\n }\n\n protected processGetTurnOverReport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n downloadRequestDocument(sharepointUri: string | null | undefined, fileName: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/DownloadRequestDocument?\";\n if (sharepointUri !== undefined && sharepointUri !== null)\n url_ += \"sharepointUri=\" + encodeURIComponent(\"\" + sharepointUri) + \"&\";\n if (fileName !== undefined && fileName !== null)\n url_ += \"fileName=\" + encodeURIComponent(\"\" + fileName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDownloadRequestDocument(_response));\n });\n }\n\n protected processDownloadRequestDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestRemark(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestRemark(_response));\n });\n }\n\n protected processGetRequestRemark(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfString.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSharepointDoc(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/GetRequestSharepointDocs?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSharepointDoc(_response));\n });\n }\n\n protected processGetSharepointDoc(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ShpDocumentContentDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n drupalSearch(sobj: DrupalRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/Request/drupalSearch\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sobj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDrupalSearch(_response));\n });\n }\n\n protected processDrupalSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDrupalRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveRequestComment(requestId: number | undefined, comment: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/SaveRequestComment?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (comment !== undefined && comment !== null)\n url_ += \"comment=\" + encodeURIComponent(\"\" + comment) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveRequestComment(_response));\n });\n }\n\n protected processSaveRequestComment(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n printInvoice(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/printInvoice?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processPrintInvoice(_response));\n });\n }\n\n protected processPrintInvoice(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n uncancelRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/unCancelRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUncancelRequest(_response));\n });\n }\n\n protected processUncancelRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateInvoicePaiementType(requestId: number | undefined, method: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/updateInvoicePaiementType?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (method !== undefined && method !== null)\n url_ += \"method=\" + encodeURIComponent(\"\" + method) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateInvoicePaiementType(_response));\n });\n }\n\n protected processUpdateInvoicePaiementType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n resendInvoice(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/resendInvoice?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processResendInvoice(_response));\n });\n }\n\n protected processResendInvoice(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestInvoice(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getRequestInvoice?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestInvoice(_response));\n });\n }\n\n protected processGetRequestInvoice(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = InvoiceDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestPayementInfo(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getRequestPayementInfo?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestPayementInfo(_response));\n });\n }\n\n protected processGetRequestPayementInfo(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaymentInfoDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isSyncedWithParent(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/isSyncedWithParent?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsSyncedWithParent(_response));\n });\n }\n\n protected processIsSyncedWithParent(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestStatus(requestStatusId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getRequestStatus?\";\n if (requestStatusId === null)\n throw new Error(\"The parameter 'requestStatusId' cannot be null.\");\n else if (requestStatusId !== undefined)\n url_ += \"requestStatusId=\" + encodeURIComponent(\"\" + requestStatusId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestStatus(_response));\n });\n }\n\n protected processGetRequestStatus(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(requestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getDisplayName?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalRequestTypes(): Promise {\n let url_ = this.baseUrl + \"/api/Request/drupalRequestTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalRequestTypes(_response));\n });\n }\n\n protected processGetDrupalRequestTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DrupalRequestTypeDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkAllVerifications(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/checkAllVerifications?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckAllVerifications(_response));\n });\n }\n\n protected processCheckAllVerifications(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getStatusCurrentRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getStatusCurrentRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetStatusCurrentRequest(_response));\n });\n }\n\n protected processGetStatusCurrentRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/closeRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseRequest(_response));\n });\n }\n\n protected processCloseRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createCreditMemo(requestId: number | undefined, invoiceItemIds: number[]): Promise {\n let url_ = this.baseUrl + \"/api/Request/createCreditMemo?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(invoiceItemIds);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateCreditMemo(_response));\n });\n }\n\n protected processCreateCreditMemo(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateRequestBlockedStatus(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/updateRequestBlockedStatus?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateRequestBlockedStatus(_response));\n });\n }\n\n protected processUpdateRequestBlockedStatus(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateRequestStatus(requestId: number | undefined, requestStatusId: number | undefined, platform: EPlatform | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/updateRequestStatus?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (requestStatusId === null)\n throw new Error(\"The parameter 'requestStatusId' cannot be null.\");\n else if (requestStatusId !== undefined)\n url_ += \"requestStatusId=\" + encodeURIComponent(\"\" + requestStatusId) + \"&\";\n if (platform === null)\n throw new Error(\"The parameter 'platform' cannot be null.\");\n else if (platform !== undefined)\n url_ += \"platform=\" + encodeURIComponent(\"\" + platform) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateRequestStatus(_response));\n });\n }\n\n protected processUpdateRequestStatus(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n quickUpdateRequestStatus(command: QuickUpdateRequestStatusIdCommand): Promise {\n let url_ = this.baseUrl + \"/api/Request/quickUpdateRequestStatusWithCommand\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(command);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processQuickUpdateRequestStatus(_response));\n });\n }\n\n protected processQuickUpdateRequestStatus(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateRequestStatusWithCommand(command: UpdateRequestStatusIdCommand): Promise {\n let url_ = this.baseUrl + \"/api/Request/updateRequestStatusWithCommand\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(command);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateRequestStatusWithCommand(_response));\n });\n }\n\n protected processUpdateRequestStatusWithCommand(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestMenu(requestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getRequestMenu?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestMenu(_response));\n });\n }\n\n protected processGetRequestMenu(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RequestMenuDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCurrentRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getCurrentRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCurrentRequest(_response));\n });\n }\n\n protected processGetCurrentRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getStatusId(code: ERequestState | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getStatusId?\";\n if (code === null)\n throw new Error(\"The parameter 'code' cannot be null.\");\n else if (code !== undefined)\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetStatusId(_response));\n });\n }\n\n protected processGetStatusId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByRequestNumberOrInvoice(requestInformation: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getByRequestNumber?\";\n if (requestInformation !== undefined && requestInformation !== null)\n url_ += \"requestInformation=\" + encodeURIComponent(\"\" + requestInformation) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetByRequestNumberOrInvoice(_response));\n });\n }\n\n protected processGetByRequestNumberOrInvoice(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SubRequestInfoDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSubRequestTypeId(requestId: number | undefined, requestTypeCode: ERequestType | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getSubRequestId?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (requestTypeCode === null)\n throw new Error(\"The parameter 'requestTypeCode' cannot be null.\");\n else if (requestTypeCode !== undefined)\n url_ += \"requestTypeCode=\" + encodeURIComponent(\"\" + requestTypeCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSubRequestTypeId(_response));\n });\n }\n\n protected processGetSubRequestTypeId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSubRequestCount(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getSubRequestCount?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSubRequestCount(_response));\n });\n }\n\n protected processGetSubRequestCount(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getRequestInfo(requestTypeCode: ERequestType | undefined, requestId: number | null | undefined, masterRequestId: number | null | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getRequestInfo?\";\n if (requestTypeCode === null)\n throw new Error(\"The parameter 'requestTypeCode' cannot be null.\");\n else if (requestTypeCode !== undefined)\n url_ += \"requestTypeCode=\" + encodeURIComponent(\"\" + requestTypeCode) + \"&\";\n if (requestId !== undefined && requestId !== null)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n if (masterRequestId !== undefined && masterRequestId !== null)\n url_ += \"masterRequestId=\" + encodeURIComponent(\"\" + masterRequestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRequestInfo(_response));\n });\n }\n\n protected processGetRequestInfo(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RequestInfoDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getVerifications(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getVerifications?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVerifications(_response));\n });\n }\n\n protected processGetVerifications(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(VerificationsValueDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveVerifications(requestId: number | undefined, values: VerificationsValueDto[]): Promise {\n let url_ = this.baseUrl + \"/api/Request/saveVerifications?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(values);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveVerifications(_response));\n });\n }\n\n protected processSaveVerifications(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getConditions(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/getConditions?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetConditions(_response));\n });\n }\n\n protected processGetConditions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(NeededConditionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n forceCondition(neededConditionId: number | undefined, requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/forceCondition?\";\n if (neededConditionId === null)\n throw new Error(\"The parameter 'neededConditionId' cannot be null.\");\n else if (neededConditionId !== undefined)\n url_ += \"neededConditionId=\" + encodeURIComponent(\"\" + neededConditionId) + \"&\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processForceCondition(_response));\n });\n }\n\n protected processForceCondition(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n askInfos(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/askInfos?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAskInfos(_response));\n });\n }\n\n protected processAskInfos(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createInSharepoint(requestId: number): Promise {\n let url_ = this.baseUrl + \"/api/Request/CreateInSharepoint/{requestId}\";\n if (requestId === undefined || requestId === null)\n throw new Error(\"The parameter 'requestId' must be defined.\");\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateInSharepoint(_response));\n });\n }\n\n protected processCreateInSharepoint(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testShpGetFiles(id: number): Promise {\n let url_ = this.baseUrl + \"/api/Request/test-shp-get-files/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestShpGetFiles(_response));\n });\n }\n\n protected processTestShpGetFiles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ShpDocumentContentDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: RequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/Request/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Request/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Request/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ISectionLinkedActivitiesApi {\n\n baseSearch(sObj: SectionLinkedActivitiesSearch): Promise;\n\n getIds(sObj: SectionLinkedActivitiesSearch): Promise;\n\n exportXlsFile(sObj: SectionLinkedActivitiesSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class SectionLinkedActivitiesApi extends BaseAPI implements ISectionLinkedActivitiesApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: SectionLinkedActivitiesSearch): Promise {\n let url_ = this.baseUrl + \"/api/SectionLinkedActivities/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfSectionLinkedActivitiesDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: SectionLinkedActivitiesSearch): Promise {\n let url_ = this.baseUrl + \"/api/SectionLinkedActivities/getIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: SectionLinkedActivitiesSearch): Promise {\n let url_ = this.baseUrl + \"/api/SectionLinkedActivities/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/SectionLinkedActivities/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/SectionLinkedActivities/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ISectionsApi {\n\n baseSearch(sObj: SectionSearch): Promise;\n\n getSection(id: number | undefined): Promise;\n\n saveSection(dto: SectionDto): Promise;\n\n deleteSection(id: number | undefined): Promise;\n\n isSectionUnique(sectionCode: string | null | undefined, sectionId: number | undefined): Promise;\n\n getDisplayName(sectionId: number | undefined, languageCode: string | null | undefined): Promise;\n\n exportXlsFile(sObj: SectionSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class SectionsApi extends BaseAPI implements ISectionsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: SectionSearch): Promise {\n let url_ = this.baseUrl + \"/api/Sections/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfSectionsGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSection(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Sections?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSection(_response));\n });\n }\n\n protected processGetSection(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SectionDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveSection(dto: SectionDto): Promise {\n let url_ = this.baseUrl + \"/api/Sections\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveSection(_response));\n });\n }\n\n protected processSaveSection(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteSection(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Sections?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteSection(_response));\n });\n }\n\n protected processDeleteSection(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isSectionUnique(sectionCode: string | null | undefined, sectionId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Sections/IsSectionUnique?\";\n if (sectionCode !== undefined && sectionCode !== null)\n url_ += \"sectionCode=\" + encodeURIComponent(\"\" + sectionCode) + \"&\";\n if (sectionId === null)\n throw new Error(\"The parameter 'sectionId' cannot be null.\");\n else if (sectionId !== undefined)\n url_ += \"sectionId=\" + encodeURIComponent(\"\" + sectionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsSectionUnique(_response));\n });\n }\n\n protected processIsSectionUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(sectionId: number | undefined, languageCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Sections/displayname?\";\n if (sectionId === null)\n throw new Error(\"The parameter 'sectionId' cannot be null.\");\n else if (sectionId !== undefined)\n url_ += \"sectionId=\" + encodeURIComponent(\"\" + sectionId) + \"&\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: SectionSearch): Promise {\n let url_ = this.baseUrl + \"/api/Sections/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Sections/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Sections/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ISubActivityApi {\n\n baseSearch(sObj: SubActivitySearch): Promise;\n\n get(id: number | undefined): Promise;\n\n save(dto: SubActivityDetailDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n getDisplayName(id: number | undefined, languageCode: string | null | undefined): Promise;\n\n exportXlsFile(sObj: SubActivitySearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class SubActivityApi extends BaseAPI implements ISubActivityApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: SubActivitySearch): Promise {\n let url_ = this.baseUrl + \"/api/SubActivity/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfSubActivityGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/SubActivity?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SubActivityDetailDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: SubActivityDetailDto): Promise {\n let url_ = this.baseUrl + \"/api/SubActivity\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/SubActivity?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined, languageCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/SubActivity/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: SubActivitySearch): Promise {\n let url_ = this.baseUrl + \"/api/SubActivity/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/SubActivity/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/SubActivity/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ISubActivityJudgeApi {\n\n baseSearch(sObj: SubActivityJudgeSearch): Promise;\n\n getIds(sObj: SubActivityJudgeSearch): Promise;\n\n saveSubActivityJudge(dto: SaveSubActivityJudgeDto): Promise;\n\n deleteSubActivityJudge(breedJudgeId: number | undefined): Promise;\n\n exportXlsFile(sObj: SubActivityJudgeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class SubActivityJudgeApi extends BaseAPI implements ISubActivityJudgeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: SubActivityJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/SubActivityJudge/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfSubActivityJudgeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIds(sObj: SubActivityJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/SubActivityJudge\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetIds(_response));\n });\n }\n\n protected processGetIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveSubActivityJudge(dto: SaveSubActivityJudgeDto): Promise {\n let url_ = this.baseUrl + \"/api/SubActivityJudge\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveSubActivityJudge(_response));\n });\n }\n\n protected processSaveSubActivityJudge(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteSubActivityJudge(breedJudgeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/SubActivityJudge?\";\n if (breedJudgeId === null)\n throw new Error(\"The parameter 'breedJudgeId' cannot be null.\");\n else if (breedJudgeId !== undefined)\n url_ += \"breedJudgeId=\" + encodeURIComponent(\"\" + breedJudgeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteSubActivityJudge(_response));\n });\n }\n\n protected processDeleteSubActivityJudge(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: SubActivityJudgeSearch): Promise {\n let url_ = this.baseUrl + \"/api/SubActivityJudge/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/SubActivityJudge/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/SubActivityJudge/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ISystemApi {\n\n get(): Promise;\n\n checkException(): Promise;\n\n ingenicoSettings(): Promise;\n\n forceUpdateVersion(): Promise;\n}\n\nexport class SystemApi extends BaseAPI implements ISystemApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n get(): Promise {\n let url_ = this.baseUrl + \"/api/System\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SystemVersionDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkException(): Promise {\n let url_ = this.baseUrl + \"/api/System/fail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckException(_response));\n });\n }\n\n protected processCheckException(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ErrorDetails.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n ingenicoSettings(): Promise {\n let url_ = this.baseUrl + \"/api/System/IngenicoSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIngenicoSettings(_response));\n });\n }\n\n protected processIngenicoSettings(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = IngenicoSettings.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n forceUpdateVersion(): Promise {\n let url_ = this.baseUrl + \"/api/System/ForceUpdateVersion\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processForceUpdateVersion(_response));\n });\n }\n\n protected processForceUpdateVersion(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ITempRSHRequestApi {\n\n baseSearch(sObj: TempRSHRequestSearch): Promise;\n\n get(tempRSHRequestId: number | undefined): Promise;\n\n save(dto: TempRSHRequestDto): Promise;\n\n isDogAvailable(dogId: number | undefined, tempRSHRequestId: number | undefined): Promise;\n\n close(requestId: number | undefined): Promise;\n\n exportXlsFile(sObj: TempRSHRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class TempRSHRequestApi extends BaseAPI implements ITempRSHRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: TempRSHRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/TempRSHRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTempRSHRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(tempRSHRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TempRSHRequest?\";\n if (tempRSHRequestId === null)\n throw new Error(\"The parameter 'tempRSHRequestId' cannot be null.\");\n else if (tempRSHRequestId !== undefined)\n url_ += \"tempRSHRequestId=\" + encodeURIComponent(\"\" + tempRSHRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TempRSHRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: TempRSHRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/TempRSHRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogAvailable(dogId: number | undefined, tempRSHRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TempRSHRequest/isDogAvailable?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (tempRSHRequestId === null)\n throw new Error(\"The parameter 'tempRSHRequestId' cannot be null.\");\n else if (tempRSHRequestId !== undefined)\n url_ += \"tempRSHRequestId=\" + encodeURIComponent(\"\" + tempRSHRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogAvailable(_response));\n });\n }\n\n protected processIsDogAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TempRSHRequest/close?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: TempRSHRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/TempRSHRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TempRSHRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/TempRSHRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ITestApi {\n\n broodtyestdoc(): Promise;\n\n reprinBillTest(): Promise;\n\n reprinBillTest2(invoiceBcIdentifier: string | null | undefined): Promise;\n\n applyPayment(): Promise;\n\n fixBroodRequestBilling(): Promise;\n\n checkBillStatusesV2(): Promise;\n\n updateNavPeople(): Promise;\n\n regenerateJudgesDocuments(): Promise;\n\n sendInvitationsAgain(): Promise;\n\n sendAuthorizationReceivedEmailGET(): Promise;\n\n sendAuthorizationReceivedEmailPOST(file: FileParameter | null | undefined): Promise;\n\n checkBroodRequestUpdateInProgenus(requestNumber: string | null | undefined, requestId: number | undefined): Promise;\n\n computeCompetitionNotifications(): Promise;\n\n updateBabyDogPictureIds(): Promise;\n\n testBroodRequest(): Promise;\n\n testNavCr(): Promise;\n\n tmp(): Promise;\n\n regenDysplasia(): Promise;\n\n regenDysplasiaCertificate(): Promise;\n\n reprintWorkbooks(): Promise;\n\n handleIngenicoPayments(): Promise;\n\n updateNRegetCertificatesavPeople(): Promise;\n\n reprintRSH(): Promise;\n\n regenPedigrees(): Promise;\n\n print150Pedigrees(): Promise;\n\n updateNavArticles(): Promise;\n\n seed(): Promise;\n\n testSharepointElocket(site: EShpSite | undefined, sharpeointUri: string | null | undefined, docType: EShpDocType | undefined, elocketNewValue: boolean | undefined): Promise;\n\n getProgenusPuppies(): Promise;\n\n getProgenusAllPuppiesReferences(): Promise;\n\n updateSharepointBill(): Promise;\n\n testDocxToPdfConverter(): Promise;\n\n addDnaToProgenusOrderDogs(): Promise;\n\n downloadProgenusCertificateAndUploadToShp(requestNumber: string | null | undefined): Promise;\n\n downloadBroodRequestProgenusCertificateAndUploadToShp(requestNumber: string | null | undefined, puppyId: number | undefined, dogId: number | undefined): Promise;\n\n sendFileToPrinterQueue(printerName: string | null, printer: string, file: FileParameter | null | undefined): Promise;\n\n getStructuredCommunication(requestId: number | undefined): Promise;\n\n printBill(bcIdentifier: string | null | undefined): Promise;\n\n generateDocxTest(): Promise;\n\n testInvoiceValidation(requestId: number | undefined): Promise;\n\n getMappingErrors(): Promise;\n\n fixAshLosh(broodRequestId: number | undefined): Promise;\n\n fixAlshLoshPuppyPedigreePrefixesv(): Promise;\n}\n\nexport class TestApi extends BaseAPI implements ITestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n broodtyestdoc(): Promise {\n let url_ = this.baseUrl + \"/api/Test/broodtyestdoc\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBroodtyestdoc(_response));\n });\n }\n\n protected processBroodtyestdoc(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprinBillTest(): Promise {\n let url_ = this.baseUrl + \"/api/Test/reprinBillTest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprinBillTest(_response));\n });\n }\n\n protected processReprinBillTest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprinBillTest2(invoiceBcIdentifier: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/isPaidInNav?\";\n if (invoiceBcIdentifier !== undefined && invoiceBcIdentifier !== null)\n url_ += \"invoiceBcIdentifier=\" + encodeURIComponent(\"\" + invoiceBcIdentifier) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprinBillTest2(_response));\n });\n }\n\n protected processReprinBillTest2(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n applyPayment(): Promise {\n let url_ = this.baseUrl + \"/api/Test/applyPayment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processApplyPayment(_response));\n });\n }\n\n protected processApplyPayment(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n fixBroodRequestBilling(): Promise {\n let url_ = this.baseUrl + \"/api/Test/FixRequestBilling\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processFixBroodRequestBilling(_response));\n });\n }\n\n protected processFixBroodRequestBilling(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkBillStatusesV2(): Promise {\n let url_ = this.baseUrl + \"/api/Test/CheckBillStatusesV2\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckBillStatusesV2(_response));\n });\n }\n\n protected processCheckBillStatusesV2(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateNavPeople(): Promise {\n let url_ = this.baseUrl + \"/api/Test/UpdateNavPeople\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateNavPeople(_response));\n });\n }\n\n protected processUpdateNavPeople(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenerateJudgesDocuments(): Promise {\n let url_ = this.baseUrl + \"/api/Test/RegenerateJudgesDocuments\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenerateJudgesDocuments(_response));\n });\n }\n\n protected processRegenerateJudgesDocuments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n sendInvitationsAgain(): Promise {\n let url_ = this.baseUrl + \"/api/Test/SendInvitationsAgain\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSendInvitationsAgain(_response));\n });\n }\n\n protected processSendInvitationsAgain(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n sendAuthorizationReceivedEmailGET(): Promise {\n let url_ = this.baseUrl + \"/api/Test/SendAuthorizationReceivedEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSendAuthorizationReceivedEmailGET(_response));\n });\n }\n\n protected processSendAuthorizationReceivedEmailGET(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n sendAuthorizationReceivedEmailPOST(file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/ImportCommissioner\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSendAuthorizationReceivedEmailPOST(_response));\n });\n }\n\n protected processSendAuthorizationReceivedEmailPOST(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkBroodRequestUpdateInProgenus(requestNumber: string | null | undefined, requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/CheckBroodRequestUpdateInProgenus?\";\n if (requestNumber !== undefined && requestNumber !== null)\n url_ += \"requestNumber=\" + encodeURIComponent(\"\" + requestNumber) + \"&\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckBroodRequestUpdateInProgenus(_response));\n });\n }\n\n protected processCheckBroodRequestUpdateInProgenus(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n computeCompetitionNotifications(): Promise {\n let url_ = this.baseUrl + \"/api/Test/ComputeCompetitionNotifications\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processComputeCompetitionNotifications(_response));\n });\n }\n\n protected processComputeCompetitionNotifications(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateBabyDogPictureIds(): Promise {\n let url_ = this.baseUrl + \"/api/Test/UpdateBabyDogPictureIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateBabyDogPictureIds(_response));\n });\n }\n\n protected processUpdateBabyDogPictureIds(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testBroodRequest(): Promise {\n let url_ = this.baseUrl + \"/api/Test/TestBroodRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestBroodRequest(_response));\n });\n }\n\n protected processTestBroodRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testNavCr(): Promise {\n let url_ = this.baseUrl + \"/api/Test/TestNavCr\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestNavCr(_response));\n });\n }\n\n protected processTestNavCr(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n tmp(): Promise {\n let url_ = this.baseUrl + \"/api/Test/CloseRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTmp(_response));\n });\n }\n\n protected processTmp(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenDysplasia(): Promise {\n let url_ = this.baseUrl + \"/api/Test/RegenDysplasia\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenDysplasia(_response));\n });\n }\n\n protected processRegenDysplasia(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenDysplasiaCertificate(): Promise {\n let url_ = this.baseUrl + \"/api/Test/RegenDysplasiaCertificate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenDysplasiaCertificate(_response));\n });\n }\n\n protected processRegenDysplasiaCertificate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintWorkbooks(): Promise {\n let url_ = this.baseUrl + \"/api/Test/ReprintWorkbooks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintWorkbooks(_response));\n });\n }\n\n protected processReprintWorkbooks(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n handleIngenicoPayments(): Promise {\n let url_ = this.baseUrl + \"/api/Test/HandleIngenicoPayments\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processHandleIngenicoPayments(_response));\n });\n }\n\n protected processHandleIngenicoPayments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateNRegetCertificatesavPeople(): Promise {\n let url_ = this.baseUrl + \"/api/Test/CheckIFCertificateIsInSharepoint\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateNRegetCertificatesavPeople(_response));\n });\n }\n\n protected processUpdateNRegetCertificatesavPeople(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintRSH(): Promise {\n let url_ = this.baseUrl + \"/api/Test/ReprintRSH\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintRSH(_response));\n });\n }\n\n protected processReprintRSH(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenPedigrees(): Promise {\n let url_ = this.baseUrl + \"/api/Test/RegenPedigrees\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenPedigrees(_response));\n });\n }\n\n protected processRegenPedigrees(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n print150Pedigrees(): Promise {\n let url_ = this.baseUrl + \"/api/Test/Print150Pedigrees\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processPrint150Pedigrees(_response));\n });\n }\n\n protected processPrint150Pedigrees(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateNavArticles(): Promise {\n let url_ = this.baseUrl + \"/api/Test/UpdateNavArticles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateNavArticles(_response));\n });\n }\n\n protected processUpdateNavArticles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n seed(): Promise {\n let url_ = this.baseUrl + \"/api/Test/Seed\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSeed(_response));\n });\n }\n\n protected processSeed(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testSharepointElocket(site: EShpSite | undefined, sharpeointUri: string | null | undefined, docType: EShpDocType | undefined, elocketNewValue: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/TestSharepointElocket?\";\n if (site === null)\n throw new Error(\"The parameter 'site' cannot be null.\");\n else if (site !== undefined)\n url_ += \"site=\" + encodeURIComponent(\"\" + site) + \"&\";\n if (sharpeointUri !== undefined && sharpeointUri !== null)\n url_ += \"sharpeointUri=\" + encodeURIComponent(\"\" + sharpeointUri) + \"&\";\n if (docType === null)\n throw new Error(\"The parameter 'docType' cannot be null.\");\n else if (docType !== undefined)\n url_ += \"docType=\" + encodeURIComponent(\"\" + docType) + \"&\";\n if (elocketNewValue === null)\n throw new Error(\"The parameter 'elocketNewValue' cannot be null.\");\n else if (elocketNewValue !== undefined)\n url_ += \"ElocketNewValue=\" + encodeURIComponent(\"\" + elocketNewValue) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestSharepointElocket(_response));\n });\n }\n\n protected processTestSharepointElocket(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getProgenusPuppies(): Promise {\n let url_ = this.baseUrl + \"/api/Test/ProgenusPuppies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetProgenusPuppies(_response));\n });\n }\n\n protected processGetProgenusPuppies(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getProgenusAllPuppiesReferences(): Promise {\n let url_ = this.baseUrl + \"/api/Test/ProgenusAllPuppies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetProgenusAllPuppiesReferences(_response));\n });\n }\n\n protected processGetProgenusAllPuppiesReferences(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateSharepointBill(): Promise {\n let url_ = this.baseUrl + \"/api/Test/UpdateSharepointBill\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateSharepointBill(_response));\n });\n }\n\n protected processUpdateSharepointBill(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testDocxToPdfConverter(): Promise {\n let url_ = this.baseUrl + \"/api/Test/TestDocxToPdfConverter\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestDocxToPdfConverter(_response));\n });\n }\n\n protected processTestDocxToPdfConverter(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addDnaToProgenusOrderDogs(): Promise {\n let url_ = this.baseUrl + \"/api/Test/AddDnaToProgenusOrderDogs\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddDnaToProgenusOrderDogs(_response));\n });\n }\n\n protected processAddDnaToProgenusOrderDogs(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n downloadProgenusCertificateAndUploadToShp(requestNumber: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/DownloadHealthTestProgenusCertificateAndUploadToShp?\";\n if (requestNumber !== undefined && requestNumber !== null)\n url_ += \"requestNumber=\" + encodeURIComponent(\"\" + requestNumber) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDownloadProgenusCertificateAndUploadToShp(_response));\n });\n }\n\n protected processDownloadProgenusCertificateAndUploadToShp(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n downloadBroodRequestProgenusCertificateAndUploadToShp(requestNumber: string | null | undefined, puppyId: number | undefined, dogId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/DownloadBroodRequestProgenusCertificateAndUploadToShp?\";\n if (requestNumber !== undefined && requestNumber !== null)\n url_ += \"requestNumber=\" + encodeURIComponent(\"\" + requestNumber) + \"&\";\n if (puppyId === null)\n throw new Error(\"The parameter 'puppyId' cannot be null.\");\n else if (puppyId !== undefined)\n url_ += \"puppyId=\" + encodeURIComponent(\"\" + puppyId) + \"&\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDownloadBroodRequestProgenusCertificateAndUploadToShp(_response));\n });\n }\n\n protected processDownloadBroodRequestProgenusCertificateAndUploadToShp(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n sendFileToPrinterQueue(printerName: string | null, printer: string, file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/SendFileToPrinterQueue/{printer}\";\n if (printerName === undefined || printerName === null)\n throw new Error(\"The parameter 'printerName' must be defined.\");\n url_ = url_.replace(\"{printerName}\", encodeURIComponent(\"\" + printerName));\n if (printer === undefined || printer === null)\n throw new Error(\"The parameter 'printer' must be defined.\");\n url_ = url_.replace(\"{printer}\", encodeURIComponent(\"\" + printer));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSendFileToPrinterQueue(_response));\n });\n }\n\n protected processSendFileToPrinterQueue(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getStructuredCommunication(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/get_structured_communication?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetStructuredCommunication(_response));\n });\n }\n\n protected processGetStructuredCommunication(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n printBill(bcIdentifier: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/print_nav_bill?\";\n if (bcIdentifier !== undefined && bcIdentifier !== null)\n url_ += \"bcIdentifier=\" + encodeURIComponent(\"\" + bcIdentifier) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processPrintBill(_response));\n });\n }\n\n protected processPrintBill(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n generateDocxTest(): Promise {\n let url_ = this.baseUrl + \"/api/Test/generateDocxTest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerateDocxTest(_response));\n });\n }\n\n protected processGenerateDocxTest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n testInvoiceValidation(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/testInvoiceValidation?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processTestInvoiceValidation(_response));\n });\n }\n\n protected processTestInvoiceValidation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMappingErrors(): Promise {\n let url_ = this.baseUrl + \"/api/Test/mappingErrors\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMappingErrors(_response));\n });\n }\n\n protected processGetMappingErrors(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n fixAshLosh(broodRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Test/TestAlshLosh?\";\n if (broodRequestId === null)\n throw new Error(\"The parameter 'broodRequestId' cannot be null.\");\n else if (broodRequestId !== undefined)\n url_ += \"broodRequestId=\" + encodeURIComponent(\"\" + broodRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processFixAshLosh(_response));\n });\n }\n\n protected processFixAshLosh(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n fixAlshLoshPuppyPedigreePrefixesv(): Promise {\n let url_ = this.baseUrl + \"/api/Test/FixAlshLoshPuppyPedigreePrefixes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processFixAlshLoshPuppyPedigreePrefixesv(_response));\n });\n }\n\n protected processFixAlshLoshPuppyPedigreePrefixesv(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ITitlesApi {\n\n baseSearch(sObj: TitleSearch): Promise;\n\n get(titleId: number | undefined): Promise;\n\n save(dto: TitleDto): Promise;\n\n delete(titleId: number | undefined): Promise;\n\n getDisplayName(titleId: number | undefined, languageCode: string | null | undefined): Promise;\n\n exportXlsFile(sObj: TitleSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class TitlesApi extends BaseAPI implements ITitlesApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: TitleSearch): Promise {\n let url_ = this.baseUrl + \"/api/Titles/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTitlesGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(titleId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Titles?\";\n if (titleId === null)\n throw new Error(\"The parameter 'titleId' cannot be null.\");\n else if (titleId !== undefined)\n url_ += \"titleId=\" + encodeURIComponent(\"\" + titleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TitleDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: TitleDto): Promise {\n let url_ = this.baseUrl + \"/api/Titles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(titleId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Titles?\";\n if (titleId === null)\n throw new Error(\"The parameter 'titleId' cannot be null.\");\n else if (titleId !== undefined)\n url_ += \"titleId=\" + encodeURIComponent(\"\" + titleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(titleId: number | undefined, languageCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Titles/displayName?\";\n if (titleId === null)\n throw new Error(\"The parameter 'titleId' cannot be null.\");\n else if (titleId !== undefined)\n url_ += \"titleId=\" + encodeURIComponent(\"\" + titleId) + \"&\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: TitleSearch): Promise {\n let url_ = this.baseUrl + \"/api/Titles/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Titles/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Titles/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ITitlesRequestApi {\n\n baseSearch(sObj: TitlesRequestSearch): Promise;\n\n getTitleRequest(titleRequestId: number | undefined): Promise;\n\n save(dto: TitleRequestDto): Promise;\n\n getDrupalTitleRequest(titleRequestId: number | undefined): Promise;\n\n regenAndReprintDiploma(titleRequestId: number | undefined): Promise;\n\n getParentRequestId(titleRequestId: number | undefined): Promise;\n\n getDisplayName(titleRequestId: number | undefined): Promise;\n\n importFile(titleRequestId: number | undefined, files: FileParameter[] | null | undefined): Promise;\n\n close(requestId: number | undefined): Promise;\n\n saveDrupalTitleRequest(dto: DrupalTitleRequestDto): Promise;\n\n exportXlsFile(sObj: TitlesRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class TitlesRequestApi extends BaseAPI implements ITitlesRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: TitlesRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTitlesRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getTitleRequest(titleRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest?\";\n if (titleRequestId === null)\n throw new Error(\"The parameter 'titleRequestId' cannot be null.\");\n else if (titleRequestId !== undefined)\n url_ += \"titleRequestId=\" + encodeURIComponent(\"\" + titleRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetTitleRequest(_response));\n });\n }\n\n protected processGetTitleRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TitleRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: TitleRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalTitleRequest(titleRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/getDrupalTitleRequest?\";\n if (titleRequestId === null)\n throw new Error(\"The parameter 'titleRequestId' cannot be null.\");\n else if (titleRequestId !== undefined)\n url_ += \"titleRequestId=\" + encodeURIComponent(\"\" + titleRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalTitleRequest(_response));\n });\n }\n\n protected processGetDrupalTitleRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalTitleRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n regenAndReprintDiploma(titleRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/regenAndReprintDiploma?\";\n if (titleRequestId === null)\n throw new Error(\"The parameter 'titleRequestId' cannot be null.\");\n else if (titleRequestId !== undefined)\n url_ += \"titleRequestId=\" + encodeURIComponent(\"\" + titleRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processRegenAndReprintDiploma(_response));\n });\n }\n\n protected processRegenAndReprintDiploma(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getParentRequestId(titleRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/GetParentRequestId?\";\n if (titleRequestId === null)\n throw new Error(\"The parameter 'titleRequestId' cannot be null.\");\n else if (titleRequestId !== undefined)\n url_ += \"titleRequestId=\" + encodeURIComponent(\"\" + titleRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetParentRequestId(_response));\n });\n }\n\n protected processGetParentRequestId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(titleRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/getDisplayName?\";\n if (titleRequestId === null)\n throw new Error(\"The parameter 'titleRequestId' cannot be null.\");\n else if (titleRequestId !== undefined)\n url_ += \"titleRequestId=\" + encodeURIComponent(\"\" + titleRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n importFile(titleRequestId: number | undefined, files: FileParameter[] | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/importFile?\";\n if (titleRequestId === null)\n throw new Error(\"The parameter 'titleRequestId' cannot be null.\");\n else if (titleRequestId !== undefined)\n url_ += \"titleRequestId=\" + encodeURIComponent(\"\" + titleRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (files !== null && files !== undefined)\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\") );\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processImportFile(_response));\n });\n }\n\n protected processImportFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/close?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDrupalTitleRequest(dto: DrupalTitleRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/saveDrupalTitleRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDrupalTitleRequest(_response));\n });\n }\n\n protected processSaveDrupalTitleRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TitleRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: TitlesRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/TitlesRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ITitleTypeApi {\n\n baseSearch(sObj: TitleTypeSearch): Promise;\n\n get(titleTypeId: number | undefined): Promise;\n\n save(dto: TitleTypeDto): Promise;\n\n delete(titleTypeId: number | undefined): Promise;\n\n getDisplayName(titleTypeId: number | undefined, languageId: number | undefined): Promise;\n\n exportXlsFile(sObj: TitleTypeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class TitleTypeApi extends BaseAPI implements ITitleTypeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: TitleTypeSearch): Promise {\n let url_ = this.baseUrl + \"/api/TitleType/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTitleTypeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(titleTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitleType?\";\n if (titleTypeId === null)\n throw new Error(\"The parameter 'titleTypeId' cannot be null.\");\n else if (titleTypeId !== undefined)\n url_ += \"titleTypeId=\" + encodeURIComponent(\"\" + titleTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TitleTypeDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: TitleTypeDto): Promise {\n let url_ = this.baseUrl + \"/api/TitleType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(titleTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitleType?\";\n if (titleTypeId === null)\n throw new Error(\"The parameter 'titleTypeId' cannot be null.\");\n else if (titleTypeId !== undefined)\n url_ += \"titleTypeId=\" + encodeURIComponent(\"\" + titleTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(titleTypeId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitleType/getDisplayName?\";\n if (titleTypeId === null)\n throw new Error(\"The parameter 'titleTypeId' cannot be null.\");\n else if (titleTypeId !== undefined)\n url_ += \"titleTypeId=\" + encodeURIComponent(\"\" + titleTypeId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: TitleTypeSearch): Promise {\n let url_ = this.baseUrl + \"/api/TitleType/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TitleType/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/TitleType/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ITransientDogTitlesApi {\n\n baseSearch(sObj: DogsTransientTitlesSearch): Promise;\n\n assign(idsToAssign: number[]): Promise;\n\n create(dogTitlesTransientId: number | undefined, dogId: number | undefined, titleId: number | undefined, year: number | undefined, managerId: number | null | undefined, countryId: number | null | undefined, titleFile: FileParameter | null | undefined): Promise;\n\n searchByDog(sObj: TransientDogTitleByDogSearch): Promise;\n\n close(idsToValidate: number[]): Promise;\n\n validate(idsToValidate: number[]): Promise;\n\n exportXlsFile(sObj: DogsTransientTitlesSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class TransientDogTitlesApi extends BaseAPI implements ITransientDogTitlesApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: DogsTransientTitlesSearch): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTransientDogTitleGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n assign(idsToAssign: number[]): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/assign\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(idsToAssign);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAssign(_response));\n });\n }\n\n protected processAssign(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n create(dogTitlesTransientId: number | undefined, dogId: number | undefined, titleId: number | undefined, year: number | undefined, managerId: number | null | undefined, countryId: number | null | undefined, titleFile: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/create\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (dogTitlesTransientId === null || dogTitlesTransientId === undefined)\n throw new Error(\"The parameter 'dogTitlesTransientId' cannot be null.\");\n else\n content_.append(\"DogTitlesTransientId\", dogTitlesTransientId.toString());\n if (dogId === null || dogId === undefined)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else\n content_.append(\"DogId\", dogId.toString());\n if (titleId === null || titleId === undefined)\n throw new Error(\"The parameter 'titleId' cannot be null.\");\n else\n content_.append(\"TitleId\", titleId.toString());\n if (year === null || year === undefined)\n throw new Error(\"The parameter 'year' cannot be null.\");\n else\n content_.append(\"Year\", year.toString());\n if (managerId !== null && managerId !== undefined)\n content_.append(\"ManagerId\", managerId.toString());\n if (countryId !== null && countryId !== undefined)\n content_.append(\"CountryId\", countryId.toString());\n if (titleFile !== null && titleFile !== undefined)\n content_.append(\"TitleFile\", titleFile.data, titleFile.fileName ? titleFile.fileName : \"TitleFile\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\n });\n }\n\n protected processCreate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n searchByDog(sObj: TransientDogTitleByDogSearch): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/searchByDog\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchByDog(_response));\n });\n }\n\n protected processSearchByDog(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfDogTitlesGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(idsToValidate: number[]): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/close\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(idsToValidate);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n validate(idsToValidate: number[]): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/validate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(idsToValidate);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processValidate(_response));\n });\n }\n\n protected processValidate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: DogsTransientTitlesSearch): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/TransientDogTitles/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ITransientWorkbookApi {\n\n baseSearch(sObj: TransientWorkbookSearch): Promise;\n\n getWorkbookDescription(workbookTypeId: number | undefined, languageId: number | undefined): Promise;\n\n getCounter(dogId: number | undefined, workbookTypeId: number | undefined): Promise;\n\n exportXlsFile(sObj: TransientWorkbookSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class TransientWorkbookApi extends BaseAPI implements ITransientWorkbookApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: TransientWorkbookSearch): Promise {\n let url_ = this.baseUrl + \"/api/TransientWorkbook/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTransientWorkbookGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWorkbookDescription(workbookTypeId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TransientWorkbook/getWorkbookDescription?\";\n if (workbookTypeId === null)\n throw new Error(\"The parameter 'workbookTypeId' cannot be null.\");\n else if (workbookTypeId !== undefined)\n url_ += \"workbookTypeId=\" + encodeURIComponent(\"\" + workbookTypeId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWorkbookDescription(_response));\n });\n }\n\n protected processGetWorkbookDescription(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCounter(dogId: number | undefined, workbookTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TransientWorkbook/getCounter?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (workbookTypeId === null)\n throw new Error(\"The parameter 'workbookTypeId' cannot be null.\");\n else if (workbookTypeId !== undefined)\n url_ += \"workbookTypeId=\" + encodeURIComponent(\"\" + workbookTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCounter(_response));\n });\n }\n\n protected processGetCounter(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: TransientWorkbookSearch): Promise {\n let url_ = this.baseUrl + \"/api/TransientWorkbook/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/TransientWorkbook/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/TransientWorkbook/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ITranslationsApi {\n\n getTranslations(languageCode: string | null | undefined): Promise;\n\n saveTranslation(languageCode: string | null, text: string | null | undefined, translationCode: string | null | undefined): Promise;\n\n updateTranslation(updateTranslationCommand: UpdateTranslationCommand): Promise;\n\n baseSearch(sObj: TranslationSearch): Promise;\n\n export(): Promise;\n\n upload(file: FileParameter | null | undefined): Promise;\n\n exportXlsFile(sObj: TranslationSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class TranslationsApi extends BaseAPI implements ITranslationsApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n getTranslations(languageCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Translations?\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetTranslations(_response));\n });\n }\n\n protected processGetTranslations(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(TranslationDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveTranslation(languageCode: string | null, text: string | null | undefined, translationCode: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Translations/{languageCode}\";\n if (languageCode === undefined || languageCode === null)\n throw new Error(\"The parameter 'languageCode' must be defined.\");\n url_ = url_.replace(\"{languageCode}\", encodeURIComponent(\"\" + languageCode));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (text !== null && text !== undefined)\n content_.append(\"text\", text.toString());\n if (translationCode !== null && translationCode !== undefined)\n content_.append(\"translationCode\", translationCode.toString());\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveTranslation(_response));\n });\n }\n\n protected processSaveTranslation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateTranslation(updateTranslationCommand: UpdateTranslationCommand): Promise {\n let url_ = this.baseUrl + \"/api/Translations/UpdateTranslation\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(updateTranslationCommand);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateTranslation(_response));\n });\n }\n\n protected processUpdateTranslation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n baseSearch(sObj: TranslationSearch): Promise {\n let url_ = this.baseUrl + \"/api/Translations/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfTranslationDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n export(): Promise {\n let url_ = this.baseUrl + \"/api/Translations/export\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExport(_response));\n });\n }\n\n protected processExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FileDownload.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n upload(file: FileParameter | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Translations/upload\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processUpload(_response));\n });\n }\n\n protected processUpload(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: TranslationSearch): Promise {\n let url_ = this.baseUrl + \"/api/Translations/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Translations/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Translations/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IUnassignedRequestApi {\n\n assignRequests(isAccounting: boolean | undefined, requestIdsToAssign: number[]): Promise;\n}\n\nexport class UnassignedRequestApi extends BaseAPI implements IUnassignedRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n assignRequests(isAccounting: boolean | undefined, requestIdsToAssign: number[]): Promise {\n let url_ = this.baseUrl + \"/api/UnassignedRequest/assignRequests?\";\n if (isAccounting === null)\n throw new Error(\"The parameter 'isAccounting' cannot be null.\");\n else if (isAccounting !== undefined)\n url_ += \"isAccounting=\" + encodeURIComponent(\"\" + isAccounting) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(requestIdsToAssign);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAssignRequests(_response));\n });\n }\n\n protected processAssignRequests(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IUsersApi {\n\n baseSearch(sObj: UserSearch): Promise;\n\n getDisplayName(userId: number | undefined): Promise;\n\n resetPassword(email: string | null | undefined, platform: EPlatform | undefined): Promise;\n\n get(userId: number | undefined): Promise;\n\n save(dto: UserDto): Promise;\n\n delete(userId: number | undefined): Promise;\n\n isEmailUnique(email: string | null | undefined): Promise;\n\n authenticate(auth: AuthenticateCommand): Promise;\n\n getUserProfileActions(): Promise;\n\n changePassword(password: string | null | undefined): Promise;\n\n changeUserLanguage(userId: number | undefined, languageId: number | undefined): Promise;\n\n exportXlsFile(sObj: UserSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class UsersApi extends BaseAPI implements IUsersApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: UserSearch): Promise {\n let url_ = this.baseUrl + \"/api/Users/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfUserGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(userId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users/displayName?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n resetPassword(email: string | null | undefined, platform: EPlatform | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users/ResetPassword?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n if (platform === null)\n throw new Error(\"The parameter 'platform' cannot be null.\");\n else if (platform !== undefined)\n url_ += \"platform=\" + encodeURIComponent(\"\" + platform) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processResetPassword(_response));\n });\n }\n\n protected processResetPassword(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(userId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UserDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: UserDto): Promise {\n let url_ = this.baseUrl + \"/api/Users\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UserDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(userId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isEmailUnique(email: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users/getUniqueEmail?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsEmailUnique(_response));\n });\n }\n\n protected processIsEmailUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n authenticate(auth: AuthenticateCommand): Promise {\n let url_ = this.baseUrl + \"/api/Users/authenticate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(auth);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAuthenticate(_response));\n });\n }\n\n protected processAuthenticate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UserDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getUserProfileActions(): Promise {\n let url_ = this.baseUrl + \"/api/Users/GetUserProfileActions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUserProfileActions(_response));\n });\n }\n\n protected processGetUserProfileActions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserProfileActionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changePassword(password: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users/ChangePassword?\";\n if (password !== undefined && password !== null)\n url_ += \"password=\" + encodeURIComponent(\"\" + password) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processChangePassword(_response));\n });\n }\n\n protected processChangePassword(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UserDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changeUserLanguage(userId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users/ChangeUserLanguage?\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processChangeUserLanguage(_response));\n });\n }\n\n protected processChangeUserLanguage(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: UserSearch): Promise {\n let url_ = this.baseUrl + \"/api/Users/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Users/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IVeterinaryClinicApi {\n\n baseSearch(sObj: VeterinaryClinicSearch): Promise;\n\n deleteVeterinaryClinic(id: number | undefined): Promise;\n\n addNewVeterinary(dto: SaveVeterinaryClinicDto): Promise;\n\n getAvailableVeterinaryForClinic(sObj: AvailableVeterinaryForClinicSearch): Promise;\n\n getClinicFromVeterinary(sObj: VeterinaryClinicSearch): Promise;\n\n getAvailableClinicForVeterinary(sObj: AvailableVeterinaryForClinicSearch): Promise;\n\n exportXlsFile(sObj: VeterinaryClinicSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class VeterinaryClinicApi extends BaseAPI implements IVeterinaryClinicApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: VeterinaryClinicSearch): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfVeterinaryClinicDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteVeterinaryClinic(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteVeterinaryClinic(_response));\n });\n }\n\n protected processDeleteVeterinaryClinic(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addNewVeterinary(dto: SaveVeterinaryClinicDto): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic/addNewVeterinary\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAddNewVeterinary(_response));\n });\n }\n\n protected processAddNewVeterinary(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAvailableVeterinaryForClinic(sObj: AvailableVeterinaryForClinicSearch): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic/GetAvailableVeterinaryForClinic\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAvailableVeterinaryForClinic(_response));\n });\n }\n\n protected processGetAvailableVeterinaryForClinic(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfVeterinaryGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getClinicFromVeterinary(sObj: VeterinaryClinicSearch): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic/GetClinicFromVeterinary\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetClinicFromVeterinary(_response));\n });\n }\n\n protected processGetClinicFromVeterinary(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfVeterinaryClinicDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAvailableClinicForVeterinary(sObj: AvailableVeterinaryForClinicSearch): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic/GetAvailableClinicForVeterinary\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAvailableClinicForVeterinary(_response));\n });\n }\n\n protected processGetAvailableClinicForVeterinary(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfClinicDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: VeterinaryClinicSearch): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/VeterinaryClinic/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IVeterinaryApi {\n\n baseSearch(sObj: VeterinarySearch): Promise;\n\n exportXlsFile(sObj: VeterinarySearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class VeterinaryApi extends BaseAPI implements IVeterinaryApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: VeterinarySearch): Promise {\n let url_ = this.baseUrl + \"/api/Veterinary/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfVeterinaryGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: VeterinarySearch): Promise {\n let url_ = this.baseUrl + \"/api/Veterinary/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Veterinary/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/Veterinary/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IWebUserApi {\n\n get(personId: number | undefined): Promise;\n\n save(dto: WebUserDto): Promise;\n\n getDrupalWebUser(personId: number | undefined): Promise;\n\n isBelgian(webUserId: number | undefined): Promise;\n\n saveDrupalWebUser(toSave: DrupalWebUserDto): Promise;\n\n getEmail(webUserId: number | undefined): Promise;\n\n checkEmail(email: string | null | undefined): Promise;\n\n changeEmail(newEmail: string | null | undefined, webUserId: number | undefined): Promise;\n\n webUserChangePassword(oldPassword: string | null | undefined, newPassword: string | null | undefined): Promise;\n}\n\nexport class WebUserApi extends BaseAPI implements IWebUserApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n get(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WebUser?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = WebUserDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: WebUserDto): Promise {\n let url_ = this.baseUrl + \"/api/WebUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalWebUser(personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WebUser/getDrupalWebUser?\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalWebUser(_response));\n });\n }\n\n protected processGetDrupalWebUser(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalWebUserDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isBelgian(webUserId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WebUser/isWebUserBelgian?\";\n if (webUserId === null)\n throw new Error(\"The parameter 'webUserId' cannot be null.\");\n else if (webUserId !== undefined)\n url_ += \"webUserId=\" + encodeURIComponent(\"\" + webUserId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsBelgian(_response));\n });\n }\n\n protected processIsBelgian(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDrupalWebUser(toSave: DrupalWebUserDto): Promise {\n let url_ = this.baseUrl + \"/api/WebUser/saveDrupalWebUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDrupalWebUser(_response));\n });\n }\n\n protected processSaveDrupalWebUser(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalWebUserDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getEmail(webUserId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WebUser/email?\";\n if (webUserId === null)\n throw new Error(\"The parameter 'webUserId' cannot be null.\");\n else if (webUserId !== undefined)\n url_ += \"webUserId=\" + encodeURIComponent(\"\" + webUserId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetEmail(_response));\n });\n }\n\n protected processGetEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n checkEmail(email: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WebUser/checkEmailExists?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckEmail(_response));\n });\n }\n\n protected processCheckEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changeEmail(newEmail: string | null | undefined, webUserId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WebUser/ChangeEmail?\";\n if (newEmail !== undefined && newEmail !== null)\n url_ += \"newEmail=\" + encodeURIComponent(\"\" + newEmail) + \"&\";\n if (webUserId === null)\n throw new Error(\"The parameter 'webUserId' cannot be null.\");\n else if (webUserId !== undefined)\n url_ += \"webUserId=\" + encodeURIComponent(\"\" + webUserId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processChangeEmail(_response));\n });\n }\n\n protected processChangeEmail(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n webUserChangePassword(oldPassword: string | null | undefined, newPassword: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WebUser/ChangePassword?\";\n if (oldPassword !== undefined && oldPassword !== null)\n url_ += \"oldPassword=\" + encodeURIComponent(\"\" + oldPassword) + \"&\";\n if (newPassword !== undefined && newPassword !== null)\n url_ += \"newPassword=\" + encodeURIComponent(\"\" + newPassword) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processWebUserChangePassword(_response));\n });\n }\n\n protected processWebUserChangePassword(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IWorkAttestationRequestApi {\n\n baseSearch(sObj: WorkAttestRequestSearch): Promise;\n\n getWorkAttestationRequest(workAttestationRequestId: number | undefined): Promise;\n\n saveWorkAttestationRequest(dto: WorkAttestationRequestDto): Promise;\n\n getDisplayName(workAttestationRequestId: number | undefined): Promise;\n\n getParentRequestId(workAttestationRequestId: number | undefined): Promise;\n\n isDogAvailable(dogId: number | undefined, workAttestationRequestId: number | undefined): Promise;\n\n closeRequest(requestId: number | undefined): Promise;\n\n exportXlsFile(sObj: WorkAttestRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class WorkAttestationRequestApi extends BaseAPI implements IWorkAttestationRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: WorkAttestRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfWorkAttestRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWorkAttestationRequest(workAttestationRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest?\";\n if (workAttestationRequestId === null)\n throw new Error(\"The parameter 'workAttestationRequestId' cannot be null.\");\n else if (workAttestationRequestId !== undefined)\n url_ += \"workAttestationRequestId=\" + encodeURIComponent(\"\" + workAttestationRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWorkAttestationRequest(_response));\n });\n }\n\n protected processGetWorkAttestationRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = WorkAttestationRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveWorkAttestationRequest(dto: WorkAttestationRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveWorkAttestationRequest(_response));\n });\n }\n\n protected processSaveWorkAttestationRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(workAttestationRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest/getDisplayName?\";\n if (workAttestationRequestId === null)\n throw new Error(\"The parameter 'workAttestationRequestId' cannot be null.\");\n else if (workAttestationRequestId !== undefined)\n url_ += \"workAttestationRequestId=\" + encodeURIComponent(\"\" + workAttestationRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getParentRequestId(workAttestationRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest/getParentRequestId?\";\n if (workAttestationRequestId === null)\n throw new Error(\"The parameter 'workAttestationRequestId' cannot be null.\");\n else if (workAttestationRequestId !== undefined)\n url_ += \"workAttestationRequestId=\" + encodeURIComponent(\"\" + workAttestationRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetParentRequestId(_response));\n });\n }\n\n protected processGetParentRequestId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isDogAvailable(dogId: number | undefined, workAttestationRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest/isDogAvailable?\";\n if (dogId === null)\n throw new Error(\"The parameter 'dogId' cannot be null.\");\n else if (dogId !== undefined)\n url_ += \"dogId=\" + encodeURIComponent(\"\" + dogId) + \"&\";\n if (workAttestationRequestId === null)\n throw new Error(\"The parameter 'workAttestationRequestId' cannot be null.\");\n else if (workAttestationRequestId !== undefined)\n url_ += \"workAttestationRequestId=\" + encodeURIComponent(\"\" + workAttestationRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsDogAvailable(_response));\n });\n }\n\n protected processIsDogAvailable(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ResultOfBoolean.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n closeRequest(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest/closeRequest?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processCloseRequest(_response));\n });\n }\n\n protected processCloseRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: WorkAttestRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/WorkAttestationRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IWorkbookApi {\n\n getWorkbookIconInformation(workbookTypeId: number | undefined): Promise;\n\n reprintWorkbook(workbookId: number | undefined, personId: number | undefined): Promise;\n}\n\nexport class WorkbookApi extends BaseAPI implements IWorkbookApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n getWorkbookIconInformation(workbookTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Workbook?\";\n if (workbookTypeId === null)\n throw new Error(\"The parameter 'workbookTypeId' cannot be null.\");\n else if (workbookTypeId !== undefined)\n url_ += \"workbookTypeId=\" + encodeURIComponent(\"\" + workbookTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWorkbookIconInformation(_response));\n });\n }\n\n protected processGetWorkbookIconInformation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = WorkbookIconDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintWorkbook(workbookId: number | undefined, personId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Workbook?\";\n if (workbookId === null)\n throw new Error(\"The parameter 'workbookId' cannot be null.\");\n else if (workbookId !== undefined)\n url_ += \"workbookId=\" + encodeURIComponent(\"\" + workbookId) + \"&\";\n if (personId === null)\n throw new Error(\"The parameter 'personId' cannot be null.\");\n else if (personId !== undefined)\n url_ += \"personId=\" + encodeURIComponent(\"\" + personId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintWorkbook(_response));\n });\n }\n\n protected processReprintWorkbook(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IWorkbookRequestApi {\n\n baseSearch(sObj: WorkbookRequestSearch): Promise;\n\n getWorkbooks(workbookRequestId: number | undefined, sObj: PaginatedSearch): Promise;\n\n saveRequestFiles(workbookRequestId: number | undefined, files: FileParameter[] | null | undefined): Promise;\n\n reprintWorkbook(workbookId: number | undefined, workbookRequestId: number | undefined): Promise;\n\n get(workbookRequestId: number | undefined, languageId: number | undefined): Promise;\n\n save(dto: WorkbookRequestDto): Promise;\n\n getSubRequest(masterRequestId: number | undefined, languageId: number | undefined): Promise;\n\n getDrupalWorkbookRequest(workbookRequestId: number | undefined): Promise;\n\n saveDrupalWorkbookRequest(toSave: DrupalWorkbookRequestDto): Promise;\n\n getParentRequestId(workbookRequestId: number | undefined): Promise;\n\n getDisplayName(workbookRequestId: number | undefined): Promise;\n\n close(requestId: number | undefined): Promise;\n\n exportXlsFile(sObj: WorkbookRequestSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class WorkbookRequestApi extends BaseAPI implements IWorkbookRequestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: WorkbookRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfWorkbookRequestGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getWorkbooks(workbookRequestId: number | undefined, sObj: PaginatedSearch): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/getWorkbooks?\";\n if (workbookRequestId === null)\n throw new Error(\"The parameter 'workbookRequestId' cannot be null.\");\n else if (workbookRequestId !== undefined)\n url_ += \"workbookRequestId=\" + encodeURIComponent(\"\" + workbookRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetWorkbooks(_response));\n });\n }\n\n protected processGetWorkbooks(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfWorkbookGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveRequestFiles(workbookRequestId: number | undefined, files: FileParameter[] | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/saveRequestFiles?\";\n if (workbookRequestId === null)\n throw new Error(\"The parameter 'workbookRequestId' cannot be null.\");\n else if (workbookRequestId !== undefined)\n url_ += \"workbookRequestId=\" + encodeURIComponent(\"\" + workbookRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (files !== null && files !== undefined)\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\") );\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveRequestFiles(_response));\n });\n }\n\n protected processSaveRequestFiles(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reprintWorkbook(workbookId: number | undefined, workbookRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/reprintWorkbook?\";\n if (workbookId === null)\n throw new Error(\"The parameter 'workbookId' cannot be null.\");\n else if (workbookId !== undefined)\n url_ += \"workbookId=\" + encodeURIComponent(\"\" + workbookId) + \"&\";\n if (workbookRequestId === null)\n throw new Error(\"The parameter 'workbookRequestId' cannot be null.\");\n else if (workbookRequestId !== undefined)\n url_ += \"workbookRequestId=\" + encodeURIComponent(\"\" + workbookRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processReprintWorkbook(_response));\n });\n }\n\n protected processReprintWorkbook(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(workbookRequestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest?\";\n if (workbookRequestId === null)\n throw new Error(\"The parameter 'workbookRequestId' cannot be null.\");\n else if (workbookRequestId !== undefined)\n url_ += \"workbookRequestId=\" + encodeURIComponent(\"\" + workbookRequestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = WorkbookRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: WorkbookRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSubRequest(masterRequestId: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/getSubRequest?\";\n if (masterRequestId === null)\n throw new Error(\"The parameter 'masterRequestId' cannot be null.\");\n else if (masterRequestId !== undefined)\n url_ += \"masterRequestId=\" + encodeURIComponent(\"\" + masterRequestId) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSubRequest(_response));\n });\n }\n\n protected processGetSubRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = WorkbookRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDrupalWorkbookRequest(workbookRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/getDrupalWorkbookRequest?\";\n if (workbookRequestId === null)\n throw new Error(\"The parameter 'workbookRequestId' cannot be null.\");\n else if (workbookRequestId !== undefined)\n url_ += \"workbookRequestId=\" + encodeURIComponent(\"\" + workbookRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDrupalWorkbookRequest(_response));\n });\n }\n\n protected processGetDrupalWorkbookRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DrupalWorkbookRequestDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n saveDrupalWorkbookRequest(toSave: DrupalWorkbookRequestDto): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/saveDrupalWorkbookRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(toSave);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveDrupalWorkbookRequest(_response));\n });\n }\n\n protected processSaveDrupalWorkbookRequest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getParentRequestId(workbookRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/GetParentRequestId?\";\n if (workbookRequestId === null)\n throw new Error(\"The parameter 'workbookRequestId' cannot be null.\");\n else if (workbookRequestId !== undefined)\n url_ += \"workbookRequestId=\" + encodeURIComponent(\"\" + workbookRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetParentRequestId(_response));\n });\n }\n\n protected processGetParentRequestId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(workbookRequestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/getDisplayName?\";\n if (workbookRequestId === null)\n throw new Error(\"The parameter 'workbookRequestId' cannot be null.\");\n else if (workbookRequestId !== undefined)\n url_ += \"workbookRequestId=\" + encodeURIComponent(\"\" + workbookRequestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n close(requestId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/close?\";\n if (requestId === null)\n throw new Error(\"The parameter 'requestId' cannot be null.\");\n else if (requestId !== undefined)\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processClose(_response));\n });\n }\n\n protected processClose(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: WorkbookRequestSearch): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookRequest/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IWorkbookTypeApi {\n\n baseSearch(sObj: WorkbookTypeSearch): Promise;\n\n get(id: number | undefined): Promise;\n\n save(dto: WorkbookTypeDto): Promise;\n\n delete(id: number | undefined): Promise;\n\n isWorkbookTypeUnique(colorId: number | undefined, hasPedigree: boolean | undefined, workbookTypeId: number | undefined): Promise;\n\n getDisplayName(id: number | undefined, languageId: number | undefined): Promise;\n\n getAllWorkbookTypes(languageId: number | undefined): Promise;\n\n exportXlsFile(sObj: WorkbookTypeSearch): Promise;\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise;\n\n getSelectItems(searchField: string | null): Promise;\n}\n\nexport class WorkbookTypeApi extends BaseAPI implements IWorkbookTypeApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n baseSearch(sObj: WorkbookTypeSearch): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processBaseSearch(_response));\n });\n }\n\n protected processBaseSearch(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PaginatedResultsOfWorkbookTypeGridDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = WorkbookTypeDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n save(dto: WorkbookTypeDto): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\n });\n }\n\n protected processSave(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n isWorkbookTypeUnique(colorId: number | undefined, hasPedigree: boolean | undefined, workbookTypeId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType/IsWorkbookTypeUnique?\";\n if (colorId === null)\n throw new Error(\"The parameter 'colorId' cannot be null.\");\n else if (colorId !== undefined)\n url_ += \"colorId=\" + encodeURIComponent(\"\" + colorId) + \"&\";\n if (hasPedigree === null)\n throw new Error(\"The parameter 'hasPedigree' cannot be null.\");\n else if (hasPedigree !== undefined)\n url_ += \"hasPedigree=\" + encodeURIComponent(\"\" + hasPedigree) + \"&\";\n if (workbookTypeId === null)\n throw new Error(\"The parameter 'workbookTypeId' cannot be null.\");\n else if (workbookTypeId !== undefined)\n url_ += \"workbookTypeId=\" + encodeURIComponent(\"\" + workbookTypeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processIsWorkbookTypeUnique(_response));\n });\n }\n\n protected processIsWorkbookTypeUnique(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = BooleanDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDisplayName(id: number | undefined, languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType/DisplayName?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDisplayName(_response));\n });\n }\n\n protected processGetDisplayName(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllWorkbookTypes(languageId: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType/allWorkbookTypes?\";\n if (languageId === null)\n throw new Error(\"The parameter 'languageId' cannot be null.\");\n else if (languageId !== undefined)\n url_ += \"languageId=\" + encodeURIComponent(\"\" + languageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAllWorkbookTypes(_response));\n });\n }\n\n protected processGetAllWorkbookTypes(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WorkbookTypeGridDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportXlsFile(sObj: WorkbookTypeSearch): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType/export-xls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sObj);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processExportXlsFile(_response));\n });\n }\n\n protected processExportXlsFile(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSearchCriterias(includeListsValues: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType/criterias?\";\n if (includeListsValues === null)\n throw new Error(\"The parameter 'includeListsValues' cannot be null.\");\n else if (includeListsValues !== undefined)\n url_ += \"includeListsValues=\" + encodeURIComponent(\"\" + includeListsValues) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSearchCriterias(_response));\n });\n }\n\n protected processGetSearchCriterias(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(FilterCriteriaInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getSelectItems(searchField: string | null): Promise {\n let url_ = this.baseUrl + \"/api/WorkbookType/criteriaList/{searchField}\";\n if (searchField === undefined || searchField === null)\n throw new Error(\"The parameter 'searchField' must be defined.\");\n url_ = url_.replace(\"{searchField}\", encodeURIComponent(\"\" + searchField));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetSelectItems(_response));\n });\n }\n\n protected processGetSelectItems(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SelectItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IZoolyxAuthentificationApi {\n\n authenticate(auth: ZoolyxAuthenticateCommand): Promise;\n}\n\nexport class ZoolyxAuthentificationApi extends BaseAPI implements IZoolyxAuthentificationApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n authenticate(auth: ZoolyxAuthenticateCommand): Promise {\n let url_ = this.baseUrl + \"/api/ZoolyxAuthentification/authenticate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(auth);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processAuthenticate(_response));\n });\n }\n\n protected processAuthenticate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IZoolyxNotificationApi {\n\n notify(): Promise;\n}\n\nexport class ZoolyxNotificationApi extends BaseAPI implements IZoolyxNotificationApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n notify(): Promise {\n let url_ = this.baseUrl + \"/api/ZoolyxNotification/notify\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processNotify(_response));\n });\n }\n\n protected processNotify(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface ISystemTestApi {\n\n post(data: TestDateDto): Promise;\n\n get(): Promise;\n}\n\nexport class SystemTestApi extends BaseAPI implements ISystemTestApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n post(data: TestDateDto): Promise {\n let url_ = this.baseUrl + \"/api/SystemTest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(data);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processPost(_response));\n });\n }\n\n protected processPost(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TestDateDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n get(): Promise {\n let url_ = this.baseUrl + \"/api/SystemTest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\n });\n }\n\n protected processGet(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TestDateDto.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IHealthCheckApi {\n\n getHealthCheck(): Promise;\n\n getStartupHealthCheck(): Promise;\n\n getReadyHealthCheck(): Promise;\n\n getLiveHealthCheck(): Promise;\n}\n\nexport class HealthCheckApi extends BaseAPI implements IHealthCheckApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n getHealthCheck(): Promise {\n let url_ = this.baseUrl + \"/monitoring/_hc\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHealthCheck(_response));\n });\n }\n\n protected processGetHealthCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HealthCheckViewModel.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getStartupHealthCheck(): Promise {\n let url_ = this.baseUrl + \"/monitoring/_hc/startup\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetStartupHealthCheck(_response));\n });\n }\n\n protected processGetStartupHealthCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HealthCheckViewModel.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getReadyHealthCheck(): Promise {\n let url_ = this.baseUrl + \"/monitoring/_hc/ready\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetReadyHealthCheck(_response));\n });\n }\n\n protected processGetReadyHealthCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HealthCheckViewModel.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getLiveHealthCheck(): Promise {\n let url_ = this.baseUrl + \"/monitoring/_hc/live\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLiveHealthCheck(_response));\n });\n }\n\n protected processGetLiveHealthCheck(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = HealthCheckViewModel.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface IApiKeyApi {\n\n getApiKey(clientName: string | null | undefined): Promise;\n}\n\nexport class ApiKeyApi extends BaseAPI implements IApiKeyApi {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Configuration, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n super(configuration);\n this.http = http ? http : window as any;\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\n }\n\n getApiKey(clientName: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/apikey?\";\n if (clientName !== undefined && clientName !== null)\n url_ += \"clientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.http.fetch(url_, transformedOptions_);\n }).then((_response: Response) => {\n return this.transformResult(url_, _response, (_response: Response) => this.processGetApiKey(_response));\n });\n }\n\n protected processGetApiKey(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ClientApiKey.fromJS(resultData200);\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PaginatedResultsOfActivityGridDto implements IPaginatedResultsOfActivityGridDto {\n totalCount?: number;\n results?: ActivityGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfActivityGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ActivityGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfActivityGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfActivityGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfActivityGridDto {\n totalCount?: number;\n results?: ActivityGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ActivityGridDto implements IActivityGridDto {\n activityId?: number;\n section?: string | undefined;\n sectionId?: number;\n name?: string | undefined;\n\n constructor(data?: IActivityGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.section = _data[\"section\"];\n this.sectionId = _data[\"sectionId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): ActivityGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ActivityGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"section\"] = this.section;\n data[\"sectionId\"] = this.sectionId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IActivityGridDto {\n activityId?: number;\n section?: string | undefined;\n sectionId?: number;\n name?: string | undefined;\n}\n\nexport abstract class IAggregateResult implements IIAggregateResult {\n key?: string | undefined;\n text?: string | undefined;\n value?: number | undefined;\n\n constructor(data?: IIAggregateResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n this.text = _data[\"text\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): IAggregateResult {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'IAggregateResult' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n data[\"text\"] = this.text;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IIAggregateResult {\n key?: string | undefined;\n text?: string | undefined;\n value?: number | undefined;\n}\n\nexport class FilterSearch implements IFilterSearch {\n filter?: string | undefined;\n\n constructor(data?: IFilterSearch) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.filter = _data[\"filter\"];\n }\n }\n\n static fromJS(data: any): FilterSearch {\n data = typeof data === 'object' ? data : {};\n let result = new FilterSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"filter\"] = this.filter;\n return data;\n }\n}\n\nexport interface IFilterSearch {\n filter?: string | undefined;\n}\n\nexport class PaginatedSearch extends FilterSearch implements IPaginatedSearch {\n sortKey?: string[] | undefined;\n aggregateKeys?: AggregateKeyInfo[] | undefined;\n forceSkip?: number | undefined;\n forceTake?: number | undefined;\n parameters?: any | undefined;\n\n constructor(data?: IPaginatedSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"sortKey\"])) {\n this.sortKey = [] as any;\n for (let item of _data[\"sortKey\"])\n this.sortKey!.push(item);\n }\n if (Array.isArray(_data[\"aggregateKeys\"])) {\n this.aggregateKeys = [] as any;\n for (let item of _data[\"aggregateKeys\"])\n this.aggregateKeys!.push(AggregateKeyInfo.fromJS(item));\n }\n this.forceSkip = _data[\"forceSkip\"];\n this.forceTake = _data[\"forceTake\"];\n this.parameters = _data[\"parameters\"];\n }\n }\n\n static fromJS(data: any): PaginatedSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.sortKey)) {\n data[\"sortKey\"] = [];\n for (let item of this.sortKey)\n data[\"sortKey\"].push(item);\n }\n if (Array.isArray(this.aggregateKeys)) {\n data[\"aggregateKeys\"] = [];\n for (let item of this.aggregateKeys)\n data[\"aggregateKeys\"].push(item.toJSON());\n }\n data[\"forceSkip\"] = this.forceSkip;\n data[\"forceTake\"] = this.forceTake;\n data[\"parameters\"] = this.parameters;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPaginatedSearch extends IFilterSearch {\n sortKey?: string[] | undefined;\n aggregateKeys?: AggregateKeyInfo[] | undefined;\n forceSkip?: number | undefined;\n forceTake?: number | undefined;\n parameters?: any | undefined;\n}\n\nexport class ActivitySearch extends PaginatedSearch implements IActivitySearch {\n languageId?: number;\n name?: TextSearch | undefined;\n section?: TextSearch | undefined;\n\n constructor(data?: IActivitySearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.section = _data[\"section\"] ? TextSearch.fromJS(_data[\"section\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ActivitySearch {\n data = typeof data === 'object' ? data : {};\n let result = new ActivitySearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"section\"] = this.section ? this.section.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IActivitySearch extends IPaginatedSearch {\n languageId?: number;\n name?: TextSearch | undefined;\n section?: TextSearch | undefined;\n}\n\nexport abstract class FilterCriteriaBaseOfETextSearchTypeAndString implements IFilterCriteriaBaseOfETextSearchTypeAndString {\n criterias?: CombinableCriteriaOfETextSearchTypeAndString[] | undefined;\n searchMode?: ETextSearchType;\n value?: string | undefined;\n secondaryValue?: string | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfETextSearchTypeAndString) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfETextSearchTypeAndString.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfETextSearchTypeAndString {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfETextSearchTypeAndString' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfETextSearchTypeAndString {\n criterias?: CombinableCriteriaOfETextSearchTypeAndString[] | undefined;\n searchMode?: ETextSearchType;\n value?: string | undefined;\n secondaryValue?: string | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class TextSearch extends FilterCriteriaBaseOfETextSearchTypeAndString implements ITextSearch {\n\n constructor(data?: ITextSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): TextSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TextSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITextSearch extends IFilterCriteriaBaseOfETextSearchTypeAndString {\n}\n\nexport class CombinableCriteriaOfETextSearchTypeAndString implements ICombinableCriteriaOfETextSearchTypeAndString {\n searchMode?: ETextSearchType;\n value?: string | undefined;\n secondaryValue?: string | undefined;\n\n constructor(data?: ICombinableCriteriaOfETextSearchTypeAndString) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfETextSearchTypeAndString {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfETextSearchTypeAndString();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfETextSearchTypeAndString {\n searchMode?: ETextSearchType;\n value?: string | undefined;\n secondaryValue?: string | undefined;\n}\n\nexport enum ETextSearchType {\n StartWith = \"StartWith\",\n EndWith = \"EndWith\",\n Contains = \"Contains\",\n NotContains = \"NotContains\",\n Equals = \"Equals\",\n NotEquals = \"NotEquals\",\n}\n\nexport class AggregateKeyInfo implements IAggregateKeyInfo {\n key?: string | undefined;\n aggregateType?: EAggregateType;\n text?: string | undefined;\n\n constructor(data?: IAggregateKeyInfo) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n this.aggregateType = _data[\"aggregateType\"];\n this.text = _data[\"text\"];\n }\n }\n\n static fromJS(data: any): AggregateKeyInfo {\n data = typeof data === 'object' ? data : {};\n let result = new AggregateKeyInfo();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n data[\"aggregateType\"] = this.aggregateType;\n data[\"text\"] = this.text;\n return data;\n }\n}\n\nexport interface IAggregateKeyInfo {\n key?: string | undefined;\n aggregateType?: EAggregateType;\n text?: string | undefined;\n}\n\nexport enum EAggregateType {\n Sum = \"Sum\",\n Avg = \"Avg\",\n Min = \"Min\",\n Max = \"Max\",\n}\n\nexport class ActivityDto implements IActivityDto {\n activityId?: number;\n sectionId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n activityTranslations?: ActivityTranslationDto[] | undefined;\n\n constructor(data?: IActivityDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.sectionId = _data[\"sectionId\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n if (Array.isArray(_data[\"activityTranslations\"])) {\n this.activityTranslations = [] as any;\n for (let item of _data[\"activityTranslations\"])\n this.activityTranslations!.push(ActivityTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ActivityDto {\n data = typeof data === 'object' ? data : {};\n let result = new ActivityDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"sectionId\"] = this.sectionId;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n if (Array.isArray(this.activityTranslations)) {\n data[\"activityTranslations\"] = [];\n for (let item of this.activityTranslations)\n data[\"activityTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IActivityDto {\n activityId?: number;\n sectionId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n activityTranslations?: ActivityTranslationDto[] | undefined;\n}\n\nexport class ActivityTranslationDto implements IActivityTranslationDto {\n languageId?: number;\n activityId?: number;\n text?: string | undefined;\n activityTranslationId?: number;\n\n constructor(data?: IActivityTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.activityId = _data[\"activityId\"];\n this.text = _data[\"text\"];\n this.activityTranslationId = _data[\"activityTranslationId\"];\n }\n }\n\n static fromJS(data: any): ActivityTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new ActivityTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"activityId\"] = this.activityId;\n data[\"text\"] = this.text;\n data[\"activityTranslationId\"] = this.activityTranslationId;\n return data;\n }\n}\n\nexport interface IActivityTranslationDto {\n languageId?: number;\n activityId?: number;\n text?: string | undefined;\n activityTranslationId?: number;\n}\n\nexport class FilterCriteriaInfo implements IFilterCriteriaInfo {\n criteria?: string | undefined;\n type?: ECriteriaType;\n searchModes?: string[] | undefined;\n defaultSearchMode?: string | undefined;\n listValues?: SelectItem[] | undefined;\n isMultipleOr?: boolean;\n\n constructor(data?: IFilterCriteriaInfo) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.criteria = _data[\"criteria\"];\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"searchModes\"])) {\n this.searchModes = [] as any;\n for (let item of _data[\"searchModes\"])\n this.searchModes!.push(item);\n }\n this.defaultSearchMode = _data[\"defaultSearchMode\"];\n if (Array.isArray(_data[\"listValues\"])) {\n this.listValues = [] as any;\n for (let item of _data[\"listValues\"])\n this.listValues!.push(SelectItem.fromJS(item));\n }\n this.isMultipleOr = _data[\"isMultipleOr\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaInfo {\n data = typeof data === 'object' ? data : {};\n let result = new FilterCriteriaInfo();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"criteria\"] = this.criteria;\n data[\"type\"] = this.type;\n if (Array.isArray(this.searchModes)) {\n data[\"searchModes\"] = [];\n for (let item of this.searchModes)\n data[\"searchModes\"].push(item);\n }\n data[\"defaultSearchMode\"] = this.defaultSearchMode;\n if (Array.isArray(this.listValues)) {\n data[\"listValues\"] = [];\n for (let item of this.listValues)\n data[\"listValues\"].push(item.toJSON());\n }\n data[\"isMultipleOr\"] = this.isMultipleOr;\n return data;\n }\n}\n\nexport interface IFilterCriteriaInfo {\n criteria?: string | undefined;\n type?: ECriteriaType;\n searchModes?: string[] | undefined;\n defaultSearchMode?: string | undefined;\n listValues?: SelectItem[] | undefined;\n isMultipleOr?: boolean;\n}\n\nexport enum ECriteriaType {\n Text = \"Text\",\n List = \"List\",\n Date = \"Date\",\n Boolean = \"Boolean\",\n Numeric = \"Numeric\",\n Float = \"Float\",\n}\n\nexport class SelectItem implements ISelectItem {\n idValue?: string | undefined;\n displayValue?: string | undefined;\n\n constructor(data?: ISelectItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.idValue = _data[\"idValue\"];\n this.displayValue = _data[\"displayValue\"];\n }\n }\n\n static fromJS(data: any): SelectItem {\n data = typeof data === 'object' ? data : {};\n let result = new SelectItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"idValue\"] = this.idValue;\n data[\"displayValue\"] = this.displayValue;\n return data;\n }\n}\n\nexport interface ISelectItem {\n idValue?: string | undefined;\n displayValue?: string | undefined;\n}\n\nexport class PaginatedResultsOfAffixGridDto implements IPaginatedResultsOfAffixGridDto {\n totalCount?: number;\n results?: AffixGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfAffixGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(AffixGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfAffixGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfAffixGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfAffixGridDto {\n totalCount?: number;\n results?: AffixGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class AffixGridDto implements IAffixGridDto {\n attributionDate?: Date | undefined;\n name?: string | undefined;\n\n constructor(data?: IAffixGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.attributionDate = _data[\"attributionDate\"] ? new Date(_data[\"attributionDate\"].toString()) : undefined;\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): AffixGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new AffixGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"attributionDate\"] = this.attributionDate ? this.attributionDate.toISOString() : undefined;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IAffixGridDto {\n attributionDate?: Date | undefined;\n name?: string | undefined;\n}\n\nexport class DrupalAffixSearch extends PaginatedSearch implements IDrupalAffixSearch {\n attributionDate?: DateSearch | undefined;\n name?: TextSearch | undefined;\n\n constructor(data?: IDrupalAffixSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.attributionDate = _data[\"attributionDate\"] ? DateSearch.fromJS(_data[\"attributionDate\"]) : undefined;\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DrupalAffixSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalAffixSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"attributionDate\"] = this.attributionDate ? this.attributionDate.toJSON() : undefined;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDrupalAffixSearch extends IPaginatedSearch {\n attributionDate?: DateSearch | undefined;\n name?: TextSearch | undefined;\n}\n\nexport abstract class FilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime implements IFilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime {\n criterias?: CombinableCriteriaOfEDateSearchTypeAndNullableDateTime[] | undefined;\n searchMode?: EDateSearchType;\n value?: Date | undefined;\n secondaryValue?: Date | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEDateSearchTypeAndNullableDateTime.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"] ? new Date(_data[\"value\"].toString()) : undefined;\n this.secondaryValue = _data[\"secondaryValue\"] ? new Date(_data[\"secondaryValue\"].toString()) : undefined;\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value ? this.value.toISOString() : undefined;\n data[\"secondaryValue\"] = this.secondaryValue ? this.secondaryValue.toISOString() : undefined;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime {\n criterias?: CombinableCriteriaOfEDateSearchTypeAndNullableDateTime[] | undefined;\n searchMode?: EDateSearchType;\n value?: Date | undefined;\n secondaryValue?: Date | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class DateSearch extends FilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime implements IDateSearch {\n\n constructor(data?: IDateSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): DateSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DateSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDateSearch extends IFilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime {\n}\n\nexport class CombinableCriteriaOfEDateSearchTypeAndNullableDateTime implements ICombinableCriteriaOfEDateSearchTypeAndNullableDateTime {\n searchMode?: EDateSearchType;\n value?: Date | undefined;\n secondaryValue?: Date | undefined;\n\n constructor(data?: ICombinableCriteriaOfEDateSearchTypeAndNullableDateTime) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"] ? new Date(_data[\"value\"].toString()) : undefined;\n this.secondaryValue = _data[\"secondaryValue\"] ? new Date(_data[\"secondaryValue\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEDateSearchTypeAndNullableDateTime {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEDateSearchTypeAndNullableDateTime();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value ? this.value.toISOString() : undefined;\n data[\"secondaryValue\"] = this.secondaryValue ? this.secondaryValue.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEDateSearchTypeAndNullableDateTime {\n searchMode?: EDateSearchType;\n value?: Date | undefined;\n secondaryValue?: Date | undefined;\n}\n\nexport enum EDateSearchType {\n Between = \"Between\",\n Equals = \"Equals\",\n NotEquals = \"NotEquals\",\n GreaterThan = \"GreaterThan\",\n LessThan = \"LessThan\",\n}\n\nexport class PaginatedResultsOfAffixRequestGridDto implements IPaginatedResultsOfAffixRequestGridDto {\n totalCount?: number;\n results?: AffixRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfAffixRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(AffixRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfAffixRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfAffixRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfAffixRequestGridDto {\n totalCount?: number;\n results?: AffixRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class AffixRequestGridDto implements IAffixRequestGridDto {\n requestId?: number;\n requestTypeId?: number;\n requestType?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n requestStateId?: number;\n requestState?: string | undefined;\n requestStateCode?: ERequestState;\n requestTypeCode?: ERequestType;\n contact?: string | undefined;\n personId?: number;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IAffixRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.requestType = _data[\"requestType\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.contact = _data[\"contact\"];\n this.personId = _data[\"personId\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): AffixRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new AffixRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"requestType\"] = this.requestType;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"contact\"] = this.contact;\n data[\"personId\"] = this.personId;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IAffixRequestGridDto {\n requestId?: number;\n requestTypeId?: number;\n requestType?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n requestStateId?: number;\n requestState?: string | undefined;\n requestStateCode?: ERequestState;\n requestTypeCode?: ERequestType;\n contact?: string | undefined;\n personId?: number;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport enum ERequestState {\n REQUESTED = \"REQUESTED\",\n BILLED = \"BILLED\",\n PAID = \"PAID\",\n EXECUTED = \"EXECUTED\",\n CANCELLED = \"CANCELLED\",\n TO_EVALUATE = \"TO_EVALUATE\",\n EVALUATED = \"EVALUATED\",\n AUTHORIZED = \"AUTHORIZED\",\n TO_EVALUATE_FCI = \"TO_EVALUATE_FCI\",\n AWAITING_APPLICANT_REACTION = \"AWAITING_APPLICANT_REACTION\",\n REFUSED_BY_FCI = \"REFUSED_BY_FCI\",\n JUDGE_VALIDATION = \"JUDGE_VALIDATION\",\n DOG_VALIDATION = \"DOG_VALIDATION\",\n GESTATION = \"GESTATION\",\n LAB_WORK = \"LAB_WORK\",\n LAB_RESULTS_RECEIVED = \"LAB_RESULTS_RECEIVED\",\n EXECUTED_AWAITING_DOCUMENTS = \"EXECUTED_AWAITING_DOCUMENTS\",\n AC_DECISION = \"AC_DECISION\",\n BEING_PROCESSED = \"BEING_PROCESSED\",\n PAYMENT_PROCESS = \"PAYMENT_PROCESS\",\n AWAITING_DECISION = \"AWAITING_DECISION\",\n AWAITING_CATALOG = \"AWAITING_CATALOG\",\n PUPPIES_COMPLETE = \"PUPPIES_COMPLETE\",\n PAYMENT_REFUSED = \"PAYMENT_REFUSED\",\n READY_FOR_CONFIGURATION = \"READY_FOR_CONFIGURATION\",\n CATALOG_JUDGE_VALIDATION = \"CATALOG_JUDGE_VALIDATION\",\n}\n\nexport enum ERequestType {\n WorkAttestRequest = \"WorkAttestRequest\",\n WorkbookRequest = \"WorkbookRequest\",\n DogOwnershipChangeRequest = \"DogOwnershipChangeRequest\",\n NewKennelRequest = \"NewKennelRequest\",\n KennelOwnershipChangeRequest = \"KennelOwnershipChangeRequest\",\n KennelImportRequest = \"KennelImportRequest\",\n KennelExportRequest = \"KennelExportRequest\",\n KennelNameChangeRequest = \"KennelNameChangeRequest\",\n DogTempOwnershipChangeRequest = \"DogTempOwnershipChangeRequest\",\n CompetitionRequest = \"CompetitionRequest\",\n PedigreeRequest = \"PedigreeRequest\",\n PedigreeDuplicataRequest = \"PedigreeDuplicataRequest\",\n DysplasiaRequest = \"DysplasiaRequest\",\n ImportRequest = \"ImportRequest\",\n BroodRequest = \"BroodRequest\",\n HealthTestRequest = \"HealthTestRequest\",\n TitleRequest = \"TitleRequest\",\n MembershipRequest = \"MembershipRequest\",\n MiscellaneousRequest = \"MiscellaneousRequest\",\n ExpatriationRequest = \"ExpatriationRequest\",\n}\n\nexport class AffixRequestSearch extends PaginatedSearch implements IAffixRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n requestTypeId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IAffixRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.requestTypeId = _data[\"requestTypeId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestTypeId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): AffixRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new AffixRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"requestTypeId\"] = this.requestTypeId ? this.requestTypeId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IAffixRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n requestTypeId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport abstract class FilterCriteriaBaseOfEListSearchTypeAndNullableInteger implements IFilterCriteriaBaseOfEListSearchTypeAndNullableInteger {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableInteger[] | undefined;\n searchMode?: EListSearchType;\n value?: number | undefined;\n secondaryValue?: number | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEListSearchTypeAndNullableInteger) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEListSearchTypeAndNullableInteger.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEListSearchTypeAndNullableInteger {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEListSearchTypeAndNullableInteger' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEListSearchTypeAndNullableInteger {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableInteger[] | undefined;\n searchMode?: EListSearchType;\n value?: number | undefined;\n secondaryValue?: number | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class ListSearchOfNullableInteger extends FilterCriteriaBaseOfEListSearchTypeAndNullableInteger implements IListSearchOfNullableInteger {\n\n constructor(data?: IListSearchOfNullableInteger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ListSearchOfNullableInteger {\n data = typeof data === 'object' ? data : {};\n let result = new ListSearchOfNullableInteger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IListSearchOfNullableInteger extends IFilterCriteriaBaseOfEListSearchTypeAndNullableInteger {\n}\n\nexport class CombinableCriteriaOfEListSearchTypeAndNullableInteger implements ICombinableCriteriaOfEListSearchTypeAndNullableInteger {\n searchMode?: EListSearchType;\n value?: number | undefined;\n secondaryValue?: number | undefined;\n\n constructor(data?: ICombinableCriteriaOfEListSearchTypeAndNullableInteger) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEListSearchTypeAndNullableInteger {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEListSearchTypeAndNullableInteger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEListSearchTypeAndNullableInteger {\n searchMode?: EListSearchType;\n value?: number | undefined;\n secondaryValue?: number | undefined;\n}\n\nexport enum EListSearchType {\n Equals = \"Equals\",\n NotEquals = \"NotEquals\",\n NestedDefault = \"NestedDefault\",\n}\n\nexport abstract class FilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean implements IFilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean {\n criterias?: CombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean[] | undefined;\n searchMode?: EBooleanSearchTypes;\n value?: boolean | undefined;\n secondaryValue?: boolean | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean {\n criterias?: CombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean[] | undefined;\n searchMode?: EBooleanSearchTypes;\n value?: boolean | undefined;\n secondaryValue?: boolean | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class BooleanSearch extends FilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean implements IBooleanSearch {\n\n constructor(data?: IBooleanSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): BooleanSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BooleanSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBooleanSearch extends IFilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean {\n}\n\nexport class CombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean implements ICombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean {\n searchMode?: EBooleanSearchTypes;\n value?: boolean | undefined;\n secondaryValue?: boolean | undefined;\n\n constructor(data?: ICombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean {\n searchMode?: EBooleanSearchTypes;\n value?: boolean | undefined;\n secondaryValue?: boolean | undefined;\n}\n\nexport enum EBooleanSearchTypes {\n Equals = \"Equals\",\n NotEquals = \"NotEquals\",\n}\n\nexport class NewKennelRequestDto implements INewKennelRequestDto {\n newKennelRequestId?: number;\n requestId?: number;\n request?: RequestDto | undefined;\n nameOffer1?: string | undefined;\n nameOffer1Type?: EKennelType;\n nameOffer2?: string | undefined;\n nameOffer2Type?: EKennelType;\n nameOffer3?: string | undefined;\n nameOffer3Type?: EKennelType;\n nameOffer4?: string | undefined;\n nameOffer4Type?: EKennelType;\n nameOffer5?: string | undefined;\n nameOffer5Type?: EKennelType;\n transientOwnerIds?: number[] | undefined;\n transientBreedIds?: number[] | undefined;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n\n constructor(data?: INewKennelRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.newKennelRequestId = _data[\"newKennelRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.nameOffer1 = _data[\"nameOffer1\"];\n this.nameOffer1Type = _data[\"nameOffer1Type\"];\n this.nameOffer2 = _data[\"nameOffer2\"];\n this.nameOffer2Type = _data[\"nameOffer2Type\"];\n this.nameOffer3 = _data[\"nameOffer3\"];\n this.nameOffer3Type = _data[\"nameOffer3Type\"];\n this.nameOffer4 = _data[\"nameOffer4\"];\n this.nameOffer4Type = _data[\"nameOffer4Type\"];\n this.nameOffer5 = _data[\"nameOffer5\"];\n this.nameOffer5Type = _data[\"nameOffer5Type\"];\n if (Array.isArray(_data[\"transientOwnerIds\"])) {\n this.transientOwnerIds = [] as any;\n for (let item of _data[\"transientOwnerIds\"])\n this.transientOwnerIds!.push(item);\n }\n if (Array.isArray(_data[\"transientBreedIds\"])) {\n this.transientBreedIds = [] as any;\n for (let item of _data[\"transientBreedIds\"])\n this.transientBreedIds!.push(item);\n }\n this.finalName = _data[\"finalName\"];\n this.finalType = _data[\"finalType\"];\n this.fciNumber = _data[\"fciNumber\"];\n }\n }\n\n static fromJS(data: any): NewKennelRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new NewKennelRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"newKennelRequestId\"] = this.newKennelRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"nameOffer1\"] = this.nameOffer1;\n data[\"nameOffer1Type\"] = this.nameOffer1Type;\n data[\"nameOffer2\"] = this.nameOffer2;\n data[\"nameOffer2Type\"] = this.nameOffer2Type;\n data[\"nameOffer3\"] = this.nameOffer3;\n data[\"nameOffer3Type\"] = this.nameOffer3Type;\n data[\"nameOffer4\"] = this.nameOffer4;\n data[\"nameOffer4Type\"] = this.nameOffer4Type;\n data[\"nameOffer5\"] = this.nameOffer5;\n data[\"nameOffer5Type\"] = this.nameOffer5Type;\n if (Array.isArray(this.transientOwnerIds)) {\n data[\"transientOwnerIds\"] = [];\n for (let item of this.transientOwnerIds)\n data[\"transientOwnerIds\"].push(item);\n }\n if (Array.isArray(this.transientBreedIds)) {\n data[\"transientBreedIds\"] = [];\n for (let item of this.transientBreedIds)\n data[\"transientBreedIds\"].push(item);\n }\n data[\"finalName\"] = this.finalName;\n data[\"finalType\"] = this.finalType;\n data[\"fciNumber\"] = this.fciNumber;\n return data;\n }\n}\n\nexport interface INewKennelRequestDto {\n newKennelRequestId?: number;\n requestId?: number;\n request?: RequestDto | undefined;\n nameOffer1?: string | undefined;\n nameOffer1Type?: EKennelType;\n nameOffer2?: string | undefined;\n nameOffer2Type?: EKennelType;\n nameOffer3?: string | undefined;\n nameOffer3Type?: EKennelType;\n nameOffer4?: string | undefined;\n nameOffer4Type?: EKennelType;\n nameOffer5?: string | undefined;\n nameOffer5Type?: EKennelType;\n transientOwnerIds?: number[] | undefined;\n transientBreedIds?: number[] | undefined;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n}\n\nexport class RequestDto implements IRequestDto {\n requestId?: number;\n billRemark?: string | undefined;\n billPrestationDate?: string | undefined;\n platform?: EPlatform | undefined;\n managerId?: number | undefined;\n requestTypeId?: number;\n parentRequestId?: number | undefined;\n requestStateId?: number;\n status?: ERequestState;\n type?: ERequestType;\n personId?: number;\n personComputedName?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n sharepointUri?: string | undefined;\n isOnline?: boolean;\n remark?: string | undefined;\n isBlocked?: boolean;\n executionDate?: Date | undefined;\n manager?: string | undefined;\n personBcIdentifier?: string | undefined;\n lastStatusChangeDate?: Date | undefined;\n\n constructor(data?: IRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.billRemark = _data[\"billRemark\"];\n this.billPrestationDate = _data[\"billPrestationDate\"];\n this.platform = _data[\"platform\"];\n this.managerId = _data[\"managerId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.parentRequestId = _data[\"parentRequestId\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.status = _data[\"status\"];\n this.type = _data[\"type\"];\n this.personId = _data[\"personId\"];\n this.personComputedName = _data[\"personComputedName\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.sharepointUri = _data[\"sharepointUri\"];\n this.isOnline = _data[\"isOnline\"];\n this.remark = _data[\"remark\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.executionDate = _data[\"executionDate\"] ? new Date(_data[\"executionDate\"].toString()) : undefined;\n this.manager = _data[\"manager\"];\n this.personBcIdentifier = _data[\"personBcIdentifier\"];\n this.lastStatusChangeDate = _data[\"lastStatusChangeDate\"] ? new Date(_data[\"lastStatusChangeDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): RequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new RequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"billRemark\"] = this.billRemark;\n data[\"billPrestationDate\"] = this.billPrestationDate;\n data[\"platform\"] = this.platform;\n data[\"managerId\"] = this.managerId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"parentRequestId\"] = this.parentRequestId;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"status\"] = this.status;\n data[\"type\"] = this.type;\n data[\"personId\"] = this.personId;\n data[\"personComputedName\"] = this.personComputedName;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"isOnline\"] = this.isOnline;\n data[\"remark\"] = this.remark;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"executionDate\"] = this.executionDate ? this.executionDate.toISOString() : undefined;\n data[\"manager\"] = this.manager;\n data[\"personBcIdentifier\"] = this.personBcIdentifier;\n data[\"lastStatusChangeDate\"] = this.lastStatusChangeDate ? this.lastStatusChangeDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IRequestDto {\n requestId?: number;\n billRemark?: string | undefined;\n billPrestationDate?: string | undefined;\n platform?: EPlatform | undefined;\n managerId?: number | undefined;\n requestTypeId?: number;\n parentRequestId?: number | undefined;\n requestStateId?: number;\n status?: ERequestState;\n type?: ERequestType;\n personId?: number;\n personComputedName?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n sharepointUri?: string | undefined;\n isOnline?: boolean;\n remark?: string | undefined;\n isBlocked?: boolean;\n executionDate?: Date | undefined;\n manager?: string | undefined;\n personBcIdentifier?: string | undefined;\n lastStatusChangeDate?: Date | undefined;\n}\n\nexport enum EPlatform {\n CARE4DOGS = \"CARE4DOGS\",\n PORTAL = \"PORTAL\",\n MYDOGEVENT = \"MYDOGEVENT\",\n}\n\nexport enum EKennelType {\n Suffix = \"Suffix\",\n Prefix = \"Prefix\",\n}\n\nexport class KennelNameChangeRequestDto implements IKennelNameChangeRequestDto {\n kennelNameChangeRequestId?: number;\n requestId?: number;\n kennelId?: number;\n request?: RequestDto | undefined;\n nameOffer1?: string | undefined;\n nameOffer1Type?: EKennelType;\n nameOffer2?: string | undefined;\n nameOffer2Type?: EKennelType;\n nameOffer3?: string | undefined;\n nameOffer3Type?: EKennelType;\n nameOffer4?: string | undefined;\n nameOffer4Type?: EKennelType;\n nameOffer5?: string | undefined;\n nameOffer5Type?: EKennelType;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n newKennelId?: number;\n\n constructor(data?: IKennelNameChangeRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelNameChangeRequestId = _data[\"kennelNameChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.kennelId = _data[\"kennelId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.nameOffer1 = _data[\"nameOffer1\"];\n this.nameOffer1Type = _data[\"nameOffer1Type\"];\n this.nameOffer2 = _data[\"nameOffer2\"];\n this.nameOffer2Type = _data[\"nameOffer2Type\"];\n this.nameOffer3 = _data[\"nameOffer3\"];\n this.nameOffer3Type = _data[\"nameOffer3Type\"];\n this.nameOffer4 = _data[\"nameOffer4\"];\n this.nameOffer4Type = _data[\"nameOffer4Type\"];\n this.nameOffer5 = _data[\"nameOffer5\"];\n this.nameOffer5Type = _data[\"nameOffer5Type\"];\n this.finalName = _data[\"finalName\"];\n this.finalType = _data[\"finalType\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.newKennelId = _data[\"newKennelId\"];\n }\n }\n\n static fromJS(data: any): KennelNameChangeRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelNameChangeRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelNameChangeRequestId\"] = this.kennelNameChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"kennelId\"] = this.kennelId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"nameOffer1\"] = this.nameOffer1;\n data[\"nameOffer1Type\"] = this.nameOffer1Type;\n data[\"nameOffer2\"] = this.nameOffer2;\n data[\"nameOffer2Type\"] = this.nameOffer2Type;\n data[\"nameOffer3\"] = this.nameOffer3;\n data[\"nameOffer3Type\"] = this.nameOffer3Type;\n data[\"nameOffer4\"] = this.nameOffer4;\n data[\"nameOffer4Type\"] = this.nameOffer4Type;\n data[\"nameOffer5\"] = this.nameOffer5;\n data[\"nameOffer5Type\"] = this.nameOffer5Type;\n data[\"finalName\"] = this.finalName;\n data[\"finalType\"] = this.finalType;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"newKennelId\"] = this.newKennelId;\n return data;\n }\n}\n\nexport interface IKennelNameChangeRequestDto {\n kennelNameChangeRequestId?: number;\n requestId?: number;\n kennelId?: number;\n request?: RequestDto | undefined;\n nameOffer1?: string | undefined;\n nameOffer1Type?: EKennelType;\n nameOffer2?: string | undefined;\n nameOffer2Type?: EKennelType;\n nameOffer3?: string | undefined;\n nameOffer3Type?: EKennelType;\n nameOffer4?: string | undefined;\n nameOffer4Type?: EKennelType;\n nameOffer5?: string | undefined;\n nameOffer5Type?: EKennelType;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n newKennelId?: number;\n}\n\nexport class Result implements IResult {\n isFailure?: boolean;\n isSuccess?: boolean;\n error?: string | undefined;\n\n constructor(data?: IResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isFailure = _data[\"IsFailure\"];\n this.isSuccess = _data[\"IsSuccess\"];\n this.error = _data[\"Error\"];\n }\n }\n\n static fromJS(data: any): Result {\n data = typeof data === 'object' ? data : {};\n let result = new Result();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"IsFailure\"] = this.isFailure;\n data[\"IsSuccess\"] = this.isSuccess;\n data[\"Error\"] = this.error;\n return data;\n }\n}\n\nexport interface IResult {\n isFailure?: boolean;\n isSuccess?: boolean;\n error?: string | undefined;\n}\n\nexport class KennelImportRequestDto implements IKennelImportRequestDto {\n kennelImportRequestId?: number;\n requestId?: number;\n request?: RequestDto | undefined;\n countryId?: number;\n nameOffer?: string | undefined;\n nameOfferType?: EKennelType;\n transientOwnerIds?: number[] | undefined;\n transientBreedIds?: number[] | undefined;\n fciNumber?: string | undefined;\n\n constructor(data?: IKennelImportRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelImportRequestId = _data[\"kennelImportRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.countryId = _data[\"countryId\"];\n this.nameOffer = _data[\"nameOffer\"];\n this.nameOfferType = _data[\"nameOfferType\"];\n if (Array.isArray(_data[\"transientOwnerIds\"])) {\n this.transientOwnerIds = [] as any;\n for (let item of _data[\"transientOwnerIds\"])\n this.transientOwnerIds!.push(item);\n }\n if (Array.isArray(_data[\"transientBreedIds\"])) {\n this.transientBreedIds = [] as any;\n for (let item of _data[\"transientBreedIds\"])\n this.transientBreedIds!.push(item);\n }\n this.fciNumber = _data[\"fciNumber\"];\n }\n }\n\n static fromJS(data: any): KennelImportRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelImportRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelImportRequestId\"] = this.kennelImportRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"countryId\"] = this.countryId;\n data[\"nameOffer\"] = this.nameOffer;\n data[\"nameOfferType\"] = this.nameOfferType;\n if (Array.isArray(this.transientOwnerIds)) {\n data[\"transientOwnerIds\"] = [];\n for (let item of this.transientOwnerIds)\n data[\"transientOwnerIds\"].push(item);\n }\n if (Array.isArray(this.transientBreedIds)) {\n data[\"transientBreedIds\"] = [];\n for (let item of this.transientBreedIds)\n data[\"transientBreedIds\"].push(item);\n }\n data[\"fciNumber\"] = this.fciNumber;\n return data;\n }\n}\n\nexport interface IKennelImportRequestDto {\n kennelImportRequestId?: number;\n requestId?: number;\n request?: RequestDto | undefined;\n countryId?: number;\n nameOffer?: string | undefined;\n nameOfferType?: EKennelType;\n transientOwnerIds?: number[] | undefined;\n transientBreedIds?: number[] | undefined;\n fciNumber?: string | undefined;\n}\n\nexport class KennelExportRequestDto implements IKennelExportRequestDto {\n kennelExportRequestId?: number;\n requestId?: number;\n countryId?: number;\n kennelId?: number;\n request?: RequestDto | undefined;\n\n constructor(data?: IKennelExportRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelExportRequestId = _data[\"kennelExportRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.countryId = _data[\"countryId\"];\n this.kennelId = _data[\"kennelId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n }\n }\n\n static fromJS(data: any): KennelExportRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelExportRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelExportRequestId\"] = this.kennelExportRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"countryId\"] = this.countryId;\n data[\"kennelId\"] = this.kennelId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IKennelExportRequestDto {\n kennelExportRequestId?: number;\n requestId?: number;\n countryId?: number;\n kennelId?: number;\n request?: RequestDto | undefined;\n}\n\nexport class KennelOwnershipChangeRequestDto implements IKennelOwnershipChangeRequestDto {\n kennelOwnershipChangeRequestId?: number;\n requestId?: number;\n kennelId?: number;\n request?: RequestDto | undefined;\n transientOwnerIds?: number[] | undefined;\n\n constructor(data?: IKennelOwnershipChangeRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelOwnershipChangeRequestId = _data[\"kennelOwnershipChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.kennelId = _data[\"kennelId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"transientOwnerIds\"])) {\n this.transientOwnerIds = [] as any;\n for (let item of _data[\"transientOwnerIds\"])\n this.transientOwnerIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): KennelOwnershipChangeRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelOwnershipChangeRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelOwnershipChangeRequestId\"] = this.kennelOwnershipChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"kennelId\"] = this.kennelId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.transientOwnerIds)) {\n data[\"transientOwnerIds\"] = [];\n for (let item of this.transientOwnerIds)\n data[\"transientOwnerIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IKennelOwnershipChangeRequestDto {\n kennelOwnershipChangeRequestId?: number;\n requestId?: number;\n kennelId?: number;\n request?: RequestDto | undefined;\n transientOwnerIds?: number[] | undefined;\n}\n\nexport class ResultOfBoolean implements IResultOfBoolean {\n isFailure?: boolean;\n isSuccess?: boolean;\n error?: string | undefined;\n value?: boolean;\n\n constructor(data?: IResultOfBoolean) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isFailure = _data[\"IsFailure\"];\n this.isSuccess = _data[\"IsSuccess\"];\n this.error = _data[\"Error\"];\n this.value = _data[\"Value\"];\n }\n }\n\n static fromJS(data: any): ResultOfBoolean {\n data = typeof data === 'object' ? data : {};\n let result = new ResultOfBoolean();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"IsFailure\"] = this.isFailure;\n data[\"IsSuccess\"] = this.isSuccess;\n data[\"Error\"] = this.error;\n data[\"Value\"] = this.value;\n return data;\n }\n}\n\nexport interface IResultOfBoolean {\n isFailure?: boolean;\n isSuccess?: boolean;\n error?: string | undefined;\n value?: boolean;\n}\n\nexport class PaginatedResultsOfAffixExportGridDto implements IPaginatedResultsOfAffixExportGridDto {\n totalCount?: number;\n results?: AffixExportGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfAffixExportGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(AffixExportGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfAffixExportGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfAffixExportGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfAffixExportGridDto {\n totalCount?: number;\n results?: AffixExportGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class AffixExportGridDto implements IAffixExportGridDto {\n requestId?: number;\n requestNumber?: string | undefined;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n originCountry?: string | undefined;\n affix?: EKennelType;\n kennelName?: string | undefined;\n oldKennelName?: string | undefined;\n oldAffix?: EKennelType;\n month?: number;\n year?: number;\n toExport?: boolean;\n\n constructor(data?: IAffixExportGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.exportDate = _data[\"exportDate\"] ? new Date(_data[\"exportDate\"].toString()) : undefined;\n this.exportForcedValue = _data[\"exportForcedValue\"];\n this.originCountry = _data[\"originCountry\"];\n this.affix = _data[\"affix\"];\n this.kennelName = _data[\"kennelName\"];\n this.oldKennelName = _data[\"oldKennelName\"];\n this.oldAffix = _data[\"oldAffix\"];\n this.month = _data[\"month\"];\n this.year = _data[\"year\"];\n this.toExport = _data[\"toExport\"];\n }\n }\n\n static fromJS(data: any): AffixExportGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new AffixExportGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"exportDate\"] = this.exportDate ? this.exportDate.toISOString() : undefined;\n data[\"exportForcedValue\"] = this.exportForcedValue;\n data[\"originCountry\"] = this.originCountry;\n data[\"affix\"] = this.affix;\n data[\"kennelName\"] = this.kennelName;\n data[\"oldKennelName\"] = this.oldKennelName;\n data[\"oldAffix\"] = this.oldAffix;\n data[\"month\"] = this.month;\n data[\"year\"] = this.year;\n data[\"toExport\"] = this.toExport;\n return data;\n }\n}\n\nexport interface IAffixExportGridDto {\n requestId?: number;\n requestNumber?: string | undefined;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n originCountry?: string | undefined;\n affix?: EKennelType;\n kennelName?: string | undefined;\n oldKennelName?: string | undefined;\n oldAffix?: EKennelType;\n month?: number;\n year?: number;\n toExport?: boolean;\n}\n\nexport class AffixRequestExportSearch extends PaginatedSearch implements IAffixRequestExportSearch {\n month?: ListSearchOfNullableInteger | undefined;\n year?: NumericSearch | undefined;\n\n constructor(data?: IAffixRequestExportSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.month = _data[\"month\"] ? ListSearchOfNullableInteger.fromJS(_data[\"month\"]) : undefined;\n this.year = _data[\"year\"] ? NumericSearch.fromJS(_data[\"year\"]) : undefined;\n }\n }\n\n static fromJS(data: any): AffixRequestExportSearch {\n data = typeof data === 'object' ? data : {};\n let result = new AffixRequestExportSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"month\"] = this.month ? this.month.toJSON() : undefined;\n data[\"year\"] = this.year ? this.year.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IAffixRequestExportSearch extends IPaginatedSearch {\n month?: ListSearchOfNullableInteger | undefined;\n year?: NumericSearch | undefined;\n}\n\nexport abstract class FilterCriteriaBaseOfENumericSearchTypeAndNullableLong implements IFilterCriteriaBaseOfENumericSearchTypeAndNullableLong {\n criterias?: CombinableCriteriaOfENumericSearchTypeAndNullableLong[] | undefined;\n searchMode?: ENumericSearchType;\n value?: number | undefined;\n secondaryValue?: number | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfENumericSearchTypeAndNullableLong) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfENumericSearchTypeAndNullableLong.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfENumericSearchTypeAndNullableLong {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfENumericSearchTypeAndNullableLong' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfENumericSearchTypeAndNullableLong {\n criterias?: CombinableCriteriaOfENumericSearchTypeAndNullableLong[] | undefined;\n searchMode?: ENumericSearchType;\n value?: number | undefined;\n secondaryValue?: number | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class NumericSearch extends FilterCriteriaBaseOfENumericSearchTypeAndNullableLong implements INumericSearch {\n\n constructor(data?: INumericSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): NumericSearch {\n data = typeof data === 'object' ? data : {};\n let result = new NumericSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface INumericSearch extends IFilterCriteriaBaseOfENumericSearchTypeAndNullableLong {\n}\n\nexport class CombinableCriteriaOfENumericSearchTypeAndNullableLong implements ICombinableCriteriaOfENumericSearchTypeAndNullableLong {\n searchMode?: ENumericSearchType;\n value?: number | undefined;\n secondaryValue?: number | undefined;\n\n constructor(data?: ICombinableCriteriaOfENumericSearchTypeAndNullableLong) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfENumericSearchTypeAndNullableLong {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfENumericSearchTypeAndNullableLong();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfENumericSearchTypeAndNullableLong {\n searchMode?: ENumericSearchType;\n value?: number | undefined;\n secondaryValue?: number | undefined;\n}\n\nexport enum ENumericSearchType {\n Equals = \"Equals\",\n NotEquals = \"NotEquals\",\n GreaterThan = \"GreaterThan\",\n GreaterThanOrEquals = \"GreaterThanOrEquals\",\n LessThan = \"LessThan\",\n LessThanOrEquals = \"LessThanOrEquals\",\n}\n\nexport class NewKennelRequestImportDto implements INewKennelRequestImportDto {\n requestNumber?: string | undefined;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n importable?: boolean;\n accepted?: boolean;\n\n constructor(data?: INewKennelRequestImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestNumber = _data[\"requestNumber\"];\n this.finalName = _data[\"finalName\"];\n this.finalType = _data[\"finalType\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.importable = _data[\"importable\"];\n this.accepted = _data[\"accepted\"];\n }\n }\n\n static fromJS(data: any): NewKennelRequestImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new NewKennelRequestImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestNumber\"] = this.requestNumber;\n data[\"finalName\"] = this.finalName;\n data[\"finalType\"] = this.finalType;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"importable\"] = this.importable;\n data[\"accepted\"] = this.accepted;\n return data;\n }\n}\n\nexport interface INewKennelRequestImportDto {\n requestNumber?: string | undefined;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n importable?: boolean;\n accepted?: boolean;\n}\n\nexport class KennelImportRequestImportDto implements IKennelImportRequestImportDto {\n requestNumber?: string | undefined;\n fciNumber?: string | undefined;\n importable?: boolean;\n accepted?: boolean;\n fciAnswer?: string | undefined;\n originCountry?: string | undefined;\n affix?: EKennelType;\n kennelName?: string | undefined;\n\n constructor(data?: IKennelImportRequestImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestNumber = _data[\"requestNumber\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.importable = _data[\"importable\"];\n this.accepted = _data[\"accepted\"];\n this.fciAnswer = _data[\"fciAnswer\"];\n this.originCountry = _data[\"originCountry\"];\n this.affix = _data[\"affix\"];\n this.kennelName = _data[\"kennelName\"];\n }\n }\n\n static fromJS(data: any): KennelImportRequestImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelImportRequestImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestNumber\"] = this.requestNumber;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"importable\"] = this.importable;\n data[\"accepted\"] = this.accepted;\n data[\"fciAnswer\"] = this.fciAnswer;\n data[\"originCountry\"] = this.originCountry;\n data[\"affix\"] = this.affix;\n data[\"kennelName\"] = this.kennelName;\n return data;\n }\n}\n\nexport interface IKennelImportRequestImportDto {\n requestNumber?: string | undefined;\n fciNumber?: string | undefined;\n importable?: boolean;\n accepted?: boolean;\n fciAnswer?: string | undefined;\n originCountry?: string | undefined;\n affix?: EKennelType;\n kennelName?: string | undefined;\n}\n\nexport class NameChangeRequestImporRequestDto implements INameChangeRequestImporRequestDto {\n requestNumber?: string | undefined;\n fciNumber?: string | undefined;\n fciAnswer?: string | undefined;\n finalType?: EKennelType;\n finalName?: string | undefined;\n importable?: boolean;\n oldKennelName?: string | undefined;\n oldAffix?: EKennelType;\n accepted?: boolean;\n\n constructor(data?: INameChangeRequestImporRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestNumber = _data[\"requestNumber\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.fciAnswer = _data[\"fciAnswer\"];\n this.finalType = _data[\"finalType\"];\n this.finalName = _data[\"finalName\"];\n this.importable = _data[\"importable\"];\n this.oldKennelName = _data[\"oldKennelName\"];\n this.oldAffix = _data[\"oldAffix\"];\n this.accepted = _data[\"accepted\"];\n }\n }\n\n static fromJS(data: any): NameChangeRequestImporRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new NameChangeRequestImporRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestNumber\"] = this.requestNumber;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"fciAnswer\"] = this.fciAnswer;\n data[\"finalType\"] = this.finalType;\n data[\"finalName\"] = this.finalName;\n data[\"importable\"] = this.importable;\n data[\"oldKennelName\"] = this.oldKennelName;\n data[\"oldAffix\"] = this.oldAffix;\n data[\"accepted\"] = this.accepted;\n return data;\n }\n}\n\nexport interface INameChangeRequestImporRequestDto {\n requestNumber?: string | undefined;\n fciNumber?: string | undefined;\n fciAnswer?: string | undefined;\n finalType?: EKennelType;\n finalName?: string | undefined;\n importable?: boolean;\n oldKennelName?: string | undefined;\n oldAffix?: EKennelType;\n accepted?: boolean;\n}\n\nexport class OwnershipChangeRequestImporRequestDto implements IOwnershipChangeRequestImporRequestDto {\n requestNumber?: string | undefined;\n fciAnswer?: string | undefined;\n importable?: boolean;\n affix?: EKennelType;\n kennelName?: string | undefined;\n accepted?: boolean;\n\n constructor(data?: IOwnershipChangeRequestImporRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestNumber = _data[\"requestNumber\"];\n this.fciAnswer = _data[\"fciAnswer\"];\n this.importable = _data[\"importable\"];\n this.affix = _data[\"affix\"];\n this.kennelName = _data[\"kennelName\"];\n this.accepted = _data[\"accepted\"];\n }\n }\n\n static fromJS(data: any): OwnershipChangeRequestImporRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new OwnershipChangeRequestImporRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestNumber\"] = this.requestNumber;\n data[\"fciAnswer\"] = this.fciAnswer;\n data[\"importable\"] = this.importable;\n data[\"affix\"] = this.affix;\n data[\"kennelName\"] = this.kennelName;\n data[\"accepted\"] = this.accepted;\n return data;\n }\n}\n\nexport interface IOwnershipChangeRequestImporRequestDto {\n requestNumber?: string | undefined;\n fciAnswer?: string | undefined;\n importable?: boolean;\n affix?: EKennelType;\n kennelName?: string | undefined;\n accepted?: boolean;\n}\n\nexport class PaginatedResultsOfJudgeGridDto implements IPaginatedResultsOfJudgeGridDto {\n totalCount?: number;\n results?: JudgeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfJudgeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(JudgeGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfJudgeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfJudgeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfJudgeGridDto {\n totalCount?: number;\n results?: JudgeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class JudgeGridDto implements IJudgeGridDto {\n judgeId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n name?: string | undefined;\n isDeceased?: boolean;\n\n constructor(data?: IJudgeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.judgeId = _data[\"judgeId\"];\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.language = _data[\"language\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.name = _data[\"name\"];\n this.isDeceased = _data[\"isDeceased\"];\n }\n }\n\n static fromJS(data: any): JudgeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"judgeId\"] = this.judgeId;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"language\"] = this.language;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"name\"] = this.name;\n data[\"isDeceased\"] = this.isDeceased;\n return data;\n }\n}\n\nexport interface IJudgeGridDto {\n judgeId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n name?: string | undefined;\n isDeceased?: boolean;\n}\n\nexport class BaseBreedSearch extends PaginatedSearch implements IBaseBreedSearch {\n breedId?: number;\n languageId?: number;\n\n constructor(data?: IBaseBreedSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.breedId = _data[\"breedId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): BaseBreedSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BaseBreedSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBaseBreedSearch extends IPaginatedSearch {\n breedId?: number;\n languageId?: number;\n}\n\nexport class PaginatedResultsOfBreedColorDto implements IPaginatedResultsOfBreedColorDto {\n totalCount?: number;\n results?: BreedColorDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreedColorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreedColorDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreedColorDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreedColorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreedColorDto {\n totalCount?: number;\n results?: BreedColorDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreedColorDto implements IBreedColorDto {\n breedColorId?: number;\n colorId?: number;\n breedId?: number;\n colorName?: string | undefined;\n breedName?: string | undefined;\n recognizedColor?: boolean;\n authorizedBreeding?: boolean;\n\n constructor(data?: IBreedColorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedColorId = _data[\"breedColorId\"];\n this.colorId = _data[\"colorId\"];\n this.breedId = _data[\"breedId\"];\n this.colorName = _data[\"colorName\"];\n this.breedName = _data[\"breedName\"];\n this.recognizedColor = _data[\"recognizedColor\"];\n this.authorizedBreeding = _data[\"authorizedBreeding\"];\n }\n }\n\n static fromJS(data: any): BreedColorDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedColorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedColorId\"] = this.breedColorId;\n data[\"colorId\"] = this.colorId;\n data[\"breedId\"] = this.breedId;\n data[\"colorName\"] = this.colorName;\n data[\"breedName\"] = this.breedName;\n data[\"recognizedColor\"] = this.recognizedColor;\n data[\"authorizedBreeding\"] = this.authorizedBreeding;\n return data;\n }\n}\n\nexport interface IBreedColorDto {\n breedColorId?: number;\n colorId?: number;\n breedId?: number;\n colorName?: string | undefined;\n breedName?: string | undefined;\n recognizedColor?: boolean;\n authorizedBreeding?: boolean;\n}\n\nexport class BreedColorSearch extends PaginatedSearch implements IBreedColorSearch {\n languageCode?: string | undefined;\n colorId?: number;\n recognizedColor?: BooleanSearch | undefined;\n authorizedBreeding?: BooleanSearch | undefined;\n\n constructor(data?: IBreedColorSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageCode = _data[\"languageCode\"];\n this.colorId = _data[\"colorId\"];\n this.recognizedColor = _data[\"recognizedColor\"] ? BooleanSearch.fromJS(_data[\"recognizedColor\"]) : undefined;\n this.authorizedBreeding = _data[\"authorizedBreeding\"] ? BooleanSearch.fromJS(_data[\"authorizedBreeding\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BreedColorSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedColorSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageCode\"] = this.languageCode;\n data[\"colorId\"] = this.colorId;\n data[\"recognizedColor\"] = this.recognizedColor ? this.recognizedColor.toJSON() : undefined;\n data[\"authorizedBreeding\"] = this.authorizedBreeding ? this.authorizedBreeding.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedColorSearch extends IPaginatedSearch {\n languageCode?: string | undefined;\n colorId?: number;\n recognizedColor?: BooleanSearch | undefined;\n authorizedBreeding?: BooleanSearch | undefined;\n}\n\nexport class SaveColorsAllowedBreedsDto implements ISaveColorsAllowedBreedsDto {\n colorId?: number;\n breedIds?: number[] | undefined;\n\n constructor(data?: ISaveColorsAllowedBreedsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.colorId = _data[\"colorId\"];\n if (Array.isArray(_data[\"breedIds\"])) {\n this.breedIds = [] as any;\n for (let item of _data[\"breedIds\"])\n this.breedIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SaveColorsAllowedBreedsDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveColorsAllowedBreedsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"colorId\"] = this.colorId;\n if (Array.isArray(this.breedIds)) {\n data[\"breedIds\"] = [];\n for (let item of this.breedIds)\n data[\"breedIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISaveColorsAllowedBreedsDto {\n colorId?: number;\n breedIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfArticleGridDto implements IPaginatedResultsOfArticleGridDto {\n totalCount?: number;\n results?: ArticleGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfArticleGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ArticleGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfArticleGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfArticleGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfArticleGridDto {\n totalCount?: number;\n results?: ArticleGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ArticleGridDto implements IArticleGridDto {\n articleId?: number;\n articleNumber?: number;\n bcIdentifier?: string | undefined;\n description?: string | undefined;\n price?: number;\n\n constructor(data?: IArticleGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.articleId = _data[\"articleId\"];\n this.articleNumber = _data[\"articleNumber\"];\n this.bcIdentifier = _data[\"bcIdentifier\"];\n this.description = _data[\"description\"];\n this.price = _data[\"price\"];\n }\n }\n\n static fromJS(data: any): ArticleGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ArticleGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"articleId\"] = this.articleId;\n data[\"articleNumber\"] = this.articleNumber;\n data[\"bcIdentifier\"] = this.bcIdentifier;\n data[\"description\"] = this.description;\n data[\"price\"] = this.price;\n return data;\n }\n}\n\nexport interface IArticleGridDto {\n articleId?: number;\n articleNumber?: number;\n bcIdentifier?: string | undefined;\n description?: string | undefined;\n price?: number;\n}\n\nexport class ArticleSearch extends PaginatedSearch implements IArticleSearch {\n bcIdentifier?: TextSearch | undefined;\n articleNumber?: NumericSearch | undefined;\n description?: TextSearch | undefined;\n\n constructor(data?: IArticleSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.bcIdentifier = _data[\"bcIdentifier\"] ? TextSearch.fromJS(_data[\"bcIdentifier\"]) : undefined;\n this.articleNumber = _data[\"articleNumber\"] ? NumericSearch.fromJS(_data[\"articleNumber\"]) : undefined;\n this.description = _data[\"description\"] ? TextSearch.fromJS(_data[\"description\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ArticleSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ArticleSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"bcIdentifier\"] = this.bcIdentifier ? this.bcIdentifier.toJSON() : undefined;\n data[\"articleNumber\"] = this.articleNumber ? this.articleNumber.toJSON() : undefined;\n data[\"description\"] = this.description ? this.description.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IArticleSearch extends IPaginatedSearch {\n bcIdentifier?: TextSearch | undefined;\n articleNumber?: NumericSearch | undefined;\n description?: TextSearch | undefined;\n}\n\nexport class ArticleDto implements IArticleDto {\n articleId?: number;\n articleNumber?: number;\n bcIdentifier?: string | undefined;\n code?: EArticleCodes | undefined;\n price?: number;\n vatCode?: EVat;\n isMiscelaneous?: boolean;\n articleTranslations?: ArticleTranslationDto[] | undefined;\n\n constructor(data?: IArticleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.articleId = _data[\"articleId\"];\n this.articleNumber = _data[\"articleNumber\"];\n this.bcIdentifier = _data[\"bcIdentifier\"];\n this.code = _data[\"code\"];\n this.price = _data[\"price\"];\n this.vatCode = _data[\"vatCode\"];\n this.isMiscelaneous = _data[\"isMiscelaneous\"];\n if (Array.isArray(_data[\"articleTranslations\"])) {\n this.articleTranslations = [] as any;\n for (let item of _data[\"articleTranslations\"])\n this.articleTranslations!.push(ArticleTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ArticleDto {\n data = typeof data === 'object' ? data : {};\n let result = new ArticleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"articleId\"] = this.articleId;\n data[\"articleNumber\"] = this.articleNumber;\n data[\"bcIdentifier\"] = this.bcIdentifier;\n data[\"code\"] = this.code;\n data[\"price\"] = this.price;\n data[\"vatCode\"] = this.vatCode;\n data[\"isMiscelaneous\"] = this.isMiscelaneous;\n if (Array.isArray(this.articleTranslations)) {\n data[\"articleTranslations\"] = [];\n for (let item of this.articleTranslations)\n data[\"articleTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IArticleDto {\n articleId?: number;\n articleNumber?: number;\n bcIdentifier?: string | undefined;\n code?: EArticleCodes | undefined;\n price?: number;\n vatCode?: EVat;\n isMiscelaneous?: boolean;\n articleTranslations?: ArticleTranslationDto[] | undefined;\n}\n\nexport enum EArticleCodes {\n ProgenusManualDnaEncoding = \"ProgenusManualDnaEncoding\",\n GenealogyCompletion = \"GenealogyCompletion\",\n WorkAttestRequest = \"WorkAttestRequest\",\n WorkbookRequest = \"WorkbookRequest\",\n DogOwnershipChangeRequest = \"DogOwnershipChangeRequest\",\n NewKennelRequest = \"NewKennelRequest\",\n KennelOwnershipChangeRequest = \"KennelOwnershipChangeRequest\",\n KennelImportRequest = \"KennelImportRequest\",\n DogTempOwnershipChangeRequest = \"DogTempOwnershipChangeRequest\",\n CompetitionRequest = \"CompetitionRequest\",\n PedigreeRequest = \"PedigreeRequest\",\n DysplasiaRequest = \"DysplasiaRequest\",\n PedigreeDuplicataRequest = \"PedigreeDuplicataRequest\",\n ImportRequest = \"ImportRequest\",\n BroodRequest = \"BroodRequest\",\n HealthTestRequest = \"HealthTestRequest\",\n TitleRequest = \"TitleRequest\",\n ProgenusCombiPatent = \"ProgenusCombiPatent\",\n AdministrativeFee = \"AdministrativeFee\",\n KennelExportRequest = \"KennelExportRequest\",\n KennelNameChangeRequest = \"KennelNameChangeRequest\",\n MembershipRequest = \"MembershipRequest\",\n PuppyTest = \"PuppyTest\",\n Fine = \"Fine\",\n LateBirthDeclaration = \"LateBirthDeclaration\",\n MaleDogTooYoung = \"MaleDogTooYoung\",\n FemaleDogTooYoung = \"FemaleDogTooYoung\",\n TooManyFathers = \"TooManyFathers\",\n WrongFather = \"WrongFather\",\n MembershipEffective = \"MembershipEffective\",\n MembershipProtected = \"MembershipProtected\",\n MembershipAcceded = \"MembershipAcceded\",\n WorkbookBlueWithPedigree = \"WorkbookBlueWithPedigree\",\n WorkbookGreenWithPedigree = \"WorkbookGreenWithPedigree\",\n WorkbookLightBlueWithPedigree = \"WorkbookLightBlueWithPedigree\",\n WorkbookOrangeWithPedigree = \"WorkbookOrangeWithPedigree\",\n WorkbookPurpleWithPedigree = \"WorkbookPurpleWithPedigree\",\n WorkbookRedWithPedigree = \"WorkbookRedWithPedigree\",\n WorkbookWhiteWithPedigree = \"WorkbookWhiteWithPedigree\",\n WorkbookBlueWithoutPedigree = \"WorkbookBlueWithoutPedigree\",\n WorkbookGreenWithoutPedigree = \"WorkbookGreenWithoutPedigree\",\n WorkbookLightBlueWithoutPedigree = \"WorkbookLightBlueWithoutPedigree\",\n WorkbookOrangeWithoutPedigree = \"WorkbookOrangeWithoutPedigree\",\n WorkbookPurpleWithoutPedigree = \"WorkbookPurpleWithoutPedigree\",\n WorkbookRedWithoutPedigree = \"WorkbookRedWithoutPedigree\",\n AppealDysplasiaRequest = \"AppealDysplasiaRequest\",\n EdDysplasia = \"EdDysplasia\",\n HdDysplasia = \"HdDysplasia\",\n SdDysplasia = \"SdDysplasia\",\n EdSdDysplasia = \"EdSdDysplasia\",\n HdEdDysplasia = \"HdEdDysplasia\",\n HdSdDysplasia = \"HdSdDysplasia\",\n HdEdSdDysplasia = \"HdEdSdDysplasia\",\n MembershipChangeTypeRequest = \"MembershipChangeTypeRequest\",\n BroodRequestPremium = \"BroodRequestPremium\",\n BroodRequestPremiumDnaAnalysis = \"BroodRequestPremiumDnaAnalysis\",\n BroodRequestDnaAnalysis = \"BroodRequestDnaAnalysis\",\n TitleBeCoursing = \"TitleBeCoursing\",\n TitleBeExpo = \"TitleBeExpo\",\n TitleBeBeautyNoWork = \"TitleBeBeautyNoWork\",\n TitleBeBeautyWork = \"TitleBeBeautyWork\",\n TitleBeFull = \"TitleBeFull\",\n TitleBeRacing = \"TitleBeRacing\",\n TitleBeWork = \"TitleBeWork\",\n TitleBeYoung = \"TitleBeYoung\",\n TitleBeOld = \"TitleBeOld\",\n ProgenusQuickDelivery = \"ProgenusQuickDelivery\",\n RegisteredLetter = \"RegisteredLetter\",\n LAB = \"LAB\",\n LAB1002 = \"LAB1002\",\n LAB1003 = \"LAB1003\",\n LAB1004 = \"LAB1004\",\n LAB1005 = \"LAB1005\",\n LAB1006 = \"LAB1006\",\n LAB1007 = \"LAB1007\",\n LAB1008 = \"LAB1008\",\n LAB1009 = \"LAB1009\",\n LAB1010 = \"LAB1010\",\n LAB1011 = \"LAB1011\",\n LAB1012 = \"LAB1012\",\n LAB1013 = \"LAB1013\",\n LAB1014 = \"LAB1014\",\n LAB1015 = \"LAB1015\",\n LAB1016 = \"LAB1016\",\n LAB1017 = \"LAB1017\",\n LAB1018 = \"LAB1018\",\n LAB1019 = \"LAB1019\",\n LAB1020 = \"LAB1020\",\n LAB1021 = \"LAB1021\",\n LAB1022 = \"LAB1022\",\n LAB1023 = \"LAB1023\",\n LAB1024 = \"LAB1024\",\n LAB1025 = \"LAB1025\",\n LAB1026 = \"LAB1026\",\n LAB1027 = \"LAB1027\",\n LAB1028 = \"LAB1028\",\n LAB1029 = \"LAB1029\",\n LAB1030 = \"LAB1030\",\n LAB1031 = \"LAB1031\",\n LAB1032 = \"LAB1032\",\n LAB1033 = \"LAB1033\",\n LAB1034 = \"LAB1034\",\n LAB1035 = \"LAB1035\",\n LAB1036 = \"LAB1036\",\n LAB1037 = \"LAB1037\",\n LAB1038 = \"LAB1038\",\n LAB1039 = \"LAB1039\",\n LAB1040 = \"LAB1040\",\n LAB1041 = \"LAB1041\",\n LAB1042 = \"LAB1042\",\n LAB1043 = \"LAB1043\",\n LAB1044 = \"LAB1044\",\n LAB1045 = \"LAB1045\",\n LAB1046 = \"LAB1046\",\n LAB1047 = \"LAB1047\",\n LAB1048 = \"LAB1048\",\n LAB1049 = \"LAB1049\",\n LAB1050 = \"LAB1050\",\n LAB1051 = \"LAB1051\",\n LAB1052 = \"LAB1052\",\n LAB1053 = \"LAB1053\",\n LAB1054 = \"LAB1054\",\n LAB1055 = \"LAB1055\",\n LAB1056 = \"LAB1056\",\n LAB1057 = \"LAB1057\",\n LAB1058 = \"LAB1058\",\n LAB1059 = \"LAB1059\",\n LAB1060 = \"LAB1060\",\n LAB1061 = \"LAB1061\",\n LAB1062 = \"LAB1062\",\n LAB1063 = \"LAB1063\",\n LAB1064 = \"LAB1064\",\n LAB1065 = \"LAB1065\",\n LAB1066 = \"LAB1066\",\n LAB1067 = \"LAB1067\",\n LAB1068 = \"LAB1068\",\n LAB1069 = \"LAB1069\",\n LAB1070 = \"LAB1070\",\n LAB1071 = \"LAB1071\",\n LAB1072 = \"LAB1072\",\n LAB1073 = \"LAB1073\",\n LAB1074 = \"LAB1074\",\n LAB1075 = \"LAB1075\",\n LAB1076 = \"LAB1076\",\n LAB1077 = \"LAB1077\",\n LAB1078 = \"LAB1078\",\n LAB1079 = \"LAB1079\",\n LAB1080 = \"LAB1080\",\n LAB1081 = \"LAB1081\",\n LAB1082 = \"LAB1082\",\n LAB1083 = \"LAB1083\",\n LAB1084 = \"LAB1084\",\n LAB1085 = \"LAB1085\",\n LAB1086 = \"LAB1086\",\n LAB1087 = \"LAB1087\",\n LAB1088 = \"LAB1088\",\n LAB1089 = \"LAB1089\",\n LAB1090 = \"LAB1090\",\n LAB1091 = \"LAB1091\",\n LAB1092 = \"LAB1092\",\n LAB1093 = \"LAB1093\",\n LAB1094 = \"LAB1094\",\n LAB1095 = \"LAB1095\",\n LAB1096 = \"LAB1096\",\n LAB1097 = \"LAB1097\",\n LAB1098 = \"LAB1098\",\n LAB1099 = \"LAB1099\",\n LAB1100 = \"LAB1100\",\n LAB1101 = \"LAB1101\",\n LAB1102 = \"LAB1102\",\n LAB1103 = \"LAB1103\",\n LAB1104 = \"LAB1104\",\n LAB1105 = \"LAB1105\",\n LAB1106 = \"LAB1106\",\n LAB1107 = \"LAB1107\",\n LAB1108 = \"LAB1108\",\n LAB1109 = \"LAB1109\",\n LAB1110 = \"LAB1110\",\n LAB1111 = \"LAB1111\",\n LAB1112 = \"LAB1112\",\n LAB1113 = \"LAB1113\",\n LAB1114 = \"LAB1114\",\n LAB1115 = \"LAB1115\",\n LAB1116 = \"LAB1116\",\n LAB1117 = \"LAB1117\",\n LAB1118 = \"LAB1118\",\n LAB1119 = \"LAB1119\",\n LAB1120 = \"LAB1120\",\n LAB1121 = \"LAB1121\",\n LAB1122 = \"LAB1122\",\n LAB1123 = \"LAB1123\",\n LAB1124 = \"LAB1124\",\n LAB1125 = \"LAB1125\",\n LAB1126 = \"LAB1126\",\n LAB1127 = \"LAB1127\",\n LAB1128 = \"LAB1128\",\n LAB1129 = \"LAB1129\",\n LAB1130 = \"LAB1130\",\n LAB1131 = \"LAB1131\",\n LAB1132 = \"LAB1132\",\n LAB1133 = \"LAB1133\",\n LAB1134 = \"LAB1134\",\n LAB1135 = \"LAB1135\",\n LAB1136 = \"LAB1136\",\n LAB1137 = \"LAB1137\",\n LAB1138 = \"LAB1138\",\n LAB1139 = \"LAB1139\",\n LAB1140 = \"LAB1140\",\n LAB1141 = \"LAB1141\",\n LAB1142 = \"LAB1142\",\n LAB1143 = \"LAB1143\",\n LAB1144 = \"LAB1144\",\n LAB1145 = \"LAB1145\",\n LAB1146 = \"LAB1146\",\n LAB1147 = \"LAB1147\",\n LAB1148 = \"LAB1148\",\n LAB1149 = \"LAB1149\",\n LAB1150 = \"LAB1150\",\n LAB1151 = \"LAB1151\",\n LAB1152 = \"LAB1152\",\n LAB1153 = \"LAB1153\",\n LAB1154 = \"LAB1154\",\n LAB1155 = \"LAB1155\",\n LAB1156 = \"LAB1156\",\n LAB1157 = \"LAB1157\",\n LAB1158 = \"LAB1158\",\n LAB1159 = \"LAB1159\",\n LAB1160 = \"LAB1160\",\n LAB1161 = \"LAB1161\",\n LAB1162 = \"LAB1162\",\n LAB1163 = \"LAB1163\",\n LAB1164 = \"LAB1164\",\n LAB1165 = \"LAB1165\",\n LAB1166 = \"LAB1166\",\n LAB1167 = \"LAB1167\",\n LAB1168 = \"LAB1168\",\n LAB1169 = \"LAB1169\",\n LAB1170 = \"LAB1170\",\n LAB1171 = \"LAB1171\",\n LAB1172 = \"LAB1172\",\n LAB1173 = \"LAB1173\",\n LAB1174 = \"LAB1174\",\n LAB1175 = \"LAB1175\",\n LAB1176 = \"LAB1176\",\n LAB1177 = \"LAB1177\",\n LAB1178 = \"LAB1178\",\n LAB1179 = \"LAB1179\",\n LAB1180 = \"LAB1180\",\n LAB1181 = \"LAB1181\",\n LAB1182 = \"LAB1182\",\n LAB1183 = \"LAB1183\",\n LAB1184 = \"LAB1184\",\n LAB1185 = \"LAB1185\",\n LAB1186 = \"LAB1186\",\n LAB1187 = \"LAB1187\",\n LAB1188 = \"LAB1188\",\n LAB1189 = \"LAB1189\",\n LAB1190 = \"LAB1190\",\n LAB1191 = \"LAB1191\",\n LAB1192 = \"LAB1192\",\n LAB1193 = \"LAB1193\",\n LAB1194 = \"LAB1194\",\n LAB1195 = \"LAB1195\",\n LAB1196 = \"LAB1196\",\n LAB1197 = \"LAB1197\",\n LAB1198 = \"LAB1198\",\n LAB1199 = \"LAB1199\",\n LAB1200 = \"LAB1200\",\n LAB1201 = \"LAB1201\",\n LAB1202 = \"LAB1202\",\n LAB1203 = \"LAB1203\",\n LAB1204 = \"LAB1204\",\n LAB1205 = \"LAB1205\",\n LAB1206 = \"LAB1206\",\n LAB1207 = \"LAB1207\",\n LAB1208 = \"LAB1208\",\n LAB1209 = \"LAB1209\",\n LAB1210 = \"LAB1210\",\n LAB1211 = \"LAB1211\",\n LAB1212 = \"LAB1212\",\n LAB1213 = \"LAB1213\",\n LAB1214 = \"LAB1214\",\n LAB1215 = \"LAB1215\",\n LAB1216 = \"LAB1216\",\n LAB1217 = \"LAB1217\",\n LAB1218 = \"LAB1218\",\n LAB1219 = \"LAB1219\",\n LAB1220 = \"LAB1220\",\n LAB1221 = \"LAB1221\",\n LAB1222 = \"LAB1222\",\n LAB1223 = \"LAB1223\",\n LAB1224 = \"LAB1224\",\n LAB1225 = \"LAB1225\",\n LAB1226 = \"LAB1226\",\n LAB1227 = \"LAB1227\",\n LAB1228 = \"LAB1228\",\n LAB1229 = \"LAB1229\",\n LAB1230 = \"LAB1230\",\n LAB1231 = \"LAB1231\",\n LAB1232 = \"LAB1232\",\n LAB1233 = \"LAB1233\",\n LAB1234 = \"LAB1234\",\n LAB1235 = \"LAB1235\",\n LAB1236 = \"LAB1236\",\n LAB1237 = \"LAB1237\",\n LAB1238 = \"LAB1238\",\n LAB1239 = \"LAB1239\",\n LAB1240 = \"LAB1240\",\n LAB1241 = \"LAB1241\",\n LAB1242 = \"LAB1242\",\n LAB1243 = \"LAB1243\",\n LAB1244 = \"LAB1244\",\n LAB1245 = \"LAB1245\",\n LAB1246 = \"LAB1246\",\n LAB1247 = \"LAB1247\",\n LAB1248 = \"LAB1248\",\n LAB1249 = \"LAB1249\",\n LAB1250 = \"LAB1250\",\n LAB1251 = \"LAB1251\",\n LAB1252 = \"LAB1252\",\n LAB1253 = \"LAB1253\",\n LAB1254 = \"LAB1254\",\n LAB1255 = \"LAB1255\",\n LAB1256 = \"LAB1256\",\n LAB1257 = \"LAB1257\",\n LAB1258 = \"LAB1258\",\n LAB1259 = \"LAB1259\",\n LAB1260 = \"LAB1260\",\n LAB1261 = \"LAB1261\",\n LAB1262 = \"LAB1262\",\n LAB1263 = \"LAB1263\",\n LAB1264 = \"LAB1264\",\n LAB1265 = \"LAB1265\",\n LAB1266 = \"LAB1266\",\n LAB1267 = \"LAB1267\",\n LAB1268 = \"LAB1268\",\n LAB1269 = \"LAB1269\",\n LAB1270 = \"LAB1270\",\n LAB1271 = \"LAB1271\",\n LAB1272 = \"LAB1272\",\n LAB1273 = \"LAB1273\",\n LAB1274 = \"LAB1274\",\n LAB1275 = \"LAB1275\",\n LAB1276 = \"LAB1276\",\n LAB1277 = \"LAB1277\",\n LAB1278 = \"LAB1278\",\n LAB1279 = \"LAB1279\",\n LAB1280 = \"LAB1280\",\n LAB1281 = \"LAB1281\",\n LAB1282 = \"LAB1282\",\n LAB1283 = \"LAB1283\",\n LAB1284 = \"LAB1284\",\n LAB1285 = \"LAB1285\",\n LAB1286 = \"LAB1286\",\n LAB1287 = \"LAB1287\",\n LAB1288 = \"LAB1288\",\n LAB1289 = \"LAB1289\",\n LAB1290 = \"LAB1290\",\n LAB1291 = \"LAB1291\",\n LAB1292 = \"LAB1292\",\n LAB1293 = \"LAB1293\",\n LAB1294 = \"LAB1294\",\n LAB1295 = \"LAB1295\",\n LAB1296 = \"LAB1296\",\n LAB1297 = \"LAB1297\",\n LAB1298 = \"LAB1298\",\n LAB1299 = \"LAB1299\",\n LAB1300 = \"LAB1300\",\n LAB1301 = \"LAB1301\",\n LAB1302 = \"LAB1302\",\n LAB1303 = \"LAB1303\",\n LAB1304 = \"LAB1304\",\n LAB1305 = \"LAB1305\",\n LAB1306 = \"LAB1306\",\n LAB1307 = \"LAB1307\",\n LAB1308 = \"LAB1308\",\n LAB1309 = \"LAB1309\",\n LAB1310 = \"LAB1310\",\n LAB1311 = \"LAB1311\",\n LAB1312 = \"LAB1312\",\n LAB1313 = \"LAB1313\",\n LAB1314 = \"LAB1314\",\n LAB1315 = \"LAB1315\",\n LAB1316 = \"LAB1316\",\n LAB1317 = \"LAB1317\",\n LAB1318 = \"LAB1318\",\n LAB1319 = \"LAB1319\",\n LAB1320 = \"LAB1320\",\n LAB1321 = \"LAB1321\",\n LAB1322 = \"LAB1322\",\n LAB1323 = \"LAB1323\",\n LAB1324 = \"LAB1324\",\n LAB1325 = \"LAB1325\",\n LAB1326 = \"LAB1326\",\n LAB1327 = \"LAB1327\",\n LAB1328 = \"LAB1328\",\n LAB1329 = \"LAB1329\",\n LAB1330 = \"LAB1330\",\n LAB1331 = \"LAB1331\",\n LAB1332 = \"LAB1332\",\n LAB1333 = \"LAB1333\",\n LAB1334 = \"LAB1334\",\n LAB1335 = \"LAB1335\",\n LAB1336 = \"LAB1336\",\n LAB1337 = \"LAB1337\",\n LAB1338 = \"LAB1338\",\n LAB1339 = \"LAB1339\",\n LAB1340 = \"LAB1340\",\n LAB1341 = \"LAB1341\",\n LAB1342 = \"LAB1342\",\n LAB1343 = \"LAB1343\",\n LAB1344 = \"LAB1344\",\n LAB1345 = \"LAB1345\",\n LABAnalyse = \"LABAnalyse\",\n DOG_ACMHB = \"DOG_ACMHB\",\n DOG_ACMHL = \"DOG_ACMHL\",\n DOG_AMSTAFF = \"DOG_AMSTAFF\",\n DOG_AMPN = \"DOG_AMPN\",\n DOG_ARCI = \"DOG_ARCI\",\n DOG_ARHN = \"DOG_ARHN\",\n DOG_BERGER = \"DOG_BERGER\",\n DOG_BFJE = \"DOG_BFJE\",\n DOG_BGAUST = \"DOG_BGAUST\",\n DOG_BGAUST_E = \"DOG_BGAUST_E\",\n DOG_BGBLCH = \"DOG_BGBLCH\",\n DOG_BGDEBRIE = \"DOG_BGDEBRIE\",\n DOG_BNAT = \"DOG_BNAT\",\n DOG_BOUVIER = \"DOG_BOUVIER\",\n DOG_BRQALLD = \"DOG_BRQALLD\",\n DOG_BULLFR_E = \"DOG_BULLFR_E\",\n DOG_CA = \"DOG_CA\",\n DOG_CEA_CH = \"DOG_CEA_CH\",\n DOG_CHI = \"DOG_CHI\",\n DOG_CHI_E = \"DOG_CHI_E\",\n DOG_CKCSID = \"DOG_CKCSID\",\n DOG_CLAD1 = \"DOG_CLAD1\",\n DOG_CLAD3 = \"DOG_CLAD3\",\n DOG_CMR1 = \"DOG_CMR1\",\n DOG_CMR2 = \"DOG_CMR2\",\n DOG_CMS = \"DOG_CMS\",\n DOG_CN = \"DOG_CN\",\n DOG_CNM = \"DOG_CNM\",\n DOG_COLLIE = \"DOG_COLLIE\",\n DOG_COLLIE_E = \"DOG_COLLIE_E\",\n DOG_CRD_SWHD = \"DOG_CRD_SWHD\",\n DOG_CSNB = \"DOG_CSNB\",\n DOG_CSS = \"DOG_CSS\",\n DOG_CT = \"DOG_CT\",\n DOG_CTULEAR = \"DOG_CTULEAR\",\n DOG_CUR = \"DOG_CUR\",\n DOG_CYST1A1 = \"DOG_CYST1A1\",\n DOG_CYST1A2 = \"DOG_CYST1A2\",\n DOG_CYST2A = \"DOG_CYST2A\",\n DOG_CYST2B = \"DOG_CYST2B\",\n DOG_DEB = \"DOG_DEB\",\n DOG_DM1 = \"DOG_DM1\",\n DOG_DM2 = \"DOG_DM2\",\n DOG_DOBER_E = \"DOG_DOBER_E\",\n DOG_EAUPORT = \"DOG_EAUPORT\",\n DOG_EAUPORT_E = \"DOG_EAUPORT_E\",\n DOG_EFS = \"DOG_EFS\",\n DOG_EIC = \"DOG_EIC\",\n DOG_EIMM = \"DOG_EIMM\",\n DOG_EPI = \"DOG_EPI\",\n DOG_F7 = \"DOG_F7\",\n DOG_FIL = \"DOG_FIL\",\n DOG_FUCA = \"DOG_FUCA\",\n DOG_FUR = \"DOG_FUR\",\n DOG_GLDS = \"DOG_GLDS\",\n DOG_GLDT = \"DOG_GLDT\",\n DOG_GM1H = \"DOG_GM1H\",\n DOG_GM1P = \"DOG_GM1P\",\n DOG_GM1S = \"DOG_GM1S\",\n DOG_GRMD = \"DOG_GRMD\",\n DOG_HEB = \"DOG_HEB\",\n DOG_HNPK = \"DOG_HNPK\",\n DOG_HSF4_T = \"DOG_HSF4_T\",\n DOG_HSF4_BA = \"DOG_HSF4_BA\",\n DOG_HUU = \"DOG_HUU\",\n DOG_HYM = \"DOG_HYM\",\n DOG_ICH = \"DOG_ICH\",\n DOG_ICHGR = \"DOG_ICHGR\",\n DOG_IGSB = \"DOG_IGSB\",\n DOG_IPD = \"DOG_IPD\",\n DOG_IVDD = \"DOG_IVDD\",\n DOG_JAGDT = \"DOG_JAGDT\",\n DOG_JEB = \"DOG_JEB\",\n DOG_JLPP = \"DOG_JLPP\",\n DOG_JLPPTNR = \"DOG_JLPPTNR\",\n DOG_L_2_HGA = \"DOG_L_2_HGA\",\n DOG_LAD = \"DOG_LAD\",\n DOG_LEMP = \"DOG_LEMP\",\n DOG_LEON = \"DOG_LEON\",\n DOG_LH = \"DOG_LH\",\n DOG_LHA = \"DOG_LHA\",\n DOG_LNP1 = \"DOG_LNP1\",\n DOG_LNP2 = \"DOG_LNP2\",\n DOG_LOCUS_A = \"DOG_LOCUS_A\",\n DOG_LOCUS_B = \"DOG_LOCUS_B\",\n DOG_LOCUS_D = \"DOG_LOCUS_D\",\n DOG_LOCUS_E = \"DOG_LOCUS_E\",\n DOG_LOCUS_Em = \"DOG_LOCUS_Em\",\n DOG_LOCUS_K = \"DOG_LOCUS_K\",\n DOG_LOCUS_M = \"DOG_LOCUS_M\",\n DOG_MC = \"DOG_MC\",\n DOG_MDR1 = \"DOG_MDR1\",\n DOG_MDU = \"DOG_MDU\",\n DOG_MH = \"DOG_MH\",\n DOG_MPSVII = \"DOG_MPSVII\",\n DOG_MTM1 = \"DOG_MTM1\",\n DOG_NAN = \"DOG_NAN\",\n DOG_NARC1 = \"DOG_NARC1\",\n DOG_NARC2 = \"DOG_NARC2\",\n DOG_NARC3 = \"DOG_NARC3\",\n DOG_NCL10 = \"DOG_NCL10\",\n DOG_NCL5 = \"DOG_NCL5\",\n DOG_NCL5GR = \"DOG_NCL5GR\",\n DOG_NCL6 = \"DOG_NCL6\",\n DOG_NCL7 = \"DOG_NCL7\",\n DOG_NCLA = \"DOG_NCLA\",\n DOG_NEWS = \"DOG_NEWS\",\n DOG_OSD1 = \"DOG_OSD1\",\n DOG_OSTEO = \"DOG_OSTEO\",\n DOG_PAP_PRA = \"DOG_PAP_PRA\",\n DOG_PDHD = \"DOG_PDHD\",\n DOG_PFKM = \"DOG_PFKM\",\n DOG_PKDEFC = \"DOG_PKDEFC\",\n DOG_PKDEFL = \"DOG_PKDEFL\",\n DOG_PLL = \"DOG_PLL\",\n DOG_PRA1_GR = \"DOG_PRA1_GR\",\n DOG_PRA_CNGA1 = \"DOG_PRA_CNGA1\",\n DOG_PRA_CRD1 = \"DOG_PRA_CRD1\",\n DOG_PRA_CRD4 = \"DOG_PRA_CRD4\",\n DOG_PRA_PRCD = \"DOG_PRA_PRCD\",\n DOG_PRA_RCD1 = \"DOG_PRA_RCD1\",\n DOG_QU = \"DOG_QU\",\n DOG_RAINE = \"DOG_RAINE\",\n DOG_RCND = \"DOG_RCND\",\n DOG_RETRIEVER = \"DOG_RETRIEVER\",\n DOG_RETRIEVER_E = \"DOG_RETRIEVER_E\",\n DOG_ROTT_E = \"DOG_ROTT_E\",\n DOG_SCA = \"DOG_SCA\",\n DOG_SD = \"DOG_SD\",\n DOG_SD2 = \"DOG_SD2\",\n DOG_SDCA1 = \"DOG_SDCA1\",\n DOG_SHP = \"DOG_SHP\",\n DOG_SPAID = \"DOG_SPAID\",\n DOG_STAFF = \"DOG_STAFF\",\n DOG_TNS = \"DOG_TNS\",\n DOG_VWD1 = \"DOG_VWD1\",\n DOG_VWD2 = \"DOG_VWD2\",\n DOG_XHED = \"DOG_XHED\",\n DOG_CRD4 = \"DOG_CRD4\",\n DOG_D_Q = \"DOG_D_Q\",\n DOG_DET = \"DOG_DET\",\n DOG_ESS = \"DOG_ESS\",\n DOG_HSF4 = \"DOG_HSF4\",\n DOG_ID22 = \"DOG_ID22\",\n DOG_IGSBA = \"DOG_IGSBA\",\n DOG_NCL1 = \"DOG_NCL1\",\n DOG_NCL2 = \"DOG_NCL2\",\n DOG_PAP_PRA1 = \"DOG_PAP_PRA1\",\n DOG_PN = \"DOG_PN\",\n DOG_PRA3 = \"DOG_PRA3\",\n DOG_PRA_CRD2 = \"DOG_PRA_CRD2\",\n DOG_PRA_CRD3 = \"DOG_PRA_CRD3\",\n DOG_PRA_RCD2 = \"DOG_PRA_RCD2\",\n DOG_PRA_RCD4 = \"DOG_PRA_RCD4\",\n DOG_PRCD_PRA = \"DOG_PRCD_PRA\",\n DOG_RAIN = \"DOG_RAIN\",\n DOG_RCD1 = \"DOG_RCD1\",\n DOG_RCD4 = \"DOG_RCD4\",\n DOG_AMS = \"DOG_AMS\",\n PedigreeDuplicataRenewalRequest = \"PedigreeDuplicataRenewalRequest\",\n BillReminderFee = \"BillReminderFee\",\n BroodRequestBillReminderFee = \"BroodRequestBillReminderFee\",\n}\n\nexport enum EVat {\n S0 = \"S0\",\n S1 = \"S1\",\n S3 = \"S3\",\n}\n\nexport class ArticleTranslationDto implements IArticleTranslationDto {\n articleId?: number;\n languageId?: number;\n bcLanguageCode?: string | undefined;\n text?: string | undefined;\n articleTranslationId?: number;\n\n constructor(data?: IArticleTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.articleId = _data[\"articleId\"];\n this.languageId = _data[\"languageId\"];\n this.bcLanguageCode = _data[\"bcLanguageCode\"];\n this.text = _data[\"text\"];\n this.articleTranslationId = _data[\"articleTranslationId\"];\n }\n }\n\n static fromJS(data: any): ArticleTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new ArticleTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"articleId\"] = this.articleId;\n data[\"languageId\"] = this.languageId;\n data[\"bcLanguageCode\"] = this.bcLanguageCode;\n data[\"text\"] = this.text;\n data[\"articleTranslationId\"] = this.articleTranslationId;\n return data;\n }\n}\n\nexport interface IArticleTranslationDto {\n articleId?: number;\n languageId?: number;\n bcLanguageCode?: string | undefined;\n text?: string | undefined;\n articleTranslationId?: number;\n}\n\nexport class ClubJudgeSearch extends PaginatedSearch implements IClubJudgeSearch {\n clubId?: number;\n languageId?: number;\n\n constructor(data?: IClubJudgeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.clubId = _data[\"clubId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): ClubJudgeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClubJudgeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubId\"] = this.clubId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClubJudgeSearch extends IPaginatedSearch {\n clubId?: number;\n languageId?: number;\n}\n\nexport class PaginatedResultsOfBreedGridDto implements IPaginatedResultsOfBreedGridDto {\n totalCount?: number;\n results?: BreedGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreedGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreedGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreedGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreedGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreedGridDto {\n totalCount?: number;\n results?: BreedGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreedGridDto implements IBreedGridDto {\n breedId?: number;\n code?: string | undefined;\n name?: string | undefined;\n breedGroupId?: number;\n breedGroupLabel?: string | undefined;\n breedGroupNumber?: number;\n breedFciNumber?: number;\n country?: string | undefined;\n breedGroupFullName?: string | undefined;\n breedComputedLabel?: string | undefined;\n\n constructor(data?: IBreedGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n this.code = _data[\"code\"];\n this.name = _data[\"name\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.breedGroupLabel = _data[\"breedGroupLabel\"];\n this.breedGroupNumber = _data[\"breedGroupNumber\"];\n this.breedFciNumber = _data[\"breedFciNumber\"];\n this.country = _data[\"country\"];\n this.breedGroupFullName = _data[\"breedGroupFullName\"];\n this.breedComputedLabel = _data[\"breedComputedLabel\"];\n }\n }\n\n static fromJS(data: any): BreedGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n data[\"code\"] = this.code;\n data[\"name\"] = this.name;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"breedGroupLabel\"] = this.breedGroupLabel;\n data[\"breedGroupNumber\"] = this.breedGroupNumber;\n data[\"breedFciNumber\"] = this.breedFciNumber;\n data[\"country\"] = this.country;\n data[\"breedGroupFullName\"] = this.breedGroupFullName;\n data[\"breedComputedLabel\"] = this.breedComputedLabel;\n return data;\n }\n}\n\nexport interface IBreedGridDto {\n breedId?: number;\n code?: string | undefined;\n name?: string | undefined;\n breedGroupId?: number;\n breedGroupLabel?: string | undefined;\n breedGroupNumber?: number;\n breedFciNumber?: number;\n country?: string | undefined;\n breedGroupFullName?: string | undefined;\n breedComputedLabel?: string | undefined;\n}\n\nexport class BreedSearch extends PaginatedSearch implements IBreedSearch {\n name?: TextSearch | undefined;\n breedGroupLabel?: TextSearch | undefined;\n country?: TextSearch | undefined;\n languageId?: number;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: IBreedSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.breedGroupLabel = _data[\"breedGroupLabel\"] ? TextSearch.fromJS(_data[\"breedGroupLabel\"]) : undefined;\n this.country = _data[\"country\"] ? TextSearch.fromJS(_data[\"country\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): BreedSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"breedGroupLabel\"] = this.breedGroupLabel ? this.breedGroupLabel.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedSearch extends IPaginatedSearch {\n name?: TextSearch | undefined;\n breedGroupLabel?: TextSearch | undefined;\n country?: TextSearch | undefined;\n languageId?: number;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class BreedDto implements IBreedDto {\n code?: string | undefined;\n knownBreed?: boolean;\n knownAt?: Date | undefined;\n subjectToWork?: boolean;\n remark?: string | undefined;\n fciNumber?: number | undefined;\n agility?: EDifficulty;\n grooming?: EDifficulty;\n standardConfirmation?: boolean;\n shortenedTail?: boolean;\n merleColorAuthorized?: boolean;\n number?: number;\n sizeMin?: number | undefined;\n sizeMax?: number | undefined;\n weightMin?: number | undefined;\n weightMax?: number | undefined;\n varietyNumber?: number | undefined;\n userId?: number | undefined;\n healthPackIds?: number[] | undefined;\n minDysplasiaAgeInMonths?: number;\n breeding?: boolean;\n breedId?: number;\n breedGroupId?: number;\n countryId?: number;\n breedNumber?: number;\n internship?: boolean;\n internshipDate?: Date | undefined;\n officialName?: string | undefined;\n sharepointUri?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n breedTranslations?: BreedTranslationDto[] | undefined;\n\n constructor(data?: IBreedDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.knownBreed = _data[\"knownBreed\"];\n this.knownAt = _data[\"knownAt\"] ? new Date(_data[\"knownAt\"].toString()) : undefined;\n this.subjectToWork = _data[\"subjectToWork\"];\n this.remark = _data[\"remark\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.agility = _data[\"agility\"];\n this.grooming = _data[\"grooming\"];\n this.standardConfirmation = _data[\"standardConfirmation\"];\n this.shortenedTail = _data[\"shortenedTail\"];\n this.merleColorAuthorized = _data[\"merleColorAuthorized\"];\n this.number = _data[\"number\"];\n this.sizeMin = _data[\"sizeMin\"];\n this.sizeMax = _data[\"sizeMax\"];\n this.weightMin = _data[\"weightMin\"];\n this.weightMax = _data[\"weightMax\"];\n this.varietyNumber = _data[\"varietyNumber\"];\n this.userId = _data[\"userId\"];\n if (Array.isArray(_data[\"healthPackIds\"])) {\n this.healthPackIds = [] as any;\n for (let item of _data[\"healthPackIds\"])\n this.healthPackIds!.push(item);\n }\n this.minDysplasiaAgeInMonths = _data[\"minDysplasiaAgeInMonths\"];\n this.breeding = _data[\"breeding\"];\n this.breedId = _data[\"breedId\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.countryId = _data[\"countryId\"];\n this.breedNumber = _data[\"breedNumber\"];\n this.internship = _data[\"internship\"];\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.officialName = _data[\"officialName\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"breedTranslations\"])) {\n this.breedTranslations = [] as any;\n for (let item of _data[\"breedTranslations\"])\n this.breedTranslations!.push(BreedTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): BreedDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"knownBreed\"] = this.knownBreed;\n data[\"knownAt\"] = this.knownAt ? this.knownAt.toISOString() : undefined;\n data[\"subjectToWork\"] = this.subjectToWork;\n data[\"remark\"] = this.remark;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"agility\"] = this.agility;\n data[\"grooming\"] = this.grooming;\n data[\"standardConfirmation\"] = this.standardConfirmation;\n data[\"shortenedTail\"] = this.shortenedTail;\n data[\"merleColorAuthorized\"] = this.merleColorAuthorized;\n data[\"number\"] = this.number;\n data[\"sizeMin\"] = this.sizeMin;\n data[\"sizeMax\"] = this.sizeMax;\n data[\"weightMin\"] = this.weightMin;\n data[\"weightMax\"] = this.weightMax;\n data[\"varietyNumber\"] = this.varietyNumber;\n data[\"userId\"] = this.userId;\n if (Array.isArray(this.healthPackIds)) {\n data[\"healthPackIds\"] = [];\n for (let item of this.healthPackIds)\n data[\"healthPackIds\"].push(item);\n }\n data[\"minDysplasiaAgeInMonths\"] = this.minDysplasiaAgeInMonths;\n data[\"breeding\"] = this.breeding;\n data[\"breedId\"] = this.breedId;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"countryId\"] = this.countryId;\n data[\"breedNumber\"] = this.breedNumber;\n data[\"internship\"] = this.internship;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"officialName\"] = this.officialName;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.breedTranslations)) {\n data[\"breedTranslations\"] = [];\n for (let item of this.breedTranslations)\n data[\"breedTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IBreedDto {\n code?: string | undefined;\n knownBreed?: boolean;\n knownAt?: Date | undefined;\n subjectToWork?: boolean;\n remark?: string | undefined;\n fciNumber?: number | undefined;\n agility?: EDifficulty;\n grooming?: EDifficulty;\n standardConfirmation?: boolean;\n shortenedTail?: boolean;\n merleColorAuthorized?: boolean;\n number?: number;\n sizeMin?: number | undefined;\n sizeMax?: number | undefined;\n weightMin?: number | undefined;\n weightMax?: number | undefined;\n varietyNumber?: number | undefined;\n userId?: number | undefined;\n healthPackIds?: number[] | undefined;\n minDysplasiaAgeInMonths?: number;\n breeding?: boolean;\n breedId?: number;\n breedGroupId?: number;\n countryId?: number;\n breedNumber?: number;\n internship?: boolean;\n internshipDate?: Date | undefined;\n officialName?: string | undefined;\n sharepointUri?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n breedTranslations?: BreedTranslationDto[] | undefined;\n}\n\nexport enum EDifficulty {\n Easy = \"Easy\",\n Medium = \"Medium\",\n Hard = \"Hard\",\n}\n\nexport class BreedTranslationDto implements IBreedTranslationDto {\n breedTranslationId?: number;\n languageId?: number;\n breedId?: number;\n text?: string | undefined;\n code?: string | undefined;\n\n constructor(data?: IBreedTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedTranslationId = _data[\"breedTranslationId\"];\n this.languageId = _data[\"languageId\"];\n this.breedId = _data[\"breedId\"];\n this.text = _data[\"text\"];\n this.code = _data[\"code\"];\n }\n }\n\n static fromJS(data: any): BreedTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedTranslationId\"] = this.breedTranslationId;\n data[\"languageId\"] = this.languageId;\n data[\"breedId\"] = this.breedId;\n data[\"text\"] = this.text;\n data[\"code\"] = this.code;\n return data;\n }\n}\n\nexport interface IBreedTranslationDto {\n breedTranslationId?: number;\n languageId?: number;\n breedId?: number;\n text?: string | undefined;\n code?: string | undefined;\n}\n\nexport class BreedColorSaveDto implements IBreedColorSaveDto {\n breedId?: number;\n colorIds?: number[] | undefined;\n\n constructor(data?: IBreedColorSaveDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n if (Array.isArray(_data[\"colorIds\"])) {\n this.colorIds = [] as any;\n for (let item of _data[\"colorIds\"])\n this.colorIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): BreedColorSaveDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedColorSaveDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n if (Array.isArray(this.colorIds)) {\n data[\"colorIds\"] = [];\n for (let item of this.colorIds)\n data[\"colorIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IBreedColorSaveDto {\n breedId?: number;\n colorIds?: number[] | undefined;\n}\n\nexport class WorkbookTypeGridDto implements IWorkbookTypeGridDto {\n workbookTypeId?: number;\n workbookColor?: string | undefined;\n hasPedigree?: boolean;\n canGiveWorkCertificate?: boolean;\n description?: string | undefined;\n sociabilityTest?: boolean;\n\n constructor(data?: IWorkbookTypeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.workbookColor = _data[\"workbookColor\"];\n this.hasPedigree = _data[\"hasPedigree\"];\n this.canGiveWorkCertificate = _data[\"canGiveWorkCertificate\"];\n this.description = _data[\"description\"];\n this.sociabilityTest = _data[\"sociabilityTest\"];\n }\n }\n\n static fromJS(data: any): WorkbookTypeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookTypeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"workbookColor\"] = this.workbookColor;\n data[\"hasPedigree\"] = this.hasPedigree;\n data[\"canGiveWorkCertificate\"] = this.canGiveWorkCertificate;\n data[\"description\"] = this.description;\n data[\"sociabilityTest\"] = this.sociabilityTest;\n return data;\n }\n}\n\nexport interface IWorkbookTypeGridDto {\n workbookTypeId?: number;\n workbookColor?: string | undefined;\n hasPedigree?: boolean;\n canGiveWorkCertificate?: boolean;\n description?: string | undefined;\n sociabilityTest?: boolean;\n}\n\nexport class BreedWorkbookTypeSaveDto implements IBreedWorkbookTypeSaveDto {\n breedId?: number;\n workbookTypeIds?: number[] | undefined;\n\n constructor(data?: IBreedWorkbookTypeSaveDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n if (Array.isArray(_data[\"workbookTypeIds\"])) {\n this.workbookTypeIds = [] as any;\n for (let item of _data[\"workbookTypeIds\"])\n this.workbookTypeIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): BreedWorkbookTypeSaveDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedWorkbookTypeSaveDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n if (Array.isArray(this.workbookTypeIds)) {\n data[\"workbookTypeIds\"] = [];\n for (let item of this.workbookTypeIds)\n data[\"workbookTypeIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IBreedWorkbookTypeSaveDto {\n breedId?: number;\n workbookTypeIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfBreederGridDto implements IPaginatedResultsOfBreederGridDto {\n totalCount?: number;\n results?: BreederGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreederGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreederGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreederGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreederGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreederGridDto {\n totalCount?: number;\n results?: BreederGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreederGridDto implements IBreederGridDto {\n breederId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n\n constructor(data?: IBreederGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breederId = _data[\"breederId\"];\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.country = _data[\"country\"];\n }\n }\n\n static fromJS(data: any): BreederGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreederGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breederId\"] = this.breederId;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"country\"] = this.country;\n return data;\n }\n}\n\nexport interface IBreederGridDto {\n breederId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n}\n\nexport class BreederSearch extends PaginatedSearch implements IBreederSearch {\n languageId?: number;\n firstName?: TextSearch | undefined;\n lastName?: TextSearch | undefined;\n\n constructor(data?: IBreederSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.firstName = _data[\"firstName\"] ? TextSearch.fromJS(_data[\"firstName\"]) : undefined;\n this.lastName = _data[\"lastName\"] ? TextSearch.fromJS(_data[\"lastName\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BreederSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreederSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"firstName\"] = this.firstName ? this.firstName.toJSON() : undefined;\n data[\"lastName\"] = this.lastName ? this.lastName.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreederSearch extends IPaginatedSearch {\n languageId?: number;\n firstName?: TextSearch | undefined;\n lastName?: TextSearch | undefined;\n}\n\nexport class PaginatedResultsOfBreederDogsGridDto implements IPaginatedResultsOfBreederDogsGridDto {\n totalCount?: number;\n results?: BreederDogsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreederDogsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreederDogsGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreederDogsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreederDogsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreederDogsGridDto {\n totalCount?: number;\n results?: BreederDogsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreederDogsGridDto implements IBreederDogsGridDto {\n dogId?: number;\n firstName?: string | undefined;\n kennelName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date;\n breed?: string | undefined;\n breedId?: number;\n color?: string | undefined;\n colorId?: number;\n primaryIdentificationNumber?: string | undefined;\n pedigree?: string | undefined;\n\n constructor(data?: IBreederDogsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.firstName = _data[\"firstName\"];\n this.kennelName = _data[\"kennelName\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n this.breed = _data[\"breed\"];\n this.breedId = _data[\"breedId\"];\n this.color = _data[\"color\"];\n this.colorId = _data[\"colorId\"];\n this.primaryIdentificationNumber = _data[\"primaryIdentificationNumber\"];\n this.pedigree = _data[\"pedigree\"];\n }\n }\n\n static fromJS(data: any): BreederDogsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreederDogsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"firstName\"] = this.firstName;\n data[\"kennelName\"] = this.kennelName;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n data[\"breed\"] = this.breed;\n data[\"breedId\"] = this.breedId;\n data[\"color\"] = this.color;\n data[\"colorId\"] = this.colorId;\n data[\"primaryIdentificationNumber\"] = this.primaryIdentificationNumber;\n data[\"pedigree\"] = this.pedigree;\n return data;\n }\n}\n\nexport interface IBreederDogsGridDto {\n dogId?: number;\n firstName?: string | undefined;\n kennelName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date;\n breed?: string | undefined;\n breedId?: number;\n color?: string | undefined;\n colorId?: number;\n primaryIdentificationNumber?: string | undefined;\n pedigree?: string | undefined;\n}\n\nexport class BreederDogsSearch extends PaginatedSearch implements IBreederDogsSearch {\n languageId?: number;\n personId?: number;\n firstName?: TextSearch | undefined;\n ownerFrom?: DateSearch | undefined;\n ownerTo?: DateSearch | undefined;\n\n constructor(data?: IBreederDogsSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"] ? TextSearch.fromJS(_data[\"firstName\"]) : undefined;\n this.ownerFrom = _data[\"ownerFrom\"] ? DateSearch.fromJS(_data[\"ownerFrom\"]) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? DateSearch.fromJS(_data[\"ownerTo\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BreederDogsSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreederDogsSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName ? this.firstName.toJSON() : undefined;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toJSON() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreederDogsSearch extends IPaginatedSearch {\n languageId?: number;\n personId?: number;\n firstName?: TextSearch | undefined;\n ownerFrom?: DateSearch | undefined;\n ownerTo?: DateSearch | undefined;\n}\n\nexport class PaginatedResultsOfBreedVarietiesAndExceptionsGridDto implements IPaginatedResultsOfBreedVarietiesAndExceptionsGridDto {\n totalCount?: number;\n results?: BreedVarietiesAndExceptionsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreedVarietiesAndExceptionsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreedVarietiesAndExceptionsGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreedVarietiesAndExceptionsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreedVarietiesAndExceptionsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreedVarietiesAndExceptionsGridDto {\n totalCount?: number;\n results?: BreedVarietiesAndExceptionsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreedVarietiesAndExceptionsGridDto implements IBreedVarietiesAndExceptionsGridDto {\n breedId?: number;\n text?: string | undefined;\n breedNames?: VarietyBreedNameDto[] | undefined;\n breedGroupId?: number;\n breedGroupLabel?: string | undefined;\n\n constructor(data?: IBreedVarietiesAndExceptionsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n this.text = _data[\"text\"];\n if (Array.isArray(_data[\"breedNames\"])) {\n this.breedNames = [] as any;\n for (let item of _data[\"breedNames\"])\n this.breedNames!.push(VarietyBreedNameDto.fromJS(item));\n }\n this.breedGroupId = _data[\"breedGroupId\"];\n this.breedGroupLabel = _data[\"breedGroupLabel\"];\n }\n }\n\n static fromJS(data: any): BreedVarietiesAndExceptionsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedVarietiesAndExceptionsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n data[\"text\"] = this.text;\n if (Array.isArray(this.breedNames)) {\n data[\"breedNames\"] = [];\n for (let item of this.breedNames)\n data[\"breedNames\"].push(item.toJSON());\n }\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"breedGroupLabel\"] = this.breedGroupLabel;\n return data;\n }\n}\n\nexport interface IBreedVarietiesAndExceptionsGridDto {\n breedId?: number;\n text?: string | undefined;\n breedNames?: VarietyBreedNameDto[] | undefined;\n breedGroupId?: number;\n breedGroupLabel?: string | undefined;\n}\n\nexport class VarietyBreedNameDto implements IVarietyBreedNameDto {\n code?: string | undefined;\n text?: string | undefined;\n\n constructor(data?: IVarietyBreedNameDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.text = _data[\"text\"];\n }\n }\n\n static fromJS(data: any): VarietyBreedNameDto {\n data = typeof data === 'object' ? data : {};\n let result = new VarietyBreedNameDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"text\"] = this.text;\n return data;\n }\n}\n\nexport interface IVarietyBreedNameDto {\n code?: string | undefined;\n text?: string | undefined;\n}\n\nexport class BreedVarietyAndExceptionSearch extends PaginatedSearch implements IBreedVarietyAndExceptionSearch {\n currentBreedId?: number;\n languageId?: number;\n isVariety?: boolean;\n name?: TextSearch | undefined;\n breedGroup?: TextSearch | undefined;\n\n constructor(data?: IBreedVarietyAndExceptionSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.currentBreedId = _data[\"currentBreedId\"];\n this.languageId = _data[\"languageId\"];\n this.isVariety = _data[\"isVariety\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.breedGroup = _data[\"breedGroup\"] ? TextSearch.fromJS(_data[\"breedGroup\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BreedVarietyAndExceptionSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedVarietyAndExceptionSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentBreedId\"] = this.currentBreedId;\n data[\"languageId\"] = this.languageId;\n data[\"isVariety\"] = this.isVariety;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"breedGroup\"] = this.breedGroup ? this.breedGroup.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedVarietyAndExceptionSearch extends IPaginatedSearch {\n currentBreedId?: number;\n languageId?: number;\n isVariety?: boolean;\n name?: TextSearch | undefined;\n breedGroup?: TextSearch | undefined;\n}\n\nexport class SaveBreedVarietyAndExceptionDto implements ISaveBreedVarietyAndExceptionDto {\n sourceBreedId?: number;\n destinationBreedId?: number;\n\n constructor(data?: ISaveBreedVarietyAndExceptionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sourceBreedId = _data[\"sourceBreedId\"];\n this.destinationBreedId = _data[\"destinationBreedId\"];\n }\n }\n\n static fromJS(data: any): SaveBreedVarietyAndExceptionDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveBreedVarietyAndExceptionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sourceBreedId\"] = this.sourceBreedId;\n data[\"destinationBreedId\"] = this.destinationBreedId;\n return data;\n }\n}\n\nexport interface ISaveBreedVarietyAndExceptionDto {\n sourceBreedId?: number;\n destinationBreedId?: number;\n}\n\nexport class BreedForJudgeSearch extends PaginatedSearch implements IBreedForJudgeSearch {\n breedGroupLabel?: TextSearch | undefined;\n name?: TextSearch | undefined;\n personId?: number;\n languageId?: number;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: IBreedForJudgeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.breedGroupLabel = _data[\"breedGroupLabel\"] ? TextSearch.fromJS(_data[\"breedGroupLabel\"]) : undefined;\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.personId = _data[\"personId\"];\n this.languageId = _data[\"languageId\"];\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): BreedForJudgeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedForJudgeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupLabel\"] = this.breedGroupLabel ? this.breedGroupLabel.toJSON() : undefined;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"personId\"] = this.personId;\n data[\"languageId\"] = this.languageId;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedForJudgeSearch extends IPaginatedSearch {\n breedGroupLabel?: TextSearch | undefined;\n name?: TextSearch | undefined;\n personId?: number;\n languageId?: number;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class PaginatedResultsOfBreedGroupBreedDto implements IPaginatedResultsOfBreedGroupBreedDto {\n totalCount?: number;\n results?: BreedGroupBreedDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreedGroupBreedDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreedGroupBreedDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreedGroupBreedDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreedGroupBreedDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreedGroupBreedDto {\n totalCount?: number;\n results?: BreedGroupBreedDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreedGroupBreedDto implements IBreedGroupBreedDto {\n breedId?: number;\n name?: string | undefined;\n code?: string | undefined;\n breedGroupId?: number;\n countryId?: number;\n country?: string | undefined;\n\n constructor(data?: IBreedGroupBreedDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n this.name = _data[\"name\"];\n this.code = _data[\"code\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.countryId = _data[\"countryId\"];\n this.country = _data[\"country\"];\n }\n }\n\n static fromJS(data: any): BreedGroupBreedDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupBreedDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n data[\"name\"] = this.name;\n data[\"code\"] = this.code;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"countryId\"] = this.countryId;\n data[\"country\"] = this.country;\n return data;\n }\n}\n\nexport interface IBreedGroupBreedDto {\n breedId?: number;\n name?: string | undefined;\n code?: string | undefined;\n breedGroupId?: number;\n countryId?: number;\n country?: string | undefined;\n}\n\nexport class BreedGroupBreedSearch extends PaginatedSearch implements IBreedGroupBreedSearch {\n languageCode?: string | undefined;\n breedGroupId?: number;\n\n constructor(data?: IBreedGroupBreedSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageCode = _data[\"languageCode\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n }\n }\n\n static fromJS(data: any): BreedGroupBreedSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupBreedSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageCode\"] = this.languageCode;\n data[\"breedGroupId\"] = this.breedGroupId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedGroupBreedSearch extends IPaginatedSearch {\n languageCode?: string | undefined;\n breedGroupId?: number;\n}\n\nexport class BreedGroupBreedSaveDto implements IBreedGroupBreedSaveDto {\n breedGroupId?: number;\n breedIds?: number[] | undefined;\n\n constructor(data?: IBreedGroupBreedSaveDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupId = _data[\"breedGroupId\"];\n if (Array.isArray(_data[\"breedIds\"])) {\n this.breedIds = [] as any;\n for (let item of _data[\"breedIds\"])\n this.breedIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): BreedGroupBreedSaveDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupBreedSaveDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupId\"] = this.breedGroupId;\n if (Array.isArray(this.breedIds)) {\n data[\"breedIds\"] = [];\n for (let item of this.breedIds)\n data[\"breedIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IBreedGroupBreedSaveDto {\n breedGroupId?: number;\n breedIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfBreedGroupBreedHierarchyDto implements IPaginatedResultsOfBreedGroupBreedHierarchyDto {\n totalCount?: number;\n results?: BreedGroupBreedHierarchyDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreedGroupBreedHierarchyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreedGroupBreedHierarchyDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreedGroupBreedHierarchyDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreedGroupBreedHierarchyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreedGroupBreedHierarchyDto {\n totalCount?: number;\n results?: BreedGroupBreedHierarchyDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreedGroupBreedHierarchyDto implements IBreedGroupBreedHierarchyDto {\n breedGroupId?: number;\n breedGroupNumber?: number;\n remark?: string | undefined;\n breedGroupFullName?: string | undefined;\n breedGroupTranslations?: BreedGroupTranslationDto[] | undefined;\n breeds?: BreedHierarchyDto[] | undefined;\n breedGroupsJudges?: BreedGroupHierarchyJudgeDto[] | undefined;\n\n constructor(data?: IBreedGroupBreedHierarchyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupId = _data[\"breedGroupId\"];\n this.breedGroupNumber = _data[\"breedGroupNumber\"];\n this.remark = _data[\"remark\"];\n this.breedGroupFullName = _data[\"breedGroupFullName\"];\n if (Array.isArray(_data[\"breedGroupTranslations\"])) {\n this.breedGroupTranslations = [] as any;\n for (let item of _data[\"breedGroupTranslations\"])\n this.breedGroupTranslations!.push(BreedGroupTranslationDto.fromJS(item));\n }\n if (Array.isArray(_data[\"breeds\"])) {\n this.breeds = [] as any;\n for (let item of _data[\"breeds\"])\n this.breeds!.push(BreedHierarchyDto.fromJS(item));\n }\n if (Array.isArray(_data[\"breedGroupsJudges\"])) {\n this.breedGroupsJudges = [] as any;\n for (let item of _data[\"breedGroupsJudges\"])\n this.breedGroupsJudges!.push(BreedGroupHierarchyJudgeDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): BreedGroupBreedHierarchyDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupBreedHierarchyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"breedGroupNumber\"] = this.breedGroupNumber;\n data[\"remark\"] = this.remark;\n data[\"breedGroupFullName\"] = this.breedGroupFullName;\n if (Array.isArray(this.breedGroupTranslations)) {\n data[\"breedGroupTranslations\"] = [];\n for (let item of this.breedGroupTranslations)\n data[\"breedGroupTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.breeds)) {\n data[\"breeds\"] = [];\n for (let item of this.breeds)\n data[\"breeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedGroupsJudges)) {\n data[\"breedGroupsJudges\"] = [];\n for (let item of this.breedGroupsJudges)\n data[\"breedGroupsJudges\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IBreedGroupBreedHierarchyDto {\n breedGroupId?: number;\n breedGroupNumber?: number;\n remark?: string | undefined;\n breedGroupFullName?: string | undefined;\n breedGroupTranslations?: BreedGroupTranslationDto[] | undefined;\n breeds?: BreedHierarchyDto[] | undefined;\n breedGroupsJudges?: BreedGroupHierarchyJudgeDto[] | undefined;\n}\n\nexport class BreedGroupTranslationDto implements IBreedGroupTranslationDto {\n languageId?: number;\n breedGroupId?: number;\n text?: string | undefined;\n breedGroupTranslationId?: number;\n\n constructor(data?: IBreedGroupTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.text = _data[\"text\"];\n this.breedGroupTranslationId = _data[\"breedGroupTranslationId\"];\n }\n }\n\n static fromJS(data: any): BreedGroupTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"text\"] = this.text;\n data[\"breedGroupTranslationId\"] = this.breedGroupTranslationId;\n return data;\n }\n}\n\nexport interface IBreedGroupTranslationDto {\n languageId?: number;\n breedGroupId?: number;\n text?: string | undefined;\n breedGroupTranslationId?: number;\n}\n\nexport class BreedHierarchyDto implements IBreedHierarchyDto {\n code?: string | undefined;\n knownBreed?: boolean;\n subjectToWork?: boolean;\n remark?: string | undefined;\n agility?: EDifficulty;\n grooming?: EDifficulty;\n standardConfirmation?: boolean;\n shortenedTail?: boolean;\n merleColorAuthorized?: boolean;\n number?: number;\n sizeMin?: string | undefined;\n sizeMax?: string | undefined;\n breedId?: number;\n breedGroupId?: number;\n countryId?: number;\n breedTranslations?: BreedTranslationDto[] | undefined;\n breedsJudges?: BreedJudgeHierarchyDto[] | undefined;\n\n constructor(data?: IBreedHierarchyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.knownBreed = _data[\"knownBreed\"];\n this.subjectToWork = _data[\"subjectToWork\"];\n this.remark = _data[\"remark\"];\n this.agility = _data[\"agility\"];\n this.grooming = _data[\"grooming\"];\n this.standardConfirmation = _data[\"standardConfirmation\"];\n this.shortenedTail = _data[\"shortenedTail\"];\n this.merleColorAuthorized = _data[\"merleColorAuthorized\"];\n this.number = _data[\"number\"];\n this.sizeMin = _data[\"sizeMin\"];\n this.sizeMax = _data[\"sizeMax\"];\n this.breedId = _data[\"breedId\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.countryId = _data[\"countryId\"];\n if (Array.isArray(_data[\"breedTranslations\"])) {\n this.breedTranslations = [] as any;\n for (let item of _data[\"breedTranslations\"])\n this.breedTranslations!.push(BreedTranslationDto.fromJS(item));\n }\n if (Array.isArray(_data[\"breedsJudges\"])) {\n this.breedsJudges = [] as any;\n for (let item of _data[\"breedsJudges\"])\n this.breedsJudges!.push(BreedJudgeHierarchyDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): BreedHierarchyDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedHierarchyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"knownBreed\"] = this.knownBreed;\n data[\"subjectToWork\"] = this.subjectToWork;\n data[\"remark\"] = this.remark;\n data[\"agility\"] = this.agility;\n data[\"grooming\"] = this.grooming;\n data[\"standardConfirmation\"] = this.standardConfirmation;\n data[\"shortenedTail\"] = this.shortenedTail;\n data[\"merleColorAuthorized\"] = this.merleColorAuthorized;\n data[\"number\"] = this.number;\n data[\"sizeMin\"] = this.sizeMin;\n data[\"sizeMax\"] = this.sizeMax;\n data[\"breedId\"] = this.breedId;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"countryId\"] = this.countryId;\n if (Array.isArray(this.breedTranslations)) {\n data[\"breedTranslations\"] = [];\n for (let item of this.breedTranslations)\n data[\"breedTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedsJudges)) {\n data[\"breedsJudges\"] = [];\n for (let item of this.breedsJudges)\n data[\"breedsJudges\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IBreedHierarchyDto {\n code?: string | undefined;\n knownBreed?: boolean;\n subjectToWork?: boolean;\n remark?: string | undefined;\n agility?: EDifficulty;\n grooming?: EDifficulty;\n standardConfirmation?: boolean;\n shortenedTail?: boolean;\n merleColorAuthorized?: boolean;\n number?: number;\n sizeMin?: string | undefined;\n sizeMax?: string | undefined;\n breedId?: number;\n breedGroupId?: number;\n countryId?: number;\n breedTranslations?: BreedTranslationDto[] | undefined;\n breedsJudges?: BreedJudgeHierarchyDto[] | undefined;\n}\n\nexport class BreedJudgeHierarchyDto implements IBreedJudgeHierarchyDto {\n breedJudgeId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n\n constructor(data?: IBreedJudgeHierarchyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedJudgeId = _data[\"breedJudgeId\"];\n this.judgeType = _data[\"judgeType\"];\n this.nominationDate = _data[\"nominationDate\"] ? new Date(_data[\"nominationDate\"].toString()) : undefined;\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.excludedFrom = _data[\"excludedFrom\"] ? new Date(_data[\"excludedFrom\"].toString()) : undefined;\n this.excludedTo = _data[\"excludedTo\"] ? new Date(_data[\"excludedTo\"].toString()) : undefined;\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.language = _data[\"language\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n }\n }\n\n static fromJS(data: any): BreedJudgeHierarchyDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedJudgeHierarchyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedJudgeId\"] = this.breedJudgeId;\n data[\"judgeType\"] = this.judgeType;\n data[\"nominationDate\"] = this.nominationDate ? this.nominationDate.toISOString() : undefined;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"excludedFrom\"] = this.excludedFrom ? this.excludedFrom.toISOString() : undefined;\n data[\"excludedTo\"] = this.excludedTo ? this.excludedTo.toISOString() : undefined;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"language\"] = this.language;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n return data;\n }\n}\n\nexport interface IBreedJudgeHierarchyDto {\n breedJudgeId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n}\n\nexport enum EJudgeType {\n Internship = \"Internship\",\n Nominated = \"Nominated\",\n}\n\nexport class BreedGroupHierarchyJudgeDto implements IBreedGroupHierarchyJudgeDto {\n breedGroupJudgeId?: number;\n judgeId?: number;\n breedGroupId?: number;\n personId?: number;\n\n constructor(data?: IBreedGroupHierarchyJudgeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupJudgeId = _data[\"breedGroupJudgeId\"];\n this.judgeId = _data[\"judgeId\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.personId = _data[\"personId\"];\n }\n }\n\n static fromJS(data: any): BreedGroupHierarchyJudgeDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupHierarchyJudgeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupJudgeId\"] = this.breedGroupJudgeId;\n data[\"judgeId\"] = this.judgeId;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"personId\"] = this.personId;\n return data;\n }\n}\n\nexport interface IBreedGroupHierarchyJudgeDto {\n breedGroupJudgeId?: number;\n judgeId?: number;\n breedGroupId?: number;\n personId?: number;\n}\n\nexport class BreedGroupBreedHierarchySearch extends PaginatedSearch implements IBreedGroupBreedHierarchySearch {\n personId?: number | undefined;\n\n constructor(data?: IBreedGroupBreedHierarchySearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n }\n }\n\n static fromJS(data: any): BreedGroupBreedHierarchySearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupBreedHierarchySearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedGroupBreedHierarchySearch extends IPaginatedSearch {\n personId?: number | undefined;\n}\n\nexport class PaginatedResultsOfBreedGroupGridDto implements IPaginatedResultsOfBreedGroupGridDto {\n totalCount?: number;\n results?: BreedGroupGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreedGroupGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreedGroupGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreedGroupGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreedGroupGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreedGroupGridDto {\n totalCount?: number;\n results?: BreedGroupGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreedGroupGridDto implements IBreedGroupGridDto {\n breedGroupId?: number;\n breedGroupNumber?: number;\n name?: string | undefined;\n\n constructor(data?: IBreedGroupGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupId = _data[\"breedGroupId\"];\n this.breedGroupNumber = _data[\"breedGroupNumber\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): BreedGroupGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"breedGroupNumber\"] = this.breedGroupNumber;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IBreedGroupGridDto {\n breedGroupId?: number;\n breedGroupNumber?: number;\n name?: string | undefined;\n}\n\nexport class BreedGroupSearch extends PaginatedSearch implements IBreedGroupSearch {\n name?: TextSearch | undefined;\n breedGroupNumber?: NumericSearch | undefined;\n languageId?: number;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: IBreedGroupSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.breedGroupNumber = _data[\"breedGroupNumber\"] ? NumericSearch.fromJS(_data[\"breedGroupNumber\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): BreedGroupSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"breedGroupNumber\"] = this.breedGroupNumber ? this.breedGroupNumber.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedGroupSearch extends IPaginatedSearch {\n name?: TextSearch | undefined;\n breedGroupNumber?: NumericSearch | undefined;\n languageId?: number;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class BreedGroupDto implements IBreedGroupDto {\n breedGroupId?: number;\n breedGroupNumber?: number;\n remark?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n breedGroupTranslations?: BreedGroupTranslationDto[] | undefined;\n\n constructor(data?: IBreedGroupDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupId = _data[\"breedGroupId\"];\n this.breedGroupNumber = _data[\"breedGroupNumber\"];\n this.remark = _data[\"remark\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"breedGroupTranslations\"])) {\n this.breedGroupTranslations = [] as any;\n for (let item of _data[\"breedGroupTranslations\"])\n this.breedGroupTranslations!.push(BreedGroupTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): BreedGroupDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"breedGroupNumber\"] = this.breedGroupNumber;\n data[\"remark\"] = this.remark;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.breedGroupTranslations)) {\n data[\"breedGroupTranslations\"] = [];\n for (let item of this.breedGroupTranslations)\n data[\"breedGroupTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IBreedGroupDto {\n breedGroupId?: number;\n breedGroupNumber?: number;\n remark?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n breedGroupTranslations?: BreedGroupTranslationDto[] | undefined;\n}\n\nexport class BooleanDto implements IBooleanDto {\n value?: boolean;\n\n constructor(data?: IBooleanDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): BooleanDto {\n data = typeof data === 'object' ? data : {};\n let result = new BooleanDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IBooleanDto {\n value?: boolean;\n}\n\nexport class BreedGroupJudgeSearch extends PaginatedSearch implements IBreedGroupJudgeSearch {\n breedGroupId?: number;\n languageId?: number;\n\n constructor(data?: IBreedGroupJudgeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.breedGroupId = _data[\"breedGroupId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): BreedGroupJudgeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupJudgeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedGroupJudgeSearch extends IPaginatedSearch {\n breedGroupId?: number;\n languageId?: number;\n}\n\nexport class BreedGroupJudgeSaveDto implements IBreedGroupJudgeSaveDto {\n breedGroupId?: number;\n judgeIds?: number[] | undefined;\n\n constructor(data?: IBreedGroupJudgeSaveDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupId = _data[\"breedGroupId\"];\n if (Array.isArray(_data[\"judgeIds\"])) {\n this.judgeIds = [] as any;\n for (let item of _data[\"judgeIds\"])\n this.judgeIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): BreedGroupJudgeSaveDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupJudgeSaveDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupId\"] = this.breedGroupId;\n if (Array.isArray(this.judgeIds)) {\n data[\"judgeIds\"] = [];\n for (let item of this.judgeIds)\n data[\"judgeIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IBreedGroupJudgeSaveDto {\n breedGroupId?: number;\n judgeIds?: number[] | undefined;\n}\n\nexport class BreedGroupJudgeForPersonSearch extends PaginatedSearch implements IBreedGroupJudgeForPersonSearch {\n personId?: number | undefined;\n judgeId?: number | undefined;\n languageId?: number;\n\n constructor(data?: IBreedGroupJudgeForPersonSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n this.judgeId = _data[\"judgeId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): BreedGroupJudgeForPersonSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupJudgeForPersonSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"judgeId\"] = this.judgeId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedGroupJudgeForPersonSearch extends IPaginatedSearch {\n personId?: number | undefined;\n judgeId?: number | undefined;\n languageId?: number;\n}\n\nexport class PaginatedResultsOfBreedJudgeGridDto implements IPaginatedResultsOfBreedJudgeGridDto {\n totalCount?: number;\n results?: BreedJudgeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreedJudgeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreedJudgeGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreedJudgeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreedJudgeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreedJudgeGridDto {\n totalCount?: number;\n results?: BreedJudgeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreedJudgeGridDto implements IBreedJudgeGridDto {\n breedJudgeId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n computedName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n breedId?: number;\n breedName?: string | undefined;\n breedGroupId?: number;\n breedGroupLabel?: string | undefined;\n breedGroupNumber?: number;\n country?: string | undefined;\n breedGroupFullName?: string | undefined;\n\n constructor(data?: IBreedJudgeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedJudgeId = _data[\"breedJudgeId\"];\n this.judgeType = _data[\"judgeType\"];\n this.nominationDate = _data[\"nominationDate\"] ? new Date(_data[\"nominationDate\"].toString()) : undefined;\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.excludedFrom = _data[\"excludedFrom\"] ? new Date(_data[\"excludedFrom\"].toString()) : undefined;\n this.excludedTo = _data[\"excludedTo\"] ? new Date(_data[\"excludedTo\"].toString()) : undefined;\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.computedName = _data[\"computedName\"];\n this.language = _data[\"language\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.breedId = _data[\"breedId\"];\n this.breedName = _data[\"breedName\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.breedGroupLabel = _data[\"breedGroupLabel\"];\n this.breedGroupNumber = _data[\"breedGroupNumber\"];\n this.country = _data[\"country\"];\n this.breedGroupFullName = _data[\"breedGroupFullName\"];\n }\n }\n\n static fromJS(data: any): BreedJudgeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedJudgeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedJudgeId\"] = this.breedJudgeId;\n data[\"judgeType\"] = this.judgeType;\n data[\"nominationDate\"] = this.nominationDate ? this.nominationDate.toISOString() : undefined;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"excludedFrom\"] = this.excludedFrom ? this.excludedFrom.toISOString() : undefined;\n data[\"excludedTo\"] = this.excludedTo ? this.excludedTo.toISOString() : undefined;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"computedName\"] = this.computedName;\n data[\"language\"] = this.language;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"breedId\"] = this.breedId;\n data[\"breedName\"] = this.breedName;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"breedGroupLabel\"] = this.breedGroupLabel;\n data[\"breedGroupNumber\"] = this.breedGroupNumber;\n data[\"country\"] = this.country;\n data[\"breedGroupFullName\"] = this.breedGroupFullName;\n return data;\n }\n}\n\nexport interface IBreedJudgeGridDto {\n breedJudgeId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n computedName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n breedId?: number;\n breedName?: string | undefined;\n breedGroupId?: number;\n breedGroupLabel?: string | undefined;\n breedGroupNumber?: number;\n country?: string | undefined;\n breedGroupFullName?: string | undefined;\n}\n\nexport class SelectorSearchOfInteger extends PaginatedSearch implements ISelectorSearchOfInteger {\n selectedIds?: number[] | undefined;\n availableIds?: number[] | undefined;\n\n constructor(data?: ISelectorSearchOfInteger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n if (Array.isArray(_data[\"availableIds\"])) {\n this.availableIds = [] as any;\n for (let item of _data[\"availableIds\"])\n this.availableIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SelectorSearchOfInteger {\n data = typeof data === 'object' ? data : {};\n let result = new SelectorSearchOfInteger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n if (Array.isArray(this.availableIds)) {\n data[\"availableIds\"] = [];\n for (let item of this.availableIds)\n data[\"availableIds\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISelectorSearchOfInteger extends IPaginatedSearch {\n selectedIds?: number[] | undefined;\n availableIds?: number[] | undefined;\n}\n\nexport class BreedJudgeSearch extends SelectorSearchOfInteger implements IBreedJudgeSearch {\n languageId?: number;\n breedId?: number | undefined;\n judgeId?: number | undefined;\n personId?: number | undefined;\n lastName?: TextSearch | undefined;\n firstName?: TextSearch | undefined;\n\n constructor(data?: IBreedJudgeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.breedId = _data[\"breedId\"];\n this.judgeId = _data[\"judgeId\"];\n this.personId = _data[\"personId\"];\n this.lastName = _data[\"lastName\"] ? TextSearch.fromJS(_data[\"lastName\"]) : undefined;\n this.firstName = _data[\"firstName\"] ? TextSearch.fromJS(_data[\"firstName\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BreedJudgeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedJudgeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"breedId\"] = this.breedId;\n data[\"judgeId\"] = this.judgeId;\n data[\"personId\"] = this.personId;\n data[\"lastName\"] = this.lastName ? this.lastName.toJSON() : undefined;\n data[\"firstName\"] = this.firstName ? this.firstName.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedJudgeSearch extends ISelectorSearchOfInteger {\n languageId?: number;\n breedId?: number | undefined;\n judgeId?: number | undefined;\n personId?: number | undefined;\n lastName?: TextSearch | undefined;\n firstName?: TextSearch | undefined;\n}\n\nexport class SaveBreedJudgeDto implements ISaveBreedJudgeDto {\n breedJudgeId?: number;\n breedId?: number;\n breedName?: string | undefined;\n judgeId?: number | undefined;\n personId?: number | undefined;\n healthPackIds?: number[] | undefined;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n\n constructor(data?: ISaveBreedJudgeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedJudgeId = _data[\"breedJudgeId\"];\n this.breedId = _data[\"breedId\"];\n this.breedName = _data[\"breedName\"];\n this.judgeId = _data[\"judgeId\"];\n this.personId = _data[\"personId\"];\n if (Array.isArray(_data[\"healthPackIds\"])) {\n this.healthPackIds = [] as any;\n for (let item of _data[\"healthPackIds\"])\n this.healthPackIds!.push(item);\n }\n this.judgeType = _data[\"judgeType\"];\n this.nominationDate = _data[\"nominationDate\"] ? new Date(_data[\"nominationDate\"].toString()) : undefined;\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.excludedFrom = _data[\"excludedFrom\"] ? new Date(_data[\"excludedFrom\"].toString()) : undefined;\n this.excludedTo = _data[\"excludedTo\"] ? new Date(_data[\"excludedTo\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): SaveBreedJudgeDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveBreedJudgeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedJudgeId\"] = this.breedJudgeId;\n data[\"breedId\"] = this.breedId;\n data[\"breedName\"] = this.breedName;\n data[\"judgeId\"] = this.judgeId;\n data[\"personId\"] = this.personId;\n if (Array.isArray(this.healthPackIds)) {\n data[\"healthPackIds\"] = [];\n for (let item of this.healthPackIds)\n data[\"healthPackIds\"].push(item);\n }\n data[\"judgeType\"] = this.judgeType;\n data[\"nominationDate\"] = this.nominationDate ? this.nominationDate.toISOString() : undefined;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"excludedFrom\"] = this.excludedFrom ? this.excludedFrom.toISOString() : undefined;\n data[\"excludedTo\"] = this.excludedTo ? this.excludedTo.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ISaveBreedJudgeDto {\n breedJudgeId?: number;\n breedId?: number;\n breedName?: string | undefined;\n judgeId?: number | undefined;\n personId?: number | undefined;\n healthPackIds?: number[] | undefined;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n}\n\nexport class BreedsColorsSearch extends PaginatedSearch implements IBreedsColorsSearch {\n languageId?: number;\n breedColorId?: number;\n colorId?: number;\n breedId?: number;\n recognizedColor?: BooleanSearch | undefined;\n authorizedBreeding?: BooleanSearch | undefined;\n\n constructor(data?: IBreedsColorsSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.breedColorId = _data[\"breedColorId\"];\n this.colorId = _data[\"colorId\"];\n this.breedId = _data[\"breedId\"];\n this.recognizedColor = _data[\"recognizedColor\"] ? BooleanSearch.fromJS(_data[\"recognizedColor\"]) : undefined;\n this.authorizedBreeding = _data[\"authorizedBreeding\"] ? BooleanSearch.fromJS(_data[\"authorizedBreeding\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BreedsColorsSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedsColorsSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"breedColorId\"] = this.breedColorId;\n data[\"colorId\"] = this.colorId;\n data[\"breedId\"] = this.breedId;\n data[\"recognizedColor\"] = this.recognizedColor ? this.recognizedColor.toJSON() : undefined;\n data[\"authorizedBreeding\"] = this.authorizedBreeding ? this.authorizedBreeding.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedsColorsSearch extends IPaginatedSearch {\n languageId?: number;\n breedColorId?: number;\n colorId?: number;\n breedId?: number;\n recognizedColor?: BooleanSearch | undefined;\n authorizedBreeding?: BooleanSearch | undefined;\n}\n\nexport class PaginatedResultsOfColorDto implements IPaginatedResultsOfColorDto {\n totalCount?: number;\n results?: ColorDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfColorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ColorDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfColorDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfColorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfColorDto {\n totalCount?: number;\n results?: ColorDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ColorDto implements IColorDto {\n colorId?: number;\n code?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n isMerle?: boolean;\n official?: boolean;\n colorTranslations?: ColorTranslationDto[] | undefined;\n\n constructor(data?: IColorDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.colorId = _data[\"colorId\"];\n this.code = _data[\"code\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.isMerle = _data[\"isMerle\"];\n this.official = _data[\"official\"];\n if (Array.isArray(_data[\"colorTranslations\"])) {\n this.colorTranslations = [] as any;\n for (let item of _data[\"colorTranslations\"])\n this.colorTranslations!.push(ColorTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ColorDto {\n data = typeof data === 'object' ? data : {};\n let result = new ColorDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"colorId\"] = this.colorId;\n data[\"code\"] = this.code;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"isMerle\"] = this.isMerle;\n data[\"official\"] = this.official;\n if (Array.isArray(this.colorTranslations)) {\n data[\"colorTranslations\"] = [];\n for (let item of this.colorTranslations)\n data[\"colorTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IColorDto {\n colorId?: number;\n code?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n isMerle?: boolean;\n official?: boolean;\n colorTranslations?: ColorTranslationDto[] | undefined;\n}\n\nexport class ColorTranslationDto implements IColorTranslationDto {\n colorId?: number;\n languageId?: number;\n text?: string | undefined;\n colorTranslationId?: number;\n\n constructor(data?: IColorTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.colorId = _data[\"colorId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.colorTranslationId = _data[\"colorTranslationId\"];\n }\n }\n\n static fromJS(data: any): ColorTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new ColorTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"colorId\"] = this.colorId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"colorTranslationId\"] = this.colorTranslationId;\n return data;\n }\n}\n\nexport interface IColorTranslationDto {\n colorId?: number;\n languageId?: number;\n text?: string | undefined;\n colorTranslationId?: number;\n}\n\nexport class AvailableColorForBreedSearch extends PaginatedSearch implements IAvailableColorForBreedSearch {\n languageId?: number;\n colorId?: number;\n breedId?: number;\n official?: BooleanSearch | undefined;\n officialName?: TextSearch | undefined;\n\n constructor(data?: IAvailableColorForBreedSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.colorId = _data[\"colorId\"];\n this.breedId = _data[\"breedId\"];\n this.official = _data[\"official\"] ? BooleanSearch.fromJS(_data[\"official\"]) : undefined;\n this.officialName = _data[\"officialName\"] ? TextSearch.fromJS(_data[\"officialName\"]) : undefined;\n }\n }\n\n static fromJS(data: any): AvailableColorForBreedSearch {\n data = typeof data === 'object' ? data : {};\n let result = new AvailableColorForBreedSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"colorId\"] = this.colorId;\n data[\"breedId\"] = this.breedId;\n data[\"official\"] = this.official ? this.official.toJSON() : undefined;\n data[\"officialName\"] = this.officialName ? this.officialName.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IAvailableColorForBreedSearch extends IPaginatedSearch {\n languageId?: number;\n colorId?: number;\n breedId?: number;\n official?: BooleanSearch | undefined;\n officialName?: TextSearch | undefined;\n}\n\nexport class SaveBreedAllowedColorsDto implements ISaveBreedAllowedColorsDto {\n breedId?: number;\n colorId?: number;\n authorizedBreeding?: boolean;\n\n constructor(data?: ISaveBreedAllowedColorsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n this.colorId = _data[\"colorId\"];\n this.authorizedBreeding = _data[\"authorizedBreeding\"];\n }\n }\n\n static fromJS(data: any): SaveBreedAllowedColorsDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveBreedAllowedColorsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n data[\"colorId\"] = this.colorId;\n data[\"authorizedBreeding\"] = this.authorizedBreeding;\n return data;\n }\n}\n\nexport interface ISaveBreedAllowedColorsDto {\n breedId?: number;\n colorId?: number;\n authorizedBreeding?: boolean;\n}\n\nexport class PaginatedResultsOfBreedWorkbookTypeDto implements IPaginatedResultsOfBreedWorkbookTypeDto {\n totalCount?: number;\n results?: BreedWorkbookTypeDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBreedWorkbookTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BreedWorkbookTypeDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBreedWorkbookTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBreedWorkbookTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBreedWorkbookTypeDto {\n totalCount?: number;\n results?: BreedWorkbookTypeDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BreedWorkbookTypeDto implements IBreedWorkbookTypeDto {\n breedId?: number;\n breedName?: string | undefined;\n\n constructor(data?: IBreedWorkbookTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n this.breedName = _data[\"breedName\"];\n }\n }\n\n static fromJS(data: any): BreedWorkbookTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedWorkbookTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n data[\"breedName\"] = this.breedName;\n return data;\n }\n}\n\nexport interface IBreedWorkbookTypeDto {\n breedId?: number;\n breedName?: string | undefined;\n}\n\nexport class BreedWorkbookTypeSearch extends PaginatedSearch implements IBreedWorkbookTypeSearch {\n languageId?: number;\n workbookTypeId?: number;\n\n constructor(data?: IBreedWorkbookTypeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.workbookTypeId = _data[\"workbookTypeId\"];\n }\n }\n\n static fromJS(data: any): BreedWorkbookTypeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BreedWorkbookTypeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"workbookTypeId\"] = this.workbookTypeId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBreedWorkbookTypeSearch extends IPaginatedSearch {\n languageId?: number;\n workbookTypeId?: number;\n}\n\nexport class SaveWorkbookTypeAllowedBreedsDto implements ISaveWorkbookTypeAllowedBreedsDto {\n workbookTypeId?: number;\n breedIds?: number[] | undefined;\n\n constructor(data?: ISaveWorkbookTypeAllowedBreedsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookTypeId = _data[\"workbookTypeId\"];\n if (Array.isArray(_data[\"breedIds\"])) {\n this.breedIds = [] as any;\n for (let item of _data[\"breedIds\"])\n this.breedIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SaveWorkbookTypeAllowedBreedsDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveWorkbookTypeAllowedBreedsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookTypeId\"] = this.workbookTypeId;\n if (Array.isArray(this.breedIds)) {\n data[\"breedIds\"] = [];\n for (let item of this.breedIds)\n data[\"breedIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISaveWorkbookTypeAllowedBreedsDto {\n workbookTypeId?: number;\n breedIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfBroodRequestGridDto implements IPaginatedResultsOfBroodRequestGridDto {\n totalCount?: number;\n results?: BroodRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfBroodRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(BroodRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfBroodRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfBroodRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfBroodRequestGridDto {\n totalCount?: number;\n results?: BroodRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class BroodRequestGridDto implements IBroodRequestGridDto {\n broodRequestId?: number;\n requestId?: number;\n requestState?: string | undefined;\n requestStateId?: number;\n personId?: number;\n contact?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n requestStateCode?: ERequestState;\n motherId?: number;\n numberOfPuppies?: number;\n protrusionDate?: Date;\n birthDate?: Date | undefined;\n request?: Request | undefined;\n mother?: string | undefined;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IBroodRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.broodRequestId = _data[\"broodRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestState = _data[\"requestState\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isBlocked = _data[\"isBlocked\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.motherId = _data[\"motherId\"];\n this.numberOfPuppies = _data[\"numberOfPuppies\"];\n this.protrusionDate = _data[\"protrusionDate\"] ? new Date(_data[\"protrusionDate\"].toString()) : undefined;\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.mother = _data[\"mother\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): BroodRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new BroodRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestState\"] = this.requestState;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"motherId\"] = this.motherId;\n data[\"numberOfPuppies\"] = this.numberOfPuppies;\n data[\"protrusionDate\"] = this.protrusionDate ? this.protrusionDate.toISOString() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"mother\"] = this.mother;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IBroodRequestGridDto {\n broodRequestId?: number;\n requestId?: number;\n requestState?: string | undefined;\n requestStateId?: number;\n personId?: number;\n contact?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n requestStateCode?: ERequestState;\n motherId?: number;\n numberOfPuppies?: number;\n protrusionDate?: Date;\n birthDate?: Date | undefined;\n request?: Request | undefined;\n mother?: string | undefined;\n invoiceNumber?: string | undefined;\n}\n\nexport class Request implements IRequest {\n requestId?: number;\n requestTypeId?: number;\n parentRequestId?: number | undefined;\n requestStatusId?: number;\n previousRequestStatusId?: number | undefined;\n personId?: number;\n managerId?: number | undefined;\n sentBillReminders?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n sharepointUri?: string | undefined;\n isOnline?: boolean;\n remark?: string | undefined;\n isBlocked?: boolean;\n isBilledFromPortal?: boolean;\n executionDate?: Date | undefined;\n cegekaId?: string | undefined;\n lastStatusChangeDate?: Date | undefined;\n missingInformationRequestDate?: Date | undefined;\n person?: Person | undefined;\n manager?: User | undefined;\n parentRequest?: Request | undefined;\n requestStatus?: RequestStatus | undefined;\n previousRequestStatus?: RequestStatus | undefined;\n requestType?: RequestType | undefined;\n subRequests?: Request[] | undefined;\n dashboardTasks?: DashboardTask[] | undefined;\n invoices?: Invoice[] | undefined;\n broodRequests?: BroodRequest[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n dogOwnershipChangeRequests?: DogOwnershipChangeRequest[] | undefined;\n conditionForcedValues?: ConditionsForcedValue[] | undefined;\n verificationValues?: VerificationsValue[] | undefined;\n dogTempOwnershipChangeRequests?: DogTempOwnershipChangeRequest[] | undefined;\n dysplasiaRequests?: DysplasiaRequest[] | undefined;\n expatriationRequests?: ExpatriationRequest[] | undefined;\n dysplasiaAppealRequests?: DysplasiaRequest[] | undefined;\n healthTestRequests?: HealthTestRequest[] | undefined;\n importRequests?: ImportRequest[] | undefined;\n kennelImportRequests?: KennelImportRequest[] | undefined;\n kennelExportRequests?: KennelExportRequest[] | undefined;\n kennelNameChangeRequests?: KennelNameChangeRequest[] | undefined;\n kennelOwnershipChangeRequests?: KennelOwnershipChangeRequest[] | undefined;\n newKennelRequests?: NewKennelRequest[] | undefined;\n pedigreeRequests?: PedigreeRequest[] | undefined;\n pedigreeDuplicataRequests?: PedigreeDuplicataRequest[] | undefined;\n membershipRequests?: MembershipRequest[] | undefined;\n titleRequests?: TitleRequest[] | undefined;\n workAttestRequests?: WorkAttestRequest[] | undefined;\n workbookRequests?: WorkbookRequest[] | undefined;\n requestActions?: RequestAction[] | undefined;\n miscellaneousRequests?: MiscellaneousRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.parentRequestId = _data[\"parentRequestId\"];\n this.requestStatusId = _data[\"requestStatusId\"];\n this.previousRequestStatusId = _data[\"previousRequestStatusId\"];\n this.personId = _data[\"personId\"];\n this.managerId = _data[\"managerId\"];\n this.sentBillReminders = _data[\"sentBillReminders\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.sharepointUri = _data[\"sharepointUri\"];\n this.isOnline = _data[\"isOnline\"];\n this.remark = _data[\"remark\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.isBilledFromPortal = _data[\"isBilledFromPortal\"];\n this.executionDate = _data[\"executionDate\"] ? new Date(_data[\"executionDate\"].toString()) : undefined;\n this.cegekaId = _data[\"cegekaId\"];\n this.lastStatusChangeDate = _data[\"lastStatusChangeDate\"] ? new Date(_data[\"lastStatusChangeDate\"].toString()) : undefined;\n this.missingInformationRequestDate = _data[\"missingInformationRequestDate\"] ? new Date(_data[\"missingInformationRequestDate\"].toString()) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.manager = _data[\"manager\"] ? User.fromJS(_data[\"manager\"]) : undefined;\n this.parentRequest = _data[\"parentRequest\"] ? Request.fromJS(_data[\"parentRequest\"]) : undefined;\n this.requestStatus = _data[\"requestStatus\"] ? RequestStatus.fromJS(_data[\"requestStatus\"]) : undefined;\n this.previousRequestStatus = _data[\"previousRequestStatus\"] ? RequestStatus.fromJS(_data[\"previousRequestStatus\"]) : undefined;\n this.requestType = _data[\"requestType\"] ? RequestType.fromJS(_data[\"requestType\"]) : undefined;\n if (Array.isArray(_data[\"subRequests\"])) {\n this.subRequests = [] as any;\n for (let item of _data[\"subRequests\"])\n this.subRequests!.push(Request.fromJS(item));\n }\n if (Array.isArray(_data[\"dashboardTasks\"])) {\n this.dashboardTasks = [] as any;\n for (let item of _data[\"dashboardTasks\"])\n this.dashboardTasks!.push(DashboardTask.fromJS(item));\n }\n if (Array.isArray(_data[\"invoices\"])) {\n this.invoices = [] as any;\n for (let item of _data[\"invoices\"])\n this.invoices!.push(Invoice.fromJS(item));\n }\n if (Array.isArray(_data[\"broodRequests\"])) {\n this.broodRequests = [] as any;\n for (let item of _data[\"broodRequests\"])\n this.broodRequests!.push(BroodRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionRequests\"])) {\n this.competitionRequests = [] as any;\n for (let item of _data[\"competitionRequests\"])\n this.competitionRequests!.push(CompetitionRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dogOwnershipChangeRequests\"])) {\n this.dogOwnershipChangeRequests = [] as any;\n for (let item of _data[\"dogOwnershipChangeRequests\"])\n this.dogOwnershipChangeRequests!.push(DogOwnershipChangeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"conditionForcedValues\"])) {\n this.conditionForcedValues = [] as any;\n for (let item of _data[\"conditionForcedValues\"])\n this.conditionForcedValues!.push(ConditionsForcedValue.fromJS(item));\n }\n if (Array.isArray(_data[\"verificationValues\"])) {\n this.verificationValues = [] as any;\n for (let item of _data[\"verificationValues\"])\n this.verificationValues!.push(VerificationsValue.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTempOwnershipChangeRequests\"])) {\n this.dogTempOwnershipChangeRequests = [] as any;\n for (let item of _data[\"dogTempOwnershipChangeRequests\"])\n this.dogTempOwnershipChangeRequests!.push(DogTempOwnershipChangeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dysplasiaRequests\"])) {\n this.dysplasiaRequests = [] as any;\n for (let item of _data[\"dysplasiaRequests\"])\n this.dysplasiaRequests!.push(DysplasiaRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"expatriationRequests\"])) {\n this.expatriationRequests = [] as any;\n for (let item of _data[\"expatriationRequests\"])\n this.expatriationRequests!.push(ExpatriationRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dysplasiaAppealRequests\"])) {\n this.dysplasiaAppealRequests = [] as any;\n for (let item of _data[\"dysplasiaAppealRequests\"])\n this.dysplasiaAppealRequests!.push(DysplasiaRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestRequests\"])) {\n this.healthTestRequests = [] as any;\n for (let item of _data[\"healthTestRequests\"])\n this.healthTestRequests!.push(HealthTestRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"importRequests\"])) {\n this.importRequests = [] as any;\n for (let item of _data[\"importRequests\"])\n this.importRequests!.push(ImportRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelImportRequests\"])) {\n this.kennelImportRequests = [] as any;\n for (let item of _data[\"kennelImportRequests\"])\n this.kennelImportRequests!.push(KennelImportRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelExportRequests\"])) {\n this.kennelExportRequests = [] as any;\n for (let item of _data[\"kennelExportRequests\"])\n this.kennelExportRequests!.push(KennelExportRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelNameChangeRequests\"])) {\n this.kennelNameChangeRequests = [] as any;\n for (let item of _data[\"kennelNameChangeRequests\"])\n this.kennelNameChangeRequests!.push(KennelNameChangeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelOwnershipChangeRequests\"])) {\n this.kennelOwnershipChangeRequests = [] as any;\n for (let item of _data[\"kennelOwnershipChangeRequests\"])\n this.kennelOwnershipChangeRequests!.push(KennelOwnershipChangeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"newKennelRequests\"])) {\n this.newKennelRequests = [] as any;\n for (let item of _data[\"newKennelRequests\"])\n this.newKennelRequests!.push(NewKennelRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"pedigreeRequests\"])) {\n this.pedigreeRequests = [] as any;\n for (let item of _data[\"pedigreeRequests\"])\n this.pedigreeRequests!.push(PedigreeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"pedigreeDuplicataRequests\"])) {\n this.pedigreeDuplicataRequests = [] as any;\n for (let item of _data[\"pedigreeDuplicataRequests\"])\n this.pedigreeDuplicataRequests!.push(PedigreeDuplicataRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"membershipRequests\"])) {\n this.membershipRequests = [] as any;\n for (let item of _data[\"membershipRequests\"])\n this.membershipRequests!.push(MembershipRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"titleRequests\"])) {\n this.titleRequests = [] as any;\n for (let item of _data[\"titleRequests\"])\n this.titleRequests!.push(TitleRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"workAttestRequests\"])) {\n this.workAttestRequests = [] as any;\n for (let item of _data[\"workAttestRequests\"])\n this.workAttestRequests!.push(WorkAttestRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"workbookRequests\"])) {\n this.workbookRequests = [] as any;\n for (let item of _data[\"workbookRequests\"])\n this.workbookRequests!.push(WorkbookRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"requestActions\"])) {\n this.requestActions = [] as any;\n for (let item of _data[\"requestActions\"])\n this.requestActions!.push(RequestAction.fromJS(item));\n }\n if (Array.isArray(_data[\"miscellaneousRequests\"])) {\n this.miscellaneousRequests = [] as any;\n for (let item of _data[\"miscellaneousRequests\"])\n this.miscellaneousRequests!.push(MiscellaneousRequest.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Request {\n data = typeof data === 'object' ? data : {};\n let result = new Request();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"parentRequestId\"] = this.parentRequestId;\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"previousRequestStatusId\"] = this.previousRequestStatusId;\n data[\"personId\"] = this.personId;\n data[\"managerId\"] = this.managerId;\n data[\"sentBillReminders\"] = this.sentBillReminders;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"isOnline\"] = this.isOnline;\n data[\"remark\"] = this.remark;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"isBilledFromPortal\"] = this.isBilledFromPortal;\n data[\"executionDate\"] = this.executionDate ? this.executionDate.toISOString() : undefined;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"lastStatusChangeDate\"] = this.lastStatusChangeDate ? this.lastStatusChangeDate.toISOString() : undefined;\n data[\"missingInformationRequestDate\"] = this.missingInformationRequestDate ? this.missingInformationRequestDate.toISOString() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"manager\"] = this.manager ? this.manager.toJSON() : undefined;\n data[\"parentRequest\"] = this.parentRequest ? this.parentRequest.toJSON() : undefined;\n data[\"requestStatus\"] = this.requestStatus ? this.requestStatus.toJSON() : undefined;\n data[\"previousRequestStatus\"] = this.previousRequestStatus ? this.previousRequestStatus.toJSON() : undefined;\n data[\"requestType\"] = this.requestType ? this.requestType.toJSON() : undefined;\n if (Array.isArray(this.subRequests)) {\n data[\"subRequests\"] = [];\n for (let item of this.subRequests)\n data[\"subRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dashboardTasks)) {\n data[\"dashboardTasks\"] = [];\n for (let item of this.dashboardTasks)\n data[\"dashboardTasks\"].push(item.toJSON());\n }\n if (Array.isArray(this.invoices)) {\n data[\"invoices\"] = [];\n for (let item of this.invoices)\n data[\"invoices\"].push(item.toJSON());\n }\n if (Array.isArray(this.broodRequests)) {\n data[\"broodRequests\"] = [];\n for (let item of this.broodRequests)\n data[\"broodRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionRequests)) {\n data[\"competitionRequests\"] = [];\n for (let item of this.competitionRequests)\n data[\"competitionRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogOwnershipChangeRequests)) {\n data[\"dogOwnershipChangeRequests\"] = [];\n for (let item of this.dogOwnershipChangeRequests)\n data[\"dogOwnershipChangeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.conditionForcedValues)) {\n data[\"conditionForcedValues\"] = [];\n for (let item of this.conditionForcedValues)\n data[\"conditionForcedValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.verificationValues)) {\n data[\"verificationValues\"] = [];\n for (let item of this.verificationValues)\n data[\"verificationValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTempOwnershipChangeRequests)) {\n data[\"dogTempOwnershipChangeRequests\"] = [];\n for (let item of this.dogTempOwnershipChangeRequests)\n data[\"dogTempOwnershipChangeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dysplasiaRequests)) {\n data[\"dysplasiaRequests\"] = [];\n for (let item of this.dysplasiaRequests)\n data[\"dysplasiaRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.expatriationRequests)) {\n data[\"expatriationRequests\"] = [];\n for (let item of this.expatriationRequests)\n data[\"expatriationRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dysplasiaAppealRequests)) {\n data[\"dysplasiaAppealRequests\"] = [];\n for (let item of this.dysplasiaAppealRequests)\n data[\"dysplasiaAppealRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestRequests)) {\n data[\"healthTestRequests\"] = [];\n for (let item of this.healthTestRequests)\n data[\"healthTestRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.importRequests)) {\n data[\"importRequests\"] = [];\n for (let item of this.importRequests)\n data[\"importRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelImportRequests)) {\n data[\"kennelImportRequests\"] = [];\n for (let item of this.kennelImportRequests)\n data[\"kennelImportRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelExportRequests)) {\n data[\"kennelExportRequests\"] = [];\n for (let item of this.kennelExportRequests)\n data[\"kennelExportRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelNameChangeRequests)) {\n data[\"kennelNameChangeRequests\"] = [];\n for (let item of this.kennelNameChangeRequests)\n data[\"kennelNameChangeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelOwnershipChangeRequests)) {\n data[\"kennelOwnershipChangeRequests\"] = [];\n for (let item of this.kennelOwnershipChangeRequests)\n data[\"kennelOwnershipChangeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.newKennelRequests)) {\n data[\"newKennelRequests\"] = [];\n for (let item of this.newKennelRequests)\n data[\"newKennelRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.pedigreeRequests)) {\n data[\"pedigreeRequests\"] = [];\n for (let item of this.pedigreeRequests)\n data[\"pedigreeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.pedigreeDuplicataRequests)) {\n data[\"pedigreeDuplicataRequests\"] = [];\n for (let item of this.pedigreeDuplicataRequests)\n data[\"pedigreeDuplicataRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.membershipRequests)) {\n data[\"membershipRequests\"] = [];\n for (let item of this.membershipRequests)\n data[\"membershipRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.titleRequests)) {\n data[\"titleRequests\"] = [];\n for (let item of this.titleRequests)\n data[\"titleRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.workAttestRequests)) {\n data[\"workAttestRequests\"] = [];\n for (let item of this.workAttestRequests)\n data[\"workAttestRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.workbookRequests)) {\n data[\"workbookRequests\"] = [];\n for (let item of this.workbookRequests)\n data[\"workbookRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.requestActions)) {\n data[\"requestActions\"] = [];\n for (let item of this.requestActions)\n data[\"requestActions\"].push(item.toJSON());\n }\n if (Array.isArray(this.miscellaneousRequests)) {\n data[\"miscellaneousRequests\"] = [];\n for (let item of this.miscellaneousRequests)\n data[\"miscellaneousRequests\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRequest {\n requestId?: number;\n requestTypeId?: number;\n parentRequestId?: number | undefined;\n requestStatusId?: number;\n previousRequestStatusId?: number | undefined;\n personId?: number;\n managerId?: number | undefined;\n sentBillReminders?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n sharepointUri?: string | undefined;\n isOnline?: boolean;\n remark?: string | undefined;\n isBlocked?: boolean;\n isBilledFromPortal?: boolean;\n executionDate?: Date | undefined;\n cegekaId?: string | undefined;\n lastStatusChangeDate?: Date | undefined;\n missingInformationRequestDate?: Date | undefined;\n person?: Person | undefined;\n manager?: User | undefined;\n parentRequest?: Request | undefined;\n requestStatus?: RequestStatus | undefined;\n previousRequestStatus?: RequestStatus | undefined;\n requestType?: RequestType | undefined;\n subRequests?: Request[] | undefined;\n dashboardTasks?: DashboardTask[] | undefined;\n invoices?: Invoice[] | undefined;\n broodRequests?: BroodRequest[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n dogOwnershipChangeRequests?: DogOwnershipChangeRequest[] | undefined;\n conditionForcedValues?: ConditionsForcedValue[] | undefined;\n verificationValues?: VerificationsValue[] | undefined;\n dogTempOwnershipChangeRequests?: DogTempOwnershipChangeRequest[] | undefined;\n dysplasiaRequests?: DysplasiaRequest[] | undefined;\n expatriationRequests?: ExpatriationRequest[] | undefined;\n dysplasiaAppealRequests?: DysplasiaRequest[] | undefined;\n healthTestRequests?: HealthTestRequest[] | undefined;\n importRequests?: ImportRequest[] | undefined;\n kennelImportRequests?: KennelImportRequest[] | undefined;\n kennelExportRequests?: KennelExportRequest[] | undefined;\n kennelNameChangeRequests?: KennelNameChangeRequest[] | undefined;\n kennelOwnershipChangeRequests?: KennelOwnershipChangeRequest[] | undefined;\n newKennelRequests?: NewKennelRequest[] | undefined;\n pedigreeRequests?: PedigreeRequest[] | undefined;\n pedigreeDuplicataRequests?: PedigreeDuplicataRequest[] | undefined;\n membershipRequests?: MembershipRequest[] | undefined;\n titleRequests?: TitleRequest[] | undefined;\n workAttestRequests?: WorkAttestRequest[] | undefined;\n workbookRequests?: WorkbookRequest[] | undefined;\n requestActions?: RequestAction[] | undefined;\n miscellaneousRequests?: MiscellaneousRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Person implements IPerson {\n personId?: number;\n personHonorificId?: number | undefined;\n deathDate?: Date | undefined;\n birthDate?: Date | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n languageId?: number;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n vatNumber?: string | undefined;\n bannedFrom?: Date | undefined;\n bannedTo?: Date | undefined;\n isBadPayer?: boolean;\n receiveNewsletterFrom?: Date | undefined;\n receiveNewsletterTo?: Date | undefined;\n as400ContactNumber?: number | undefined;\n remark?: string | undefined;\n sharepointUri?: string | undefined;\n bcIdentifier?: string | undefined;\n societyName?: string | undefined;\n cegekaId?: string | undefined;\n parentPersonId?: number | undefined;\n computedName?: string | undefined;\n isKnownPerson?: boolean;\n personHonorific?: PersonHonorific | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n breeder?: Breeder | undefined;\n parentPerson?: Person | undefined;\n webUsers?: WebUser[] | undefined;\n dogBroodRequestTransientOwners?: DogBroodRequestTransientOwner[] | undefined;\n transientPedigreeRequestOwners?: TransientPedigreeRequestOwner[] | undefined;\n personActions?: PersonAction[] | undefined;\n veterinarians?: Veterinary[] | undefined;\n chartSignaturesHistories?: ChartSignaturesHistory[] | undefined;\n judges?: Judge[] | undefined;\n members?: Member[] | undefined;\n dogsOwnerships?: DogOwnership[] | undefined;\n kennelsOwnerships?: KennelOwnership[] | undefined;\n parentPeople?: Person[] | undefined;\n requests?: Request[] | undefined;\n clubsContacts?: ClubContact[] | undefined;\n dogsOwnershipsTransients?: DogOwnershipTransient[] | undefined;\n importRequestTransientOwnerships?: ImportRequestTransientOwnership[] | undefined;\n dogTempOwnershipChangeRequests?: DogTempOwnershipChangeRequest[] | undefined;\n transientNewKennelOwners?: TransientNewKennelOwner[] | undefined;\n transientKennelImportOwners?: TransientKennelImportOwner[] | undefined;\n transientOwnersKennelOwnershipChanges?: TransientOwnersKennelOwnershipChange[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n commissioner?: Commissioner | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IPerson) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.personHonorificId = _data[\"personHonorificId\"];\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.languageId = _data[\"languageId\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.countryId = _data[\"countryId\"];\n this.vatNumber = _data[\"vatNumber\"];\n this.bannedFrom = _data[\"bannedFrom\"] ? new Date(_data[\"bannedFrom\"].toString()) : undefined;\n this.bannedTo = _data[\"bannedTo\"] ? new Date(_data[\"bannedTo\"].toString()) : undefined;\n this.isBadPayer = _data[\"isBadPayer\"];\n this.receiveNewsletterFrom = _data[\"receiveNewsletterFrom\"] ? new Date(_data[\"receiveNewsletterFrom\"].toString()) : undefined;\n this.receiveNewsletterTo = _data[\"receiveNewsletterTo\"] ? new Date(_data[\"receiveNewsletterTo\"].toString()) : undefined;\n this.as400ContactNumber = _data[\"as400ContactNumber\"];\n this.remark = _data[\"remark\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.bcIdentifier = _data[\"bcIdentifier\"];\n this.societyName = _data[\"societyName\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.parentPersonId = _data[\"parentPersonId\"];\n this.computedName = _data[\"computedName\"];\n this.isKnownPerson = _data[\"isKnownPerson\"];\n this.personHonorific = _data[\"personHonorific\"] ? PersonHonorific.fromJS(_data[\"personHonorific\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.breeder = _data[\"breeder\"] ? Breeder.fromJS(_data[\"breeder\"]) : undefined;\n this.parentPerson = _data[\"parentPerson\"] ? Person.fromJS(_data[\"parentPerson\"]) : undefined;\n if (Array.isArray(_data[\"webUsers\"])) {\n this.webUsers = [] as any;\n for (let item of _data[\"webUsers\"])\n this.webUsers!.push(WebUser.fromJS(item));\n }\n if (Array.isArray(_data[\"dogBroodRequestTransientOwners\"])) {\n this.dogBroodRequestTransientOwners = [] as any;\n for (let item of _data[\"dogBroodRequestTransientOwners\"])\n this.dogBroodRequestTransientOwners!.push(DogBroodRequestTransientOwner.fromJS(item));\n }\n if (Array.isArray(_data[\"transientPedigreeRequestOwners\"])) {\n this.transientPedigreeRequestOwners = [] as any;\n for (let item of _data[\"transientPedigreeRequestOwners\"])\n this.transientPedigreeRequestOwners!.push(TransientPedigreeRequestOwner.fromJS(item));\n }\n if (Array.isArray(_data[\"personActions\"])) {\n this.personActions = [] as any;\n for (let item of _data[\"personActions\"])\n this.personActions!.push(PersonAction.fromJS(item));\n }\n if (Array.isArray(_data[\"veterinarians\"])) {\n this.veterinarians = [] as any;\n for (let item of _data[\"veterinarians\"])\n this.veterinarians!.push(Veterinary.fromJS(item));\n }\n if (Array.isArray(_data[\"chartSignaturesHistories\"])) {\n this.chartSignaturesHistories = [] as any;\n for (let item of _data[\"chartSignaturesHistories\"])\n this.chartSignaturesHistories!.push(ChartSignaturesHistory.fromJS(item));\n }\n if (Array.isArray(_data[\"judges\"])) {\n this.judges = [] as any;\n for (let item of _data[\"judges\"])\n this.judges!.push(Judge.fromJS(item));\n }\n if (Array.isArray(_data[\"members\"])) {\n this.members = [] as any;\n for (let item of _data[\"members\"])\n this.members!.push(Member.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsOwnerships\"])) {\n this.dogsOwnerships = [] as any;\n for (let item of _data[\"dogsOwnerships\"])\n this.dogsOwnerships!.push(DogOwnership.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelsOwnerships\"])) {\n this.kennelsOwnerships = [] as any;\n for (let item of _data[\"kennelsOwnerships\"])\n this.kennelsOwnerships!.push(KennelOwnership.fromJS(item));\n }\n if (Array.isArray(_data[\"parentPeople\"])) {\n this.parentPeople = [] as any;\n for (let item of _data[\"parentPeople\"])\n this.parentPeople!.push(Person.fromJS(item));\n }\n if (Array.isArray(_data[\"requests\"])) {\n this.requests = [] as any;\n for (let item of _data[\"requests\"])\n this.requests!.push(Request.fromJS(item));\n }\n if (Array.isArray(_data[\"clubsContacts\"])) {\n this.clubsContacts = [] as any;\n for (let item of _data[\"clubsContacts\"])\n this.clubsContacts!.push(ClubContact.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsOwnershipsTransients\"])) {\n this.dogsOwnershipsTransients = [] as any;\n for (let item of _data[\"dogsOwnershipsTransients\"])\n this.dogsOwnershipsTransients!.push(DogOwnershipTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"importRequestTransientOwnerships\"])) {\n this.importRequestTransientOwnerships = [] as any;\n for (let item of _data[\"importRequestTransientOwnerships\"])\n this.importRequestTransientOwnerships!.push(ImportRequestTransientOwnership.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTempOwnershipChangeRequests\"])) {\n this.dogTempOwnershipChangeRequests = [] as any;\n for (let item of _data[\"dogTempOwnershipChangeRequests\"])\n this.dogTempOwnershipChangeRequests!.push(DogTempOwnershipChangeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"transientNewKennelOwners\"])) {\n this.transientNewKennelOwners = [] as any;\n for (let item of _data[\"transientNewKennelOwners\"])\n this.transientNewKennelOwners!.push(TransientNewKennelOwner.fromJS(item));\n }\n if (Array.isArray(_data[\"transientKennelImportOwners\"])) {\n this.transientKennelImportOwners = [] as any;\n for (let item of _data[\"transientKennelImportOwners\"])\n this.transientKennelImportOwners!.push(TransientKennelImportOwner.fromJS(item));\n }\n if (Array.isArray(_data[\"transientOwnersKennelOwnershipChanges\"])) {\n this.transientOwnersKennelOwnershipChanges = [] as any;\n for (let item of _data[\"transientOwnersKennelOwnershipChanges\"])\n this.transientOwnersKennelOwnershipChanges!.push(TransientOwnersKennelOwnershipChange.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionRequests\"])) {\n this.competitionRequests = [] as any;\n for (let item of _data[\"competitionRequests\"])\n this.competitionRequests!.push(CompetitionRequest.fromJS(item));\n }\n this.commissioner = _data[\"commissioner\"] ? Commissioner.fromJS(_data[\"commissioner\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Person {\n data = typeof data === 'object' ? data : {};\n let result = new Person();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"personHonorificId\"] = this.personHonorificId;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"languageId\"] = this.languageId;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"countryId\"] = this.countryId;\n data[\"vatNumber\"] = this.vatNumber;\n data[\"bannedFrom\"] = this.bannedFrom ? this.bannedFrom.toISOString() : undefined;\n data[\"bannedTo\"] = this.bannedTo ? this.bannedTo.toISOString() : undefined;\n data[\"isBadPayer\"] = this.isBadPayer;\n data[\"receiveNewsletterFrom\"] = this.receiveNewsletterFrom ? this.receiveNewsletterFrom.toISOString() : undefined;\n data[\"receiveNewsletterTo\"] = this.receiveNewsletterTo ? this.receiveNewsletterTo.toISOString() : undefined;\n data[\"as400ContactNumber\"] = this.as400ContactNumber;\n data[\"remark\"] = this.remark;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"bcIdentifier\"] = this.bcIdentifier;\n data[\"societyName\"] = this.societyName;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"parentPersonId\"] = this.parentPersonId;\n data[\"computedName\"] = this.computedName;\n data[\"isKnownPerson\"] = this.isKnownPerson;\n data[\"personHonorific\"] = this.personHonorific ? this.personHonorific.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"breeder\"] = this.breeder ? this.breeder.toJSON() : undefined;\n data[\"parentPerson\"] = this.parentPerson ? this.parentPerson.toJSON() : undefined;\n if (Array.isArray(this.webUsers)) {\n data[\"webUsers\"] = [];\n for (let item of this.webUsers)\n data[\"webUsers\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogBroodRequestTransientOwners)) {\n data[\"dogBroodRequestTransientOwners\"] = [];\n for (let item of this.dogBroodRequestTransientOwners)\n data[\"dogBroodRequestTransientOwners\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientPedigreeRequestOwners)) {\n data[\"transientPedigreeRequestOwners\"] = [];\n for (let item of this.transientPedigreeRequestOwners)\n data[\"transientPedigreeRequestOwners\"].push(item.toJSON());\n }\n if (Array.isArray(this.personActions)) {\n data[\"personActions\"] = [];\n for (let item of this.personActions)\n data[\"personActions\"].push(item.toJSON());\n }\n if (Array.isArray(this.veterinarians)) {\n data[\"veterinarians\"] = [];\n for (let item of this.veterinarians)\n data[\"veterinarians\"].push(item.toJSON());\n }\n if (Array.isArray(this.chartSignaturesHistories)) {\n data[\"chartSignaturesHistories\"] = [];\n for (let item of this.chartSignaturesHistories)\n data[\"chartSignaturesHistories\"].push(item.toJSON());\n }\n if (Array.isArray(this.judges)) {\n data[\"judges\"] = [];\n for (let item of this.judges)\n data[\"judges\"].push(item.toJSON());\n }\n if (Array.isArray(this.members)) {\n data[\"members\"] = [];\n for (let item of this.members)\n data[\"members\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsOwnerships)) {\n data[\"dogsOwnerships\"] = [];\n for (let item of this.dogsOwnerships)\n data[\"dogsOwnerships\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelsOwnerships)) {\n data[\"kennelsOwnerships\"] = [];\n for (let item of this.kennelsOwnerships)\n data[\"kennelsOwnerships\"].push(item.toJSON());\n }\n if (Array.isArray(this.parentPeople)) {\n data[\"parentPeople\"] = [];\n for (let item of this.parentPeople)\n data[\"parentPeople\"].push(item.toJSON());\n }\n if (Array.isArray(this.requests)) {\n data[\"requests\"] = [];\n for (let item of this.requests)\n data[\"requests\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubsContacts)) {\n data[\"clubsContacts\"] = [];\n for (let item of this.clubsContacts)\n data[\"clubsContacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsOwnershipsTransients)) {\n data[\"dogsOwnershipsTransients\"] = [];\n for (let item of this.dogsOwnershipsTransients)\n data[\"dogsOwnershipsTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.importRequestTransientOwnerships)) {\n data[\"importRequestTransientOwnerships\"] = [];\n for (let item of this.importRequestTransientOwnerships)\n data[\"importRequestTransientOwnerships\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTempOwnershipChangeRequests)) {\n data[\"dogTempOwnershipChangeRequests\"] = [];\n for (let item of this.dogTempOwnershipChangeRequests)\n data[\"dogTempOwnershipChangeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientNewKennelOwners)) {\n data[\"transientNewKennelOwners\"] = [];\n for (let item of this.transientNewKennelOwners)\n data[\"transientNewKennelOwners\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientKennelImportOwners)) {\n data[\"transientKennelImportOwners\"] = [];\n for (let item of this.transientKennelImportOwners)\n data[\"transientKennelImportOwners\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientOwnersKennelOwnershipChanges)) {\n data[\"transientOwnersKennelOwnershipChanges\"] = [];\n for (let item of this.transientOwnersKennelOwnershipChanges)\n data[\"transientOwnersKennelOwnershipChanges\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionRequests)) {\n data[\"competitionRequests\"] = [];\n for (let item of this.competitionRequests)\n data[\"competitionRequests\"].push(item.toJSON());\n }\n data[\"commissioner\"] = this.commissioner ? this.commissioner.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IPerson {\n personId?: number;\n personHonorificId?: number | undefined;\n deathDate?: Date | undefined;\n birthDate?: Date | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n languageId?: number;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n vatNumber?: string | undefined;\n bannedFrom?: Date | undefined;\n bannedTo?: Date | undefined;\n isBadPayer?: boolean;\n receiveNewsletterFrom?: Date | undefined;\n receiveNewsletterTo?: Date | undefined;\n as400ContactNumber?: number | undefined;\n remark?: string | undefined;\n sharepointUri?: string | undefined;\n bcIdentifier?: string | undefined;\n societyName?: string | undefined;\n cegekaId?: string | undefined;\n parentPersonId?: number | undefined;\n computedName?: string | undefined;\n isKnownPerson?: boolean;\n personHonorific?: PersonHonorific | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n breeder?: Breeder | undefined;\n parentPerson?: Person | undefined;\n webUsers?: WebUser[] | undefined;\n dogBroodRequestTransientOwners?: DogBroodRequestTransientOwner[] | undefined;\n transientPedigreeRequestOwners?: TransientPedigreeRequestOwner[] | undefined;\n personActions?: PersonAction[] | undefined;\n veterinarians?: Veterinary[] | undefined;\n chartSignaturesHistories?: ChartSignaturesHistory[] | undefined;\n judges?: Judge[] | undefined;\n members?: Member[] | undefined;\n dogsOwnerships?: DogOwnership[] | undefined;\n kennelsOwnerships?: KennelOwnership[] | undefined;\n parentPeople?: Person[] | undefined;\n requests?: Request[] | undefined;\n clubsContacts?: ClubContact[] | undefined;\n dogsOwnershipsTransients?: DogOwnershipTransient[] | undefined;\n importRequestTransientOwnerships?: ImportRequestTransientOwnership[] | undefined;\n dogTempOwnershipChangeRequests?: DogTempOwnershipChangeRequest[] | undefined;\n transientNewKennelOwners?: TransientNewKennelOwner[] | undefined;\n transientKennelImportOwners?: TransientKennelImportOwner[] | undefined;\n transientOwnersKennelOwnershipChanges?: TransientOwnersKennelOwnershipChange[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n commissioner?: Commissioner | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class PersonHonorific implements IPersonHonorific {\n personHonorificId?: number;\n code?: EPersonHonorifics;\n people?: Person[] | undefined;\n personHonorificTranslations?: PersonHonorificTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IPersonHonorific) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personHonorificId = _data[\"personHonorificId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"people\"])) {\n this.people = [] as any;\n for (let item of _data[\"people\"])\n this.people!.push(Person.fromJS(item));\n }\n if (Array.isArray(_data[\"personHonorificTranslations\"])) {\n this.personHonorificTranslations = [] as any;\n for (let item of _data[\"personHonorificTranslations\"])\n this.personHonorificTranslations!.push(PersonHonorificTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): PersonHonorific {\n data = typeof data === 'object' ? data : {};\n let result = new PersonHonorific();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personHonorificId\"] = this.personHonorificId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.people)) {\n data[\"people\"] = [];\n for (let item of this.people)\n data[\"people\"].push(item.toJSON());\n }\n if (Array.isArray(this.personHonorificTranslations)) {\n data[\"personHonorificTranslations\"] = [];\n for (let item of this.personHonorificTranslations)\n data[\"personHonorificTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IPersonHonorific {\n personHonorificId?: number;\n code?: EPersonHonorifics;\n people?: Person[] | undefined;\n personHonorificTranslations?: PersonHonorificTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EPersonHonorifics {\n Mr = \"Mr\",\n Mrs = \"Mrs\",\n}\n\nexport class PersonHonorificTranslation implements IPersonHonorificTranslation {\n personHonorificTranslationId?: number;\n personHonorificId?: number;\n languageId?: number;\n text?: string | undefined;\n personHonorific?: PersonHonorific | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IPersonHonorificTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personHonorificTranslationId = _data[\"personHonorificTranslationId\"];\n this.personHonorificId = _data[\"personHonorificId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.personHonorific = _data[\"personHonorific\"] ? PersonHonorific.fromJS(_data[\"personHonorific\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): PersonHonorificTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new PersonHonorificTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personHonorificTranslationId\"] = this.personHonorificTranslationId;\n data[\"personHonorificId\"] = this.personHonorificId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"personHonorific\"] = this.personHonorific ? this.personHonorific.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IPersonHonorificTranslation {\n personHonorificTranslationId?: number;\n personHonorificId?: number;\n languageId?: number;\n text?: string | undefined;\n personHonorific?: PersonHonorific | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Language implements ILanguage {\n dysplasiaTypeTranslations?: DysplasiaTypeTranslation[] | undefined;\n commissionerSpokenLanguages?: CommissionerSpokenLanguage[] | undefined;\n languageId?: number;\n languageCode?: string | undefined;\n bcLanguageCode?: string | undefined;\n orderIndex?: number | undefined;\n hasTranslation?: boolean;\n countryTranslations?: CountryTranslation[] | undefined;\n countryLanguages?: CountryLanguage[] | undefined;\n dogActionsTranslations?: DogActionTranslation[] | undefined;\n personActionsTranslations?: PersonActionTranslation[] | undefined;\n languageTranslations?: LanguageTranslation[] | undefined;\n labStatusTranslations?: LabStatusTranslation[] | undefined;\n healthValueTypeTranslations?: HealthValueTypeTranslation[] | undefined;\n documentContents?: DocumentContent[] | undefined;\n translatedLanguageTranslations?: LanguageTranslation[] | undefined;\n competitionJudges?: CompetitionJudge[] | undefined;\n users?: User[] | undefined;\n translations?: Translation[] | undefined;\n clubRoleTranslations?: ClubRoleTranslation[] | undefined;\n titleTypeTranslations?: TitleTypeTranslation[] | undefined;\n userDysplasiaStatusTranslations?: UserDysplasiaStatusTranslation[] | undefined;\n neededConditionTranslations?: NeededConditionTranslation[] | undefined;\n neededVerificationsTranslation?: NeededVerificationTranslation[] | undefined;\n judgeSpokenLanguages?: JudgeSpokenLanguage[] | undefined;\n mailContents?: MailContent[] | undefined;\n departmentTranslations?: DepartmentTranslation[] | undefined;\n volunteerProfileTranslations?: VolunteerProfileTranslation[] | undefined;\n elementActionTranslations?: ElementActionTranslation[] | undefined;\n requestActionTranslations?: RequestActionTranslation[] | undefined;\n labStatusDescriptionTranslations?: LabStatusDescriptionTranslation[] | undefined;\n mailTemplateDescriptions?: MailTemplateDescriptionsTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ILanguage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"dysplasiaTypeTranslations\"])) {\n this.dysplasiaTypeTranslations = [] as any;\n for (let item of _data[\"dysplasiaTypeTranslations\"])\n this.dysplasiaTypeTranslations!.push(DysplasiaTypeTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"commissionerSpokenLanguages\"])) {\n this.commissionerSpokenLanguages = [] as any;\n for (let item of _data[\"commissionerSpokenLanguages\"])\n this.commissionerSpokenLanguages!.push(CommissionerSpokenLanguage.fromJS(item));\n }\n this.languageId = _data[\"languageId\"];\n this.languageCode = _data[\"languageCode\"];\n this.bcLanguageCode = _data[\"bcLanguageCode\"];\n this.orderIndex = _data[\"orderIndex\"];\n this.hasTranslation = _data[\"hasTranslation\"];\n if (Array.isArray(_data[\"countryTranslations\"])) {\n this.countryTranslations = [] as any;\n for (let item of _data[\"countryTranslations\"])\n this.countryTranslations!.push(CountryTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"countryLanguages\"])) {\n this.countryLanguages = [] as any;\n for (let item of _data[\"countryLanguages\"])\n this.countryLanguages!.push(CountryLanguage.fromJS(item));\n }\n if (Array.isArray(_data[\"dogActionsTranslations\"])) {\n this.dogActionsTranslations = [] as any;\n for (let item of _data[\"dogActionsTranslations\"])\n this.dogActionsTranslations!.push(DogActionTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"personActionsTranslations\"])) {\n this.personActionsTranslations = [] as any;\n for (let item of _data[\"personActionsTranslations\"])\n this.personActionsTranslations!.push(PersonActionTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"languageTranslations\"])) {\n this.languageTranslations = [] as any;\n for (let item of _data[\"languageTranslations\"])\n this.languageTranslations!.push(LanguageTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"labStatusTranslations\"])) {\n this.labStatusTranslations = [] as any;\n for (let item of _data[\"labStatusTranslations\"])\n this.labStatusTranslations!.push(LabStatusTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"healthValueTypeTranslations\"])) {\n this.healthValueTypeTranslations = [] as any;\n for (let item of _data[\"healthValueTypeTranslations\"])\n this.healthValueTypeTranslations!.push(HealthValueTypeTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"documentContents\"])) {\n this.documentContents = [] as any;\n for (let item of _data[\"documentContents\"])\n this.documentContents!.push(DocumentContent.fromJS(item));\n }\n if (Array.isArray(_data[\"translatedLanguageTranslations\"])) {\n this.translatedLanguageTranslations = [] as any;\n for (let item of _data[\"translatedLanguageTranslations\"])\n this.translatedLanguageTranslations!.push(LanguageTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionJudges\"])) {\n this.competitionJudges = [] as any;\n for (let item of _data[\"competitionJudges\"])\n this.competitionJudges!.push(CompetitionJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"users\"])) {\n this.users = [] as any;\n for (let item of _data[\"users\"])\n this.users!.push(User.fromJS(item));\n }\n if (Array.isArray(_data[\"translations\"])) {\n this.translations = [] as any;\n for (let item of _data[\"translations\"])\n this.translations!.push(Translation.fromJS(item));\n }\n if (Array.isArray(_data[\"clubRoleTranslations\"])) {\n this.clubRoleTranslations = [] as any;\n for (let item of _data[\"clubRoleTranslations\"])\n this.clubRoleTranslations!.push(ClubRoleTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"titleTypeTranslations\"])) {\n this.titleTypeTranslations = [] as any;\n for (let item of _data[\"titleTypeTranslations\"])\n this.titleTypeTranslations!.push(TitleTypeTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"userDysplasiaStatusTranslations\"])) {\n this.userDysplasiaStatusTranslations = [] as any;\n for (let item of _data[\"userDysplasiaStatusTranslations\"])\n this.userDysplasiaStatusTranslations!.push(UserDysplasiaStatusTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"neededConditionTranslations\"])) {\n this.neededConditionTranslations = [] as any;\n for (let item of _data[\"neededConditionTranslations\"])\n this.neededConditionTranslations!.push(NeededConditionTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"neededVerificationsTranslation\"])) {\n this.neededVerificationsTranslation = [] as any;\n for (let item of _data[\"neededVerificationsTranslation\"])\n this.neededVerificationsTranslation!.push(NeededVerificationTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"judgeSpokenLanguages\"])) {\n this.judgeSpokenLanguages = [] as any;\n for (let item of _data[\"judgeSpokenLanguages\"])\n this.judgeSpokenLanguages!.push(JudgeSpokenLanguage.fromJS(item));\n }\n if (Array.isArray(_data[\"mailContents\"])) {\n this.mailContents = [] as any;\n for (let item of _data[\"mailContents\"])\n this.mailContents!.push(MailContent.fromJS(item));\n }\n if (Array.isArray(_data[\"departmentTranslations\"])) {\n this.departmentTranslations = [] as any;\n for (let item of _data[\"departmentTranslations\"])\n this.departmentTranslations!.push(DepartmentTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"volunteerProfileTranslations\"])) {\n this.volunteerProfileTranslations = [] as any;\n for (let item of _data[\"volunteerProfileTranslations\"])\n this.volunteerProfileTranslations!.push(VolunteerProfileTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"elementActionTranslations\"])) {\n this.elementActionTranslations = [] as any;\n for (let item of _data[\"elementActionTranslations\"])\n this.elementActionTranslations!.push(ElementActionTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"requestActionTranslations\"])) {\n this.requestActionTranslations = [] as any;\n for (let item of _data[\"requestActionTranslations\"])\n this.requestActionTranslations!.push(RequestActionTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"labStatusDescriptionTranslations\"])) {\n this.labStatusDescriptionTranslations = [] as any;\n for (let item of _data[\"labStatusDescriptionTranslations\"])\n this.labStatusDescriptionTranslations!.push(LabStatusDescriptionTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"mailTemplateDescriptions\"])) {\n this.mailTemplateDescriptions = [] as any;\n for (let item of _data[\"mailTemplateDescriptions\"])\n this.mailTemplateDescriptions!.push(MailTemplateDescriptionsTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Language {\n data = typeof data === 'object' ? data : {};\n let result = new Language();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.dysplasiaTypeTranslations)) {\n data[\"dysplasiaTypeTranslations\"] = [];\n for (let item of this.dysplasiaTypeTranslations)\n data[\"dysplasiaTypeTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.commissionerSpokenLanguages)) {\n data[\"commissionerSpokenLanguages\"] = [];\n for (let item of this.commissionerSpokenLanguages)\n data[\"commissionerSpokenLanguages\"].push(item.toJSON());\n }\n data[\"languageId\"] = this.languageId;\n data[\"languageCode\"] = this.languageCode;\n data[\"bcLanguageCode\"] = this.bcLanguageCode;\n data[\"orderIndex\"] = this.orderIndex;\n data[\"hasTranslation\"] = this.hasTranslation;\n if (Array.isArray(this.countryTranslations)) {\n data[\"countryTranslations\"] = [];\n for (let item of this.countryTranslations)\n data[\"countryTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.countryLanguages)) {\n data[\"countryLanguages\"] = [];\n for (let item of this.countryLanguages)\n data[\"countryLanguages\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogActionsTranslations)) {\n data[\"dogActionsTranslations\"] = [];\n for (let item of this.dogActionsTranslations)\n data[\"dogActionsTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.personActionsTranslations)) {\n data[\"personActionsTranslations\"] = [];\n for (let item of this.personActionsTranslations)\n data[\"personActionsTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.languageTranslations)) {\n data[\"languageTranslations\"] = [];\n for (let item of this.languageTranslations)\n data[\"languageTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.labStatusTranslations)) {\n data[\"labStatusTranslations\"] = [];\n for (let item of this.labStatusTranslations)\n data[\"labStatusTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthValueTypeTranslations)) {\n data[\"healthValueTypeTranslations\"] = [];\n for (let item of this.healthValueTypeTranslations)\n data[\"healthValueTypeTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.documentContents)) {\n data[\"documentContents\"] = [];\n for (let item of this.documentContents)\n data[\"documentContents\"].push(item.toJSON());\n }\n if (Array.isArray(this.translatedLanguageTranslations)) {\n data[\"translatedLanguageTranslations\"] = [];\n for (let item of this.translatedLanguageTranslations)\n data[\"translatedLanguageTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionJudges)) {\n data[\"competitionJudges\"] = [];\n for (let item of this.competitionJudges)\n data[\"competitionJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.users)) {\n data[\"users\"] = [];\n for (let item of this.users)\n data[\"users\"].push(item.toJSON());\n }\n if (Array.isArray(this.translations)) {\n data[\"translations\"] = [];\n for (let item of this.translations)\n data[\"translations\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubRoleTranslations)) {\n data[\"clubRoleTranslations\"] = [];\n for (let item of this.clubRoleTranslations)\n data[\"clubRoleTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.titleTypeTranslations)) {\n data[\"titleTypeTranslations\"] = [];\n for (let item of this.titleTypeTranslations)\n data[\"titleTypeTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.userDysplasiaStatusTranslations)) {\n data[\"userDysplasiaStatusTranslations\"] = [];\n for (let item of this.userDysplasiaStatusTranslations)\n data[\"userDysplasiaStatusTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.neededConditionTranslations)) {\n data[\"neededConditionTranslations\"] = [];\n for (let item of this.neededConditionTranslations)\n data[\"neededConditionTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.neededVerificationsTranslation)) {\n data[\"neededVerificationsTranslation\"] = [];\n for (let item of this.neededVerificationsTranslation)\n data[\"neededVerificationsTranslation\"].push(item.toJSON());\n }\n if (Array.isArray(this.judgeSpokenLanguages)) {\n data[\"judgeSpokenLanguages\"] = [];\n for (let item of this.judgeSpokenLanguages)\n data[\"judgeSpokenLanguages\"].push(item.toJSON());\n }\n if (Array.isArray(this.mailContents)) {\n data[\"mailContents\"] = [];\n for (let item of this.mailContents)\n data[\"mailContents\"].push(item.toJSON());\n }\n if (Array.isArray(this.departmentTranslations)) {\n data[\"departmentTranslations\"] = [];\n for (let item of this.departmentTranslations)\n data[\"departmentTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.volunteerProfileTranslations)) {\n data[\"volunteerProfileTranslations\"] = [];\n for (let item of this.volunteerProfileTranslations)\n data[\"volunteerProfileTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.elementActionTranslations)) {\n data[\"elementActionTranslations\"] = [];\n for (let item of this.elementActionTranslations)\n data[\"elementActionTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.requestActionTranslations)) {\n data[\"requestActionTranslations\"] = [];\n for (let item of this.requestActionTranslations)\n data[\"requestActionTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.labStatusDescriptionTranslations)) {\n data[\"labStatusDescriptionTranslations\"] = [];\n for (let item of this.labStatusDescriptionTranslations)\n data[\"labStatusDescriptionTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.mailTemplateDescriptions)) {\n data[\"mailTemplateDescriptions\"] = [];\n for (let item of this.mailTemplateDescriptions)\n data[\"mailTemplateDescriptions\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ILanguage {\n dysplasiaTypeTranslations?: DysplasiaTypeTranslation[] | undefined;\n commissionerSpokenLanguages?: CommissionerSpokenLanguage[] | undefined;\n languageId?: number;\n languageCode?: string | undefined;\n bcLanguageCode?: string | undefined;\n orderIndex?: number | undefined;\n hasTranslation?: boolean;\n countryTranslations?: CountryTranslation[] | undefined;\n countryLanguages?: CountryLanguage[] | undefined;\n dogActionsTranslations?: DogActionTranslation[] | undefined;\n personActionsTranslations?: PersonActionTranslation[] | undefined;\n languageTranslations?: LanguageTranslation[] | undefined;\n labStatusTranslations?: LabStatusTranslation[] | undefined;\n healthValueTypeTranslations?: HealthValueTypeTranslation[] | undefined;\n documentContents?: DocumentContent[] | undefined;\n translatedLanguageTranslations?: LanguageTranslation[] | undefined;\n competitionJudges?: CompetitionJudge[] | undefined;\n users?: User[] | undefined;\n translations?: Translation[] | undefined;\n clubRoleTranslations?: ClubRoleTranslation[] | undefined;\n titleTypeTranslations?: TitleTypeTranslation[] | undefined;\n userDysplasiaStatusTranslations?: UserDysplasiaStatusTranslation[] | undefined;\n neededConditionTranslations?: NeededConditionTranslation[] | undefined;\n neededVerificationsTranslation?: NeededVerificationTranslation[] | undefined;\n judgeSpokenLanguages?: JudgeSpokenLanguage[] | undefined;\n mailContents?: MailContent[] | undefined;\n departmentTranslations?: DepartmentTranslation[] | undefined;\n volunteerProfileTranslations?: VolunteerProfileTranslation[] | undefined;\n elementActionTranslations?: ElementActionTranslation[] | undefined;\n requestActionTranslations?: RequestActionTranslation[] | undefined;\n labStatusDescriptionTranslations?: LabStatusDescriptionTranslation[] | undefined;\n mailTemplateDescriptions?: MailTemplateDescriptionsTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DysplasiaTypeTranslation implements IDysplasiaTypeTranslation {\n dysplasiaTypeTranslationId?: number;\n dysplasiaTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n dysplasiaType?: DysplasiaType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDysplasiaTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dysplasiaTypeTranslationId = _data[\"dysplasiaTypeTranslationId\"];\n this.dysplasiaTypeId = _data[\"dysplasiaTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.dysplasiaType = _data[\"dysplasiaType\"] ? DysplasiaType.fromJS(_data[\"dysplasiaType\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DysplasiaTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dysplasiaTypeTranslationId\"] = this.dysplasiaTypeTranslationId;\n data[\"dysplasiaTypeId\"] = this.dysplasiaTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"dysplasiaType\"] = this.dysplasiaType ? this.dysplasiaType.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDysplasiaTypeTranslation {\n dysplasiaTypeTranslationId?: number;\n dysplasiaTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n dysplasiaType?: DysplasiaType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DysplasiaType implements IDysplasiaType {\n dysplasiaTypeTranslations?: DysplasiaTypeTranslation[] | undefined;\n dysplasiaTypeId?: number;\n code?: EDysplasiaType;\n orderIndex?: number | undefined;\n useInRequests?: boolean;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDysplasiaType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"dysplasiaTypeTranslations\"])) {\n this.dysplasiaTypeTranslations = [] as any;\n for (let item of _data[\"dysplasiaTypeTranslations\"])\n this.dysplasiaTypeTranslations!.push(DysplasiaTypeTranslation.fromJS(item));\n }\n this.dysplasiaTypeId = _data[\"dysplasiaTypeId\"];\n this.code = _data[\"code\"];\n this.orderIndex = _data[\"orderIndex\"];\n this.useInRequests = _data[\"useInRequests\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DysplasiaType {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.dysplasiaTypeTranslations)) {\n data[\"dysplasiaTypeTranslations\"] = [];\n for (let item of this.dysplasiaTypeTranslations)\n data[\"dysplasiaTypeTranslations\"].push(item.toJSON());\n }\n data[\"dysplasiaTypeId\"] = this.dysplasiaTypeId;\n data[\"code\"] = this.code;\n data[\"orderIndex\"] = this.orderIndex;\n data[\"useInRequests\"] = this.useInRequests;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDysplasiaType {\n dysplasiaTypeTranslations?: DysplasiaTypeTranslation[] | undefined;\n dysplasiaTypeId?: number;\n code?: EDysplasiaType;\n orderIndex?: number | undefined;\n useInRequests?: boolean;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EDysplasiaType {\n HD = \"HD\",\n SD = \"SD\",\n ED = \"ED\",\n Norberg = \"Norberg\",\n BD = \"BD\",\n HL = \"HL\",\n PL = \"PL\",\n}\n\nexport class CommissionerSpokenLanguage implements ICommissionerSpokenLanguage {\n commissionerSpokenLanguageId?: number;\n languageId?: number;\n commissionerId?: number;\n language?: Language | undefined;\n commissioner?: Commissioner | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICommissionerSpokenLanguage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.commissionerSpokenLanguageId = _data[\"commissionerSpokenLanguageId\"];\n this.languageId = _data[\"languageId\"];\n this.commissionerId = _data[\"commissionerId\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.commissioner = _data[\"commissioner\"] ? Commissioner.fromJS(_data[\"commissioner\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CommissionerSpokenLanguage {\n data = typeof data === 'object' ? data : {};\n let result = new CommissionerSpokenLanguage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"commissionerSpokenLanguageId\"] = this.commissionerSpokenLanguageId;\n data[\"languageId\"] = this.languageId;\n data[\"commissionerId\"] = this.commissionerId;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"commissioner\"] = this.commissioner ? this.commissioner.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICommissionerSpokenLanguage {\n commissionerSpokenLanguageId?: number;\n languageId?: number;\n commissionerId?: number;\n language?: Language | undefined;\n commissioner?: Commissioner | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Commissioner implements ICommissioner {\n commissionerId?: number;\n personId?: number;\n commissionerExperience?: ECommissionerExperience;\n person?: Person | undefined;\n commissionerSpokenLanguages?: CommissionerSpokenLanguage[] | undefined;\n competitionCommissioners?: CompetitionCommissioner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICommissioner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.commissionerId = _data[\"commissionerId\"];\n this.personId = _data[\"personId\"];\n this.commissionerExperience = _data[\"commissionerExperience\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n if (Array.isArray(_data[\"commissionerSpokenLanguages\"])) {\n this.commissionerSpokenLanguages = [] as any;\n for (let item of _data[\"commissionerSpokenLanguages\"])\n this.commissionerSpokenLanguages!.push(CommissionerSpokenLanguage.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionCommissioners\"])) {\n this.competitionCommissioners = [] as any;\n for (let item of _data[\"competitionCommissioners\"])\n this.competitionCommissioners!.push(CompetitionCommissioner.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Commissioner {\n data = typeof data === 'object' ? data : {};\n let result = new Commissioner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"commissionerId\"] = this.commissionerId;\n data[\"personId\"] = this.personId;\n data[\"commissionerExperience\"] = this.commissionerExperience;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n if (Array.isArray(this.commissionerSpokenLanguages)) {\n data[\"commissionerSpokenLanguages\"] = [];\n for (let item of this.commissionerSpokenLanguages)\n data[\"commissionerSpokenLanguages\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionCommissioners)) {\n data[\"competitionCommissioners\"] = [];\n for (let item of this.competitionCommissioners)\n data[\"competitionCommissioners\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICommissioner {\n commissionerId?: number;\n personId?: number;\n commissionerExperience?: ECommissionerExperience;\n person?: Person | undefined;\n commissionerSpokenLanguages?: CommissionerSpokenLanguage[] | undefined;\n competitionCommissioners?: CompetitionCommissioner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum ECommissionerExperience {\n None = \"None\",\n Small = \"Small\",\n ALot = \"ALot\",\n}\n\nexport class CompetitionCommissioner implements ICompetitionCommissioner {\n competitionCommissionerId?: number;\n commissionerId?: number;\n competitionRequestId?: number;\n accountNumber?: string | undefined;\n otherLanguage?: string | undefined;\n communicationLanguageId?: number;\n carPooling?: boolean;\n carPoolingName?: string | undefined;\n hasAccepted?: boolean;\n isSelected?: boolean;\n competitionCommissionerDaysRemark?: string | undefined;\n competitionCommissionerForbiddenBreeds?: CompetitionCommissionerForbiddenBreed[] | undefined;\n competitionCommissionerCompetitionDays?: CompetitionCommissionerCompetitionDay[] | undefined;\n ringDivisionCompetitionCommissioners?: RingDivisionCompetitionCommissioner[] | undefined;\n communicationLanguage?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n commissioner?: Commissioner | undefined;\n competitionRequest?: CompetitionRequest | undefined;\n\n constructor(data?: ICompetitionCommissioner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionCommissionerId = _data[\"competitionCommissionerId\"];\n this.commissionerId = _data[\"commissionerId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.accountNumber = _data[\"accountNumber\"];\n this.otherLanguage = _data[\"otherLanguage\"];\n this.communicationLanguageId = _data[\"communicationLanguageId\"];\n this.carPooling = _data[\"carPooling\"];\n this.carPoolingName = _data[\"carPoolingName\"];\n this.hasAccepted = _data[\"hasAccepted\"];\n this.isSelected = _data[\"isSelected\"];\n this.competitionCommissionerDaysRemark = _data[\"competitionCommissionerDaysRemark\"];\n if (Array.isArray(_data[\"competitionCommissionerForbiddenBreeds\"])) {\n this.competitionCommissionerForbiddenBreeds = [] as any;\n for (let item of _data[\"competitionCommissionerForbiddenBreeds\"])\n this.competitionCommissionerForbiddenBreeds!.push(CompetitionCommissionerForbiddenBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionCommissionerCompetitionDays\"])) {\n this.competitionCommissionerCompetitionDays = [] as any;\n for (let item of _data[\"competitionCommissionerCompetitionDays\"])\n this.competitionCommissionerCompetitionDays!.push(CompetitionCommissionerCompetitionDay.fromJS(item));\n }\n if (Array.isArray(_data[\"ringDivisionCompetitionCommissioners\"])) {\n this.ringDivisionCompetitionCommissioners = [] as any;\n for (let item of _data[\"ringDivisionCompetitionCommissioners\"])\n this.ringDivisionCompetitionCommissioners!.push(RingDivisionCompetitionCommissioner.fromJS(item));\n }\n this.communicationLanguage = _data[\"communicationLanguage\"] ? Language.fromJS(_data[\"communicationLanguage\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.commissioner = _data[\"commissioner\"] ? Commissioner.fromJS(_data[\"commissioner\"]) : undefined;\n this.competitionRequest = _data[\"competitionRequest\"] ? CompetitionRequest.fromJS(_data[\"competitionRequest\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CompetitionCommissioner {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionCommissioner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionCommissionerId\"] = this.competitionCommissionerId;\n data[\"commissionerId\"] = this.commissionerId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"accountNumber\"] = this.accountNumber;\n data[\"otherLanguage\"] = this.otherLanguage;\n data[\"communicationLanguageId\"] = this.communicationLanguageId;\n data[\"carPooling\"] = this.carPooling;\n data[\"carPoolingName\"] = this.carPoolingName;\n data[\"hasAccepted\"] = this.hasAccepted;\n data[\"isSelected\"] = this.isSelected;\n data[\"competitionCommissionerDaysRemark\"] = this.competitionCommissionerDaysRemark;\n if (Array.isArray(this.competitionCommissionerForbiddenBreeds)) {\n data[\"competitionCommissionerForbiddenBreeds\"] = [];\n for (let item of this.competitionCommissionerForbiddenBreeds)\n data[\"competitionCommissionerForbiddenBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionCommissionerCompetitionDays)) {\n data[\"competitionCommissionerCompetitionDays\"] = [];\n for (let item of this.competitionCommissionerCompetitionDays)\n data[\"competitionCommissionerCompetitionDays\"].push(item.toJSON());\n }\n if (Array.isArray(this.ringDivisionCompetitionCommissioners)) {\n data[\"ringDivisionCompetitionCommissioners\"] = [];\n for (let item of this.ringDivisionCompetitionCommissioners)\n data[\"ringDivisionCompetitionCommissioners\"].push(item.toJSON());\n }\n data[\"communicationLanguage\"] = this.communicationLanguage ? this.communicationLanguage.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"commissioner\"] = this.commissioner ? this.commissioner.toJSON() : undefined;\n data[\"competitionRequest\"] = this.competitionRequest ? this.competitionRequest.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICompetitionCommissioner {\n competitionCommissionerId?: number;\n commissionerId?: number;\n competitionRequestId?: number;\n accountNumber?: string | undefined;\n otherLanguage?: string | undefined;\n communicationLanguageId?: number;\n carPooling?: boolean;\n carPoolingName?: string | undefined;\n hasAccepted?: boolean;\n isSelected?: boolean;\n competitionCommissionerDaysRemark?: string | undefined;\n competitionCommissionerForbiddenBreeds?: CompetitionCommissionerForbiddenBreed[] | undefined;\n competitionCommissionerCompetitionDays?: CompetitionCommissionerCompetitionDay[] | undefined;\n ringDivisionCompetitionCommissioners?: RingDivisionCompetitionCommissioner[] | undefined;\n communicationLanguage?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n commissioner?: Commissioner | undefined;\n competitionRequest?: CompetitionRequest | undefined;\n}\n\nexport class CompetitionCommissionerForbiddenBreed implements ICompetitionCommissionerForbiddenBreed {\n competitionCommissionerForbiddenBreedId?: number;\n breedId?: number;\n competitionCommissionerId?: number;\n breed?: Breed | undefined;\n competitionCommissioner?: CompetitionCommissioner | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICompetitionCommissionerForbiddenBreed) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionCommissionerForbiddenBreedId = _data[\"competitionCommissionerForbiddenBreedId\"];\n this.breedId = _data[\"breedId\"];\n this.competitionCommissionerId = _data[\"competitionCommissionerId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.competitionCommissioner = _data[\"competitionCommissioner\"] ? CompetitionCommissioner.fromJS(_data[\"competitionCommissioner\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CompetitionCommissionerForbiddenBreed {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionCommissionerForbiddenBreed();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionCommissionerForbiddenBreedId\"] = this.competitionCommissionerForbiddenBreedId;\n data[\"breedId\"] = this.breedId;\n data[\"competitionCommissionerId\"] = this.competitionCommissionerId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"competitionCommissioner\"] = this.competitionCommissioner ? this.competitionCommissioner.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICompetitionCommissionerForbiddenBreed {\n competitionCommissionerForbiddenBreedId?: number;\n breedId?: number;\n competitionCommissionerId?: number;\n breed?: Breed | undefined;\n competitionCommissioner?: CompetitionCommissioner | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Breed implements IBreed {\n breedId?: number;\n fciNumber?: number | undefined;\n knownAt?: Date | undefined;\n countryId?: number;\n breedGroupId?: number;\n subjectToWork?: boolean;\n agility?: EDifficulty | undefined;\n grooming?: EDifficulty | undefined;\n standardConfirmation?: boolean;\n shortenedTail?: boolean;\n sizeMin?: number | undefined;\n sizeMax?: number | undefined;\n weightMin?: number | undefined;\n weightMax?: number | undefined;\n varietyNumber?: number | undefined;\n remark?: string | undefined;\n breedNumber?: number;\n internshipDate?: Date | undefined;\n minDysplasiaAgeInMonths?: number;\n cegekaId?: string | undefined;\n userId?: number | undefined;\n officialName?: string | undefined;\n breeding?: boolean;\n user?: User | undefined;\n breedGroup?: BreedGroup | undefined;\n country?: Country | undefined;\n competitionBreeds?: CompetitionBreed[] | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n competitionCommissionerForbiddenBreeds?: CompetitionCommissionerForbiddenBreed[] | undefined;\n breedHealthPacks?: BreedHealthPack[] | undefined;\n breedJudgeTransients?: BreedJudgeTransient[] | undefined;\n clubsBreeds?: ClubBreed[] | undefined;\n breedsColors?: BreedColor[] | undefined;\n breedsWorkbookTypes?: BreedWorkbookType[] | undefined;\n dogs?: Dog[] | undefined;\n sourceBreeds?: BreedVariety[] | undefined;\n destinationBreeds?: BreedVariety[] | undefined;\n destinationExceptions?: BreedingException[] | undefined;\n sourceExceptions?: BreedingException[] | undefined;\n breedsJudges?: BreedJudge[] | undefined;\n breedTranslations?: BreedTranslation[] | undefined;\n kennelsBreeds?: KennelBreed[] | undefined;\n transientNewKennelBreeds?: TransientNewKennelBreed[] | undefined;\n transientKennelImportBreeds?: TransientKennelImportBreed[] | undefined;\n dogBroodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n ringDivisions?: RingDivision[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n sharepointUri?: string | undefined;\n\n constructor(data?: IBreed) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.knownAt = _data[\"knownAt\"] ? new Date(_data[\"knownAt\"].toString()) : undefined;\n this.countryId = _data[\"countryId\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.subjectToWork = _data[\"subjectToWork\"];\n this.agility = _data[\"agility\"];\n this.grooming = _data[\"grooming\"];\n this.standardConfirmation = _data[\"standardConfirmation\"];\n this.shortenedTail = _data[\"shortenedTail\"];\n this.sizeMin = _data[\"sizeMin\"];\n this.sizeMax = _data[\"sizeMax\"];\n this.weightMin = _data[\"weightMin\"];\n this.weightMax = _data[\"weightMax\"];\n this.varietyNumber = _data[\"varietyNumber\"];\n this.remark = _data[\"remark\"];\n this.breedNumber = _data[\"breedNumber\"];\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.minDysplasiaAgeInMonths = _data[\"minDysplasiaAgeInMonths\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.userId = _data[\"userId\"];\n this.officialName = _data[\"officialName\"];\n this.breeding = _data[\"breeding\"];\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\n this.breedGroup = _data[\"breedGroup\"] ? BreedGroup.fromJS(_data[\"breedGroup\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n if (Array.isArray(_data[\"competitionBreeds\"])) {\n this.competitionBreeds = [] as any;\n for (let item of _data[\"competitionBreeds\"])\n this.competitionBreeds!.push(CompetitionBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"expoBreedForJudges\"])) {\n this.expoBreedForJudges = [] as any;\n for (let item of _data[\"expoBreedForJudges\"])\n this.expoBreedForJudges!.push(ExpoBreedForJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionCommissionerForbiddenBreeds\"])) {\n this.competitionCommissionerForbiddenBreeds = [] as any;\n for (let item of _data[\"competitionCommissionerForbiddenBreeds\"])\n this.competitionCommissionerForbiddenBreeds!.push(CompetitionCommissionerForbiddenBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"breedHealthPacks\"])) {\n this.breedHealthPacks = [] as any;\n for (let item of _data[\"breedHealthPacks\"])\n this.breedHealthPacks!.push(BreedHealthPack.fromJS(item));\n }\n if (Array.isArray(_data[\"breedJudgeTransients\"])) {\n this.breedJudgeTransients = [] as any;\n for (let item of _data[\"breedJudgeTransients\"])\n this.breedJudgeTransients!.push(BreedJudgeTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"clubsBreeds\"])) {\n this.clubsBreeds = [] as any;\n for (let item of _data[\"clubsBreeds\"])\n this.clubsBreeds!.push(ClubBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"breedsColors\"])) {\n this.breedsColors = [] as any;\n for (let item of _data[\"breedsColors\"])\n this.breedsColors!.push(BreedColor.fromJS(item));\n }\n if (Array.isArray(_data[\"breedsWorkbookTypes\"])) {\n this.breedsWorkbookTypes = [] as any;\n for (let item of _data[\"breedsWorkbookTypes\"])\n this.breedsWorkbookTypes!.push(BreedWorkbookType.fromJS(item));\n }\n if (Array.isArray(_data[\"dogs\"])) {\n this.dogs = [] as any;\n for (let item of _data[\"dogs\"])\n this.dogs!.push(Dog.fromJS(item));\n }\n if (Array.isArray(_data[\"sourceBreeds\"])) {\n this.sourceBreeds = [] as any;\n for (let item of _data[\"sourceBreeds\"])\n this.sourceBreeds!.push(BreedVariety.fromJS(item));\n }\n if (Array.isArray(_data[\"destinationBreeds\"])) {\n this.destinationBreeds = [] as any;\n for (let item of _data[\"destinationBreeds\"])\n this.destinationBreeds!.push(BreedVariety.fromJS(item));\n }\n if (Array.isArray(_data[\"destinationExceptions\"])) {\n this.destinationExceptions = [] as any;\n for (let item of _data[\"destinationExceptions\"])\n this.destinationExceptions!.push(BreedingException.fromJS(item));\n }\n if (Array.isArray(_data[\"sourceExceptions\"])) {\n this.sourceExceptions = [] as any;\n for (let item of _data[\"sourceExceptions\"])\n this.sourceExceptions!.push(BreedingException.fromJS(item));\n }\n if (Array.isArray(_data[\"breedsJudges\"])) {\n this.breedsJudges = [] as any;\n for (let item of _data[\"breedsJudges\"])\n this.breedsJudges!.push(BreedJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"breedTranslations\"])) {\n this.breedTranslations = [] as any;\n for (let item of _data[\"breedTranslations\"])\n this.breedTranslations!.push(BreedTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelsBreeds\"])) {\n this.kennelsBreeds = [] as any;\n for (let item of _data[\"kennelsBreeds\"])\n this.kennelsBreeds!.push(KennelBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"transientNewKennelBreeds\"])) {\n this.transientNewKennelBreeds = [] as any;\n for (let item of _data[\"transientNewKennelBreeds\"])\n this.transientNewKennelBreeds!.push(TransientNewKennelBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"transientKennelImportBreeds\"])) {\n this.transientKennelImportBreeds = [] as any;\n for (let item of _data[\"transientKennelImportBreeds\"])\n this.transientKennelImportBreeds!.push(TransientKennelImportBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"dogBroodRequestsTransients\"])) {\n this.dogBroodRequestsTransients = [] as any;\n for (let item of _data[\"dogBroodRequestsTransients\"])\n this.dogBroodRequestsTransients!.push(DogBroodRequestsTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"ringDivisions\"])) {\n this.ringDivisions = [] as any;\n for (let item of _data[\"ringDivisions\"])\n this.ringDivisions!.push(RingDivision.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n }\n }\n\n static fromJS(data: any): Breed {\n data = typeof data === 'object' ? data : {};\n let result = new Breed();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"knownAt\"] = this.knownAt ? this.knownAt.toISOString() : undefined;\n data[\"countryId\"] = this.countryId;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"subjectToWork\"] = this.subjectToWork;\n data[\"agility\"] = this.agility;\n data[\"grooming\"] = this.grooming;\n data[\"standardConfirmation\"] = this.standardConfirmation;\n data[\"shortenedTail\"] = this.shortenedTail;\n data[\"sizeMin\"] = this.sizeMin;\n data[\"sizeMax\"] = this.sizeMax;\n data[\"weightMin\"] = this.weightMin;\n data[\"weightMax\"] = this.weightMax;\n data[\"varietyNumber\"] = this.varietyNumber;\n data[\"remark\"] = this.remark;\n data[\"breedNumber\"] = this.breedNumber;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"minDysplasiaAgeInMonths\"] = this.minDysplasiaAgeInMonths;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"userId\"] = this.userId;\n data[\"officialName\"] = this.officialName;\n data[\"breeding\"] = this.breeding;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"breedGroup\"] = this.breedGroup ? this.breedGroup.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n if (Array.isArray(this.competitionBreeds)) {\n data[\"competitionBreeds\"] = [];\n for (let item of this.competitionBreeds)\n data[\"competitionBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.expoBreedForJudges)) {\n data[\"expoBreedForJudges\"] = [];\n for (let item of this.expoBreedForJudges)\n data[\"expoBreedForJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionCommissionerForbiddenBreeds)) {\n data[\"competitionCommissionerForbiddenBreeds\"] = [];\n for (let item of this.competitionCommissionerForbiddenBreeds)\n data[\"competitionCommissionerForbiddenBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedHealthPacks)) {\n data[\"breedHealthPacks\"] = [];\n for (let item of this.breedHealthPacks)\n data[\"breedHealthPacks\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedJudgeTransients)) {\n data[\"breedJudgeTransients\"] = [];\n for (let item of this.breedJudgeTransients)\n data[\"breedJudgeTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubsBreeds)) {\n data[\"clubsBreeds\"] = [];\n for (let item of this.clubsBreeds)\n data[\"clubsBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedsColors)) {\n data[\"breedsColors\"] = [];\n for (let item of this.breedsColors)\n data[\"breedsColors\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedsWorkbookTypes)) {\n data[\"breedsWorkbookTypes\"] = [];\n for (let item of this.breedsWorkbookTypes)\n data[\"breedsWorkbookTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogs)) {\n data[\"dogs\"] = [];\n for (let item of this.dogs)\n data[\"dogs\"].push(item.toJSON());\n }\n if (Array.isArray(this.sourceBreeds)) {\n data[\"sourceBreeds\"] = [];\n for (let item of this.sourceBreeds)\n data[\"sourceBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.destinationBreeds)) {\n data[\"destinationBreeds\"] = [];\n for (let item of this.destinationBreeds)\n data[\"destinationBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.destinationExceptions)) {\n data[\"destinationExceptions\"] = [];\n for (let item of this.destinationExceptions)\n data[\"destinationExceptions\"].push(item.toJSON());\n }\n if (Array.isArray(this.sourceExceptions)) {\n data[\"sourceExceptions\"] = [];\n for (let item of this.sourceExceptions)\n data[\"sourceExceptions\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedsJudges)) {\n data[\"breedsJudges\"] = [];\n for (let item of this.breedsJudges)\n data[\"breedsJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedTranslations)) {\n data[\"breedTranslations\"] = [];\n for (let item of this.breedTranslations)\n data[\"breedTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelsBreeds)) {\n data[\"kennelsBreeds\"] = [];\n for (let item of this.kennelsBreeds)\n data[\"kennelsBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientNewKennelBreeds)) {\n data[\"transientNewKennelBreeds\"] = [];\n for (let item of this.transientNewKennelBreeds)\n data[\"transientNewKennelBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientKennelImportBreeds)) {\n data[\"transientKennelImportBreeds\"] = [];\n for (let item of this.transientKennelImportBreeds)\n data[\"transientKennelImportBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogBroodRequestsTransients)) {\n data[\"dogBroodRequestsTransients\"] = [];\n for (let item of this.dogBroodRequestsTransients)\n data[\"dogBroodRequestsTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.ringDivisions)) {\n data[\"ringDivisions\"] = [];\n for (let item of this.ringDivisions)\n data[\"ringDivisions\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"sharepointUri\"] = this.sharepointUri;\n return data;\n }\n}\n\nexport interface IBreed {\n breedId?: number;\n fciNumber?: number | undefined;\n knownAt?: Date | undefined;\n countryId?: number;\n breedGroupId?: number;\n subjectToWork?: boolean;\n agility?: EDifficulty | undefined;\n grooming?: EDifficulty | undefined;\n standardConfirmation?: boolean;\n shortenedTail?: boolean;\n sizeMin?: number | undefined;\n sizeMax?: number | undefined;\n weightMin?: number | undefined;\n weightMax?: number | undefined;\n varietyNumber?: number | undefined;\n remark?: string | undefined;\n breedNumber?: number;\n internshipDate?: Date | undefined;\n minDysplasiaAgeInMonths?: number;\n cegekaId?: string | undefined;\n userId?: number | undefined;\n officialName?: string | undefined;\n breeding?: boolean;\n user?: User | undefined;\n breedGroup?: BreedGroup | undefined;\n country?: Country | undefined;\n competitionBreeds?: CompetitionBreed[] | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n competitionCommissionerForbiddenBreeds?: CompetitionCommissionerForbiddenBreed[] | undefined;\n breedHealthPacks?: BreedHealthPack[] | undefined;\n breedJudgeTransients?: BreedJudgeTransient[] | undefined;\n clubsBreeds?: ClubBreed[] | undefined;\n breedsColors?: BreedColor[] | undefined;\n breedsWorkbookTypes?: BreedWorkbookType[] | undefined;\n dogs?: Dog[] | undefined;\n sourceBreeds?: BreedVariety[] | undefined;\n destinationBreeds?: BreedVariety[] | undefined;\n destinationExceptions?: BreedingException[] | undefined;\n sourceExceptions?: BreedingException[] | undefined;\n breedsJudges?: BreedJudge[] | undefined;\n breedTranslations?: BreedTranslation[] | undefined;\n kennelsBreeds?: KennelBreed[] | undefined;\n transientNewKennelBreeds?: TransientNewKennelBreed[] | undefined;\n transientKennelImportBreeds?: TransientKennelImportBreed[] | undefined;\n dogBroodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n ringDivisions?: RingDivision[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n sharepointUri?: string | undefined;\n}\n\nexport class User implements IUser {\n userId?: number;\n userProfileId?: number;\n email?: string | undefined;\n password?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n active?: boolean;\n mustResetPassword?: boolean;\n canBeBreedVeterinary?: boolean;\n languageId?: number;\n lastConnectionDate?: Date | undefined;\n language?: Language | undefined;\n userProfile?: UserProfile | undefined;\n usersInterests?: UserInterest[] | undefined;\n userDepartments?: UserDepartment[] | undefined;\n requests?: Request[] | undefined;\n userDysplasiaResults?: UserDysplasiaResult[] | undefined;\n dogsCharacteristicsValuesTransients?: DogsCharacteristicsValuesTransient[] | undefined;\n dogTitlesTransients?: DogTitlesTransient[] | undefined;\n requestActions?: RequestAction[] | undefined;\n dogActions?: DogAction[] | undefined;\n dogTransients?: DogTransient[] | undefined;\n dogHealthTestValidations?: DogHealthTestValidation[] | undefined;\n breeds?: Breed[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: IUser) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.userProfileId = _data[\"userProfileId\"];\n this.email = _data[\"email\"];\n this.password = _data[\"password\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.active = _data[\"active\"];\n this.mustResetPassword = _data[\"mustResetPassword\"];\n this.canBeBreedVeterinary = _data[\"canBeBreedVeterinary\"];\n this.languageId = _data[\"languageId\"];\n this.lastConnectionDate = _data[\"lastConnectionDate\"] ? new Date(_data[\"lastConnectionDate\"].toString()) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.userProfile = _data[\"userProfile\"] ? UserProfile.fromJS(_data[\"userProfile\"]) : undefined;\n if (Array.isArray(_data[\"usersInterests\"])) {\n this.usersInterests = [] as any;\n for (let item of _data[\"usersInterests\"])\n this.usersInterests!.push(UserInterest.fromJS(item));\n }\n if (Array.isArray(_data[\"userDepartments\"])) {\n this.userDepartments = [] as any;\n for (let item of _data[\"userDepartments\"])\n this.userDepartments!.push(UserDepartment.fromJS(item));\n }\n if (Array.isArray(_data[\"requests\"])) {\n this.requests = [] as any;\n for (let item of _data[\"requests\"])\n this.requests!.push(Request.fromJS(item));\n }\n if (Array.isArray(_data[\"userDysplasiaResults\"])) {\n this.userDysplasiaResults = [] as any;\n for (let item of _data[\"userDysplasiaResults\"])\n this.userDysplasiaResults!.push(UserDysplasiaResult.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsCharacteristicsValuesTransients\"])) {\n this.dogsCharacteristicsValuesTransients = [] as any;\n for (let item of _data[\"dogsCharacteristicsValuesTransients\"])\n this.dogsCharacteristicsValuesTransients!.push(DogsCharacteristicsValuesTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTitlesTransients\"])) {\n this.dogTitlesTransients = [] as any;\n for (let item of _data[\"dogTitlesTransients\"])\n this.dogTitlesTransients!.push(DogTitlesTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"requestActions\"])) {\n this.requestActions = [] as any;\n for (let item of _data[\"requestActions\"])\n this.requestActions!.push(RequestAction.fromJS(item));\n }\n if (Array.isArray(_data[\"dogActions\"])) {\n this.dogActions = [] as any;\n for (let item of _data[\"dogActions\"])\n this.dogActions!.push(DogAction.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTransients\"])) {\n this.dogTransients = [] as any;\n for (let item of _data[\"dogTransients\"])\n this.dogTransients!.push(DogTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogHealthTestValidations\"])) {\n this.dogHealthTestValidations = [] as any;\n for (let item of _data[\"dogHealthTestValidations\"])\n this.dogHealthTestValidations!.push(DogHealthTestValidation.fromJS(item));\n }\n if (Array.isArray(_data[\"breeds\"])) {\n this.breeds = [] as any;\n for (let item of _data[\"breeds\"])\n this.breeds!.push(Breed.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): User {\n data = typeof data === 'object' ? data : {};\n let result = new User();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"userProfileId\"] = this.userProfileId;\n data[\"email\"] = this.email;\n data[\"password\"] = this.password;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"active\"] = this.active;\n data[\"mustResetPassword\"] = this.mustResetPassword;\n data[\"canBeBreedVeterinary\"] = this.canBeBreedVeterinary;\n data[\"languageId\"] = this.languageId;\n data[\"lastConnectionDate\"] = this.lastConnectionDate ? this.lastConnectionDate.toISOString() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"userProfile\"] = this.userProfile ? this.userProfile.toJSON() : undefined;\n if (Array.isArray(this.usersInterests)) {\n data[\"usersInterests\"] = [];\n for (let item of this.usersInterests)\n data[\"usersInterests\"].push(item.toJSON());\n }\n if (Array.isArray(this.userDepartments)) {\n data[\"userDepartments\"] = [];\n for (let item of this.userDepartments)\n data[\"userDepartments\"].push(item.toJSON());\n }\n if (Array.isArray(this.requests)) {\n data[\"requests\"] = [];\n for (let item of this.requests)\n data[\"requests\"].push(item.toJSON());\n }\n if (Array.isArray(this.userDysplasiaResults)) {\n data[\"userDysplasiaResults\"] = [];\n for (let item of this.userDysplasiaResults)\n data[\"userDysplasiaResults\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsCharacteristicsValuesTransients)) {\n data[\"dogsCharacteristicsValuesTransients\"] = [];\n for (let item of this.dogsCharacteristicsValuesTransients)\n data[\"dogsCharacteristicsValuesTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTitlesTransients)) {\n data[\"dogTitlesTransients\"] = [];\n for (let item of this.dogTitlesTransients)\n data[\"dogTitlesTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.requestActions)) {\n data[\"requestActions\"] = [];\n for (let item of this.requestActions)\n data[\"requestActions\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogActions)) {\n data[\"dogActions\"] = [];\n for (let item of this.dogActions)\n data[\"dogActions\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTransients)) {\n data[\"dogTransients\"] = [];\n for (let item of this.dogTransients)\n data[\"dogTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogHealthTestValidations)) {\n data[\"dogHealthTestValidations\"] = [];\n for (let item of this.dogHealthTestValidations)\n data[\"dogHealthTestValidations\"].push(item.toJSON());\n }\n if (Array.isArray(this.breeds)) {\n data[\"breeds\"] = [];\n for (let item of this.breeds)\n data[\"breeds\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface IUser {\n userId?: number;\n userProfileId?: number;\n email?: string | undefined;\n password?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n active?: boolean;\n mustResetPassword?: boolean;\n canBeBreedVeterinary?: boolean;\n languageId?: number;\n lastConnectionDate?: Date | undefined;\n language?: Language | undefined;\n userProfile?: UserProfile | undefined;\n usersInterests?: UserInterest[] | undefined;\n userDepartments?: UserDepartment[] | undefined;\n requests?: Request[] | undefined;\n userDysplasiaResults?: UserDysplasiaResult[] | undefined;\n dogsCharacteristicsValuesTransients?: DogsCharacteristicsValuesTransient[] | undefined;\n dogTitlesTransients?: DogTitlesTransient[] | undefined;\n requestActions?: RequestAction[] | undefined;\n dogActions?: DogAction[] | undefined;\n dogTransients?: DogTransient[] | undefined;\n dogHealthTestValidations?: DogHealthTestValidation[] | undefined;\n breeds?: Breed[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n}\n\nexport class UserProfile implements IUserProfile {\n userProfileId?: number;\n code?: EUserProfile;\n mustBeUnique?: boolean;\n defaultRoute?: string | undefined;\n users?: User[] | undefined;\n userProfileTranslation?: UserProfileTranslation[] | undefined;\n userProfileActions?: UserProfileAction[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IUserProfile) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userProfileId = _data[\"userProfileId\"];\n this.code = _data[\"code\"];\n this.mustBeUnique = _data[\"mustBeUnique\"];\n this.defaultRoute = _data[\"defaultRoute\"];\n if (Array.isArray(_data[\"users\"])) {\n this.users = [] as any;\n for (let item of _data[\"users\"])\n this.users!.push(User.fromJS(item));\n }\n if (Array.isArray(_data[\"userProfileTranslation\"])) {\n this.userProfileTranslation = [] as any;\n for (let item of _data[\"userProfileTranslation\"])\n this.userProfileTranslation!.push(UserProfileTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"userProfileActions\"])) {\n this.userProfileActions = [] as any;\n for (let item of _data[\"userProfileActions\"])\n this.userProfileActions!.push(UserProfileAction.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): UserProfile {\n data = typeof data === 'object' ? data : {};\n let result = new UserProfile();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userProfileId\"] = this.userProfileId;\n data[\"code\"] = this.code;\n data[\"mustBeUnique\"] = this.mustBeUnique;\n data[\"defaultRoute\"] = this.defaultRoute;\n if (Array.isArray(this.users)) {\n data[\"users\"] = [];\n for (let item of this.users)\n data[\"users\"].push(item.toJSON());\n }\n if (Array.isArray(this.userProfileTranslation)) {\n data[\"userProfileTranslation\"] = [];\n for (let item of this.userProfileTranslation)\n data[\"userProfileTranslation\"].push(item.toJSON());\n }\n if (Array.isArray(this.userProfileActions)) {\n data[\"userProfileActions\"] = [];\n for (let item of this.userProfileActions)\n data[\"userProfileActions\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IUserProfile {\n userProfileId?: number;\n code?: EUserProfile;\n mustBeUnique?: boolean;\n defaultRoute?: string | undefined;\n users?: User[] | undefined;\n userProfileTranslation?: UserProfileTranslation[] | undefined;\n userProfileActions?: UserProfileAction[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EUserProfile {\n God = \"God\",\n User = \"User\",\n Administrator = \"Administrator\",\n Veterinary = \"Veterinary\",\n GentVeterinary = \"GentVeterinary\",\n PresidentVeterinary = \"PresidentVeterinary\",\n Appeal = \"Appeal\",\n}\n\nexport class UserProfileTranslation implements IUserProfileTranslation {\n userProfileTranslationId?: number;\n userProfileId?: number;\n languageId?: number;\n text?: string | undefined;\n userProfile?: UserProfile | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IUserProfileTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userProfileTranslationId = _data[\"userProfileTranslationId\"];\n this.userProfileId = _data[\"userProfileId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.userProfile = _data[\"userProfile\"] ? UserProfile.fromJS(_data[\"userProfile\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): UserProfileTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new UserProfileTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userProfileTranslationId\"] = this.userProfileTranslationId;\n data[\"userProfileId\"] = this.userProfileId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"userProfile\"] = this.userProfile ? this.userProfile.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IUserProfileTranslation {\n userProfileTranslationId?: number;\n userProfileId?: number;\n languageId?: number;\n text?: string | undefined;\n userProfile?: UserProfile | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class UserProfileAction implements IUserProfileAction {\n userProfileActionId?: number;\n actionId?: number;\n userProfileId?: number;\n permission?: EPermission;\n userProfile?: UserProfile | undefined;\n action?: Action | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IUserProfileAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userProfileActionId = _data[\"userProfileActionId\"];\n this.actionId = _data[\"actionId\"];\n this.userProfileId = _data[\"userProfileId\"];\n this.permission = _data[\"permission\"];\n this.userProfile = _data[\"userProfile\"] ? UserProfile.fromJS(_data[\"userProfile\"]) : undefined;\n this.action = _data[\"action\"] ? Action.fromJS(_data[\"action\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): UserProfileAction {\n data = typeof data === 'object' ? data : {};\n let result = new UserProfileAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userProfileActionId\"] = this.userProfileActionId;\n data[\"actionId\"] = this.actionId;\n data[\"userProfileId\"] = this.userProfileId;\n data[\"permission\"] = this.permission;\n data[\"userProfile\"] = this.userProfile ? this.userProfile.toJSON() : undefined;\n data[\"action\"] = this.action ? this.action.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IUserProfileAction {\n userProfileActionId?: number;\n actionId?: number;\n userProfileId?: number;\n permission?: EPermission;\n userProfile?: UserProfile | undefined;\n action?: Action | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EPermission {\n R = \"R\",\n RW = \"RW\",\n RWD = \"RWD\",\n E = \"E\",\n NONE = \"NONE\",\n}\n\nexport class Action implements IAction {\n actionId?: number;\n module?: string | undefined;\n tab?: string | undefined;\n executable?: boolean;\n userProfileActions?: UserProfileAction[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.actionId = _data[\"actionId\"];\n this.module = _data[\"module\"];\n this.tab = _data[\"tab\"];\n this.executable = _data[\"executable\"];\n if (Array.isArray(_data[\"userProfileActions\"])) {\n this.userProfileActions = [] as any;\n for (let item of _data[\"userProfileActions\"])\n this.userProfileActions!.push(UserProfileAction.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Action {\n data = typeof data === 'object' ? data : {};\n let result = new Action();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"actionId\"] = this.actionId;\n data[\"module\"] = this.module;\n data[\"tab\"] = this.tab;\n data[\"executable\"] = this.executable;\n if (Array.isArray(this.userProfileActions)) {\n data[\"userProfileActions\"] = [];\n for (let item of this.userProfileActions)\n data[\"userProfileActions\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IAction {\n actionId?: number;\n module?: string | undefined;\n tab?: string | undefined;\n executable?: boolean;\n userProfileActions?: UserProfileAction[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class UserInterest implements IUserInterest {\n userInterestId?: number;\n userId?: number;\n user?: User | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IUserInterest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userInterestId = _data[\"userInterestId\"];\n this.userId = _data[\"userId\"];\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): UserInterest {\n data = typeof data === 'object' ? data : {};\n let result = new UserInterest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userInterestId\"] = this.userInterestId;\n data[\"userId\"] = this.userId;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IUserInterest {\n userInterestId?: number;\n userId?: number;\n user?: User | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class UserDepartment implements IUserDepartment {\n userDepartmentId?: number;\n userId?: number;\n user?: User | undefined;\n departmentId?: number;\n department?: Department | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IUserDepartment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userDepartmentId = _data[\"userDepartmentId\"];\n this.userId = _data[\"userId\"];\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\n this.departmentId = _data[\"departmentId\"];\n this.department = _data[\"department\"] ? Department.fromJS(_data[\"department\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): UserDepartment {\n data = typeof data === 'object' ? data : {};\n let result = new UserDepartment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userDepartmentId\"] = this.userDepartmentId;\n data[\"userId\"] = this.userId;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"departmentId\"] = this.departmentId;\n data[\"department\"] = this.department ? this.department.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IUserDepartment {\n userDepartmentId?: number;\n userId?: number;\n user?: User | undefined;\n departmentId?: number;\n department?: Department | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Department implements IDepartment {\n departmentId?: number;\n code?: EDepartment;\n departmentTranslations?: DepartmentTranslation[] | undefined;\n userDepartments?: UserDepartment[] | undefined;\n departementRequestTypes?: DepartmentRequestType[] | undefined;\n dashboardTasks?: DashboardTask[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDepartment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.departmentId = _data[\"departmentId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"departmentTranslations\"])) {\n this.departmentTranslations = [] as any;\n for (let item of _data[\"departmentTranslations\"])\n this.departmentTranslations!.push(DepartmentTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"userDepartments\"])) {\n this.userDepartments = [] as any;\n for (let item of _data[\"userDepartments\"])\n this.userDepartments!.push(UserDepartment.fromJS(item));\n }\n if (Array.isArray(_data[\"departementRequestTypes\"])) {\n this.departementRequestTypes = [] as any;\n for (let item of _data[\"departementRequestTypes\"])\n this.departementRequestTypes!.push(DepartmentRequestType.fromJS(item));\n }\n if (Array.isArray(_data[\"dashboardTasks\"])) {\n this.dashboardTasks = [] as any;\n for (let item of _data[\"dashboardTasks\"])\n this.dashboardTasks!.push(DashboardTask.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Department {\n data = typeof data === 'object' ? data : {};\n let result = new Department();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"departmentId\"] = this.departmentId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.departmentTranslations)) {\n data[\"departmentTranslations\"] = [];\n for (let item of this.departmentTranslations)\n data[\"departmentTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.userDepartments)) {\n data[\"userDepartments\"] = [];\n for (let item of this.userDepartments)\n data[\"userDepartments\"].push(item.toJSON());\n }\n if (Array.isArray(this.departementRequestTypes)) {\n data[\"departementRequestTypes\"] = [];\n for (let item of this.departementRequestTypes)\n data[\"departementRequestTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.dashboardTasks)) {\n data[\"dashboardTasks\"] = [];\n for (let item of this.dashboardTasks)\n data[\"dashboardTasks\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDepartment {\n departmentId?: number;\n code?: EDepartment;\n departmentTranslations?: DepartmentTranslation[] | undefined;\n userDepartments?: UserDepartment[] | undefined;\n departementRequestTypes?: DepartmentRequestType[] | undefined;\n dashboardTasks?: DashboardTask[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EDepartment {\n Affix = \"Affix\",\n Accounting = \"Accounting\",\n DogUpdate = \"DogUpdate\",\n Pedigree = \"Pedigree\",\n Health = \"Health\",\n Sport = \"Sport\",\n}\n\nexport class DepartmentTranslation implements IDepartmentTranslation {\n departmentTranslationId?: number;\n text?: string | undefined;\n departmentId?: number;\n department?: Department | undefined;\n languageId?: number;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDepartmentTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.departmentTranslationId = _data[\"departmentTranslationId\"];\n this.text = _data[\"text\"];\n this.departmentId = _data[\"departmentId\"];\n this.department = _data[\"department\"] ? Department.fromJS(_data[\"department\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DepartmentTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new DepartmentTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"departmentTranslationId\"] = this.departmentTranslationId;\n data[\"text\"] = this.text;\n data[\"departmentId\"] = this.departmentId;\n data[\"department\"] = this.department ? this.department.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDepartmentTranslation {\n departmentTranslationId?: number;\n text?: string | undefined;\n departmentId?: number;\n department?: Department | undefined;\n languageId?: number;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DepartmentRequestType implements IDepartmentRequestType {\n departmentRequestTypeId?: number;\n departementId?: number;\n requestTypeId?: number;\n departement?: Department | undefined;\n requestType?: RequestType | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDepartmentRequestType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.departmentRequestTypeId = _data[\"departmentRequestTypeId\"];\n this.departementId = _data[\"departementId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.departement = _data[\"departement\"] ? Department.fromJS(_data[\"departement\"]) : undefined;\n this.requestType = _data[\"requestType\"] ? RequestType.fromJS(_data[\"requestType\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DepartmentRequestType {\n data = typeof data === 'object' ? data : {};\n let result = new DepartmentRequestType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"departmentRequestTypeId\"] = this.departmentRequestTypeId;\n data[\"departementId\"] = this.departementId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"departement\"] = this.departement ? this.departement.toJSON() : undefined;\n data[\"requestType\"] = this.requestType ? this.requestType.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDepartmentRequestType {\n departmentRequestTypeId?: number;\n departementId?: number;\n requestTypeId?: number;\n departement?: Department | undefined;\n requestType?: RequestType | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class RequestType implements IRequestType {\n requestTypeId?: number;\n requestTypeCode?: ERequestType;\n requestDescriptionNumber?: number;\n manualCreationInvolvesFees?: boolean;\n orderIndex?: number;\n requests?: Request[] | undefined;\n neededConditions?: NeededCondition[] | undefined;\n neededVerifications?: NeededVerification[] | undefined;\n requestTypeTranslations?: RequestTypeTranslation[] | undefined;\n departementRequestTypes?: DepartmentRequestType[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRequestType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestTypeId = _data[\"requestTypeId\"];\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.requestDescriptionNumber = _data[\"requestDescriptionNumber\"];\n this.manualCreationInvolvesFees = _data[\"manualCreationInvolvesFees\"];\n this.orderIndex = _data[\"orderIndex\"];\n if (Array.isArray(_data[\"requests\"])) {\n this.requests = [] as any;\n for (let item of _data[\"requests\"])\n this.requests!.push(Request.fromJS(item));\n }\n if (Array.isArray(_data[\"neededConditions\"])) {\n this.neededConditions = [] as any;\n for (let item of _data[\"neededConditions\"])\n this.neededConditions!.push(NeededCondition.fromJS(item));\n }\n if (Array.isArray(_data[\"neededVerifications\"])) {\n this.neededVerifications = [] as any;\n for (let item of _data[\"neededVerifications\"])\n this.neededVerifications!.push(NeededVerification.fromJS(item));\n }\n if (Array.isArray(_data[\"requestTypeTranslations\"])) {\n this.requestTypeTranslations = [] as any;\n for (let item of _data[\"requestTypeTranslations\"])\n this.requestTypeTranslations!.push(RequestTypeTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"departementRequestTypes\"])) {\n this.departementRequestTypes = [] as any;\n for (let item of _data[\"departementRequestTypes\"])\n this.departementRequestTypes!.push(DepartmentRequestType.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): RequestType {\n data = typeof data === 'object' ? data : {};\n let result = new RequestType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"requestDescriptionNumber\"] = this.requestDescriptionNumber;\n data[\"manualCreationInvolvesFees\"] = this.manualCreationInvolvesFees;\n data[\"orderIndex\"] = this.orderIndex;\n if (Array.isArray(this.requests)) {\n data[\"requests\"] = [];\n for (let item of this.requests)\n data[\"requests\"].push(item.toJSON());\n }\n if (Array.isArray(this.neededConditions)) {\n data[\"neededConditions\"] = [];\n for (let item of this.neededConditions)\n data[\"neededConditions\"].push(item.toJSON());\n }\n if (Array.isArray(this.neededVerifications)) {\n data[\"neededVerifications\"] = [];\n for (let item of this.neededVerifications)\n data[\"neededVerifications\"].push(item.toJSON());\n }\n if (Array.isArray(this.requestTypeTranslations)) {\n data[\"requestTypeTranslations\"] = [];\n for (let item of this.requestTypeTranslations)\n data[\"requestTypeTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.departementRequestTypes)) {\n data[\"departementRequestTypes\"] = [];\n for (let item of this.departementRequestTypes)\n data[\"departementRequestTypes\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRequestType {\n requestTypeId?: number;\n requestTypeCode?: ERequestType;\n requestDescriptionNumber?: number;\n manualCreationInvolvesFees?: boolean;\n orderIndex?: number;\n requests?: Request[] | undefined;\n neededConditions?: NeededCondition[] | undefined;\n neededVerifications?: NeededVerification[] | undefined;\n requestTypeTranslations?: RequestTypeTranslation[] | undefined;\n departementRequestTypes?: DepartmentRequestType[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class NeededCondition implements INeededCondition {\n neededConditionId?: number;\n requestTypeId?: number;\n requestStatusId?: number;\n conditionCode?: ERequestConditions;\n forcible?: boolean;\n requestStatus?: RequestStatus | undefined;\n requestType?: RequestType | undefined;\n neededConditionTranslations?: NeededConditionTranslation[] | undefined;\n conditionForcedValues?: ConditionsForcedValue[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: INeededCondition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.neededConditionId = _data[\"neededConditionId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.requestStatusId = _data[\"requestStatusId\"];\n this.conditionCode = _data[\"conditionCode\"];\n this.forcible = _data[\"forcible\"];\n this.requestStatus = _data[\"requestStatus\"] ? RequestStatus.fromJS(_data[\"requestStatus\"]) : undefined;\n this.requestType = _data[\"requestType\"] ? RequestType.fromJS(_data[\"requestType\"]) : undefined;\n if (Array.isArray(_data[\"neededConditionTranslations\"])) {\n this.neededConditionTranslations = [] as any;\n for (let item of _data[\"neededConditionTranslations\"])\n this.neededConditionTranslations!.push(NeededConditionTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"conditionForcedValues\"])) {\n this.conditionForcedValues = [] as any;\n for (let item of _data[\"conditionForcedValues\"])\n this.conditionForcedValues!.push(ConditionsForcedValue.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): NeededCondition {\n data = typeof data === 'object' ? data : {};\n let result = new NeededCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"neededConditionId\"] = this.neededConditionId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"conditionCode\"] = this.conditionCode;\n data[\"forcible\"] = this.forcible;\n data[\"requestStatus\"] = this.requestStatus ? this.requestStatus.toJSON() : undefined;\n data[\"requestType\"] = this.requestType ? this.requestType.toJSON() : undefined;\n if (Array.isArray(this.neededConditionTranslations)) {\n data[\"neededConditionTranslations\"] = [];\n for (let item of this.neededConditionTranslations)\n data[\"neededConditionTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.conditionForcedValues)) {\n data[\"conditionForcedValues\"] = [];\n for (let item of this.conditionForcedValues)\n data[\"conditionForcedValues\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface INeededCondition {\n neededConditionId?: number;\n requestTypeId?: number;\n requestStatusId?: number;\n conditionCode?: ERequestConditions;\n forcible?: boolean;\n requestStatus?: RequestStatus | undefined;\n requestType?: RequestType | undefined;\n neededConditionTranslations?: NeededConditionTranslation[] | undefined;\n conditionForcedValues?: ConditionsForcedValue[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum ERequestConditions {\n IsDog15MonthsOld = \"IsDog15MonthsOld\",\n IsDogSocial = \"IsDogSocial\",\n IsDogAllowedForReproduction = \"IsDogAllowedForReproduction\",\n IsDogNotExluded = \"IsDogNotExluded\",\n IsTemporaryOwnerNotExcluded = \"IsTemporaryOwnerNotExcluded\",\n IsMeetingPast = \"IsMeetingPast\",\n IsDecisionAccepted = \"IsDecisionAccepted\",\n IsDogMinAgeForDysplasia = \"IsDogMinAgeForDysplasia\",\n HasOtherBilledNonPaidRequests = \"HasOtherBilledNonPaidRequests\",\n CatalogReceived = \"CatalogReceived\",\n HasMin2ShowsWithGoodResults = \"HasMin2ShowsWithGoodResults\",\n AreBreedsMentioned = \"AreBreedsMentioned\",\n AreOwnersMentionedNewkennel = \"AreOwnersMentionedNewkennel\",\n AreOwnersMentionedImport = \"AreOwnersMentionedImport\",\n AreOwnersMentioned = \"AreOwnersMentioned\",\n BroodRequestOwnerKennel = \"BroodRequestOwnerKennel\",\n BroodRequestMixBreeds = \"BroodRequestMixBreeds\",\n AreBreedsMentionedImport = \"AreBreedsMentionedImport\",\n TempRSHValidDog = \"TempRSHValidDog\",\n RSHValidDog = \"RSHValidDog\",\n BroodValidDog = \"BroodValidDog\",\n RISHValidDog = \"RISHValidDog\",\n DuplicataValidDog = \"DuplicataValidDog\",\n ImportValidDog = \"ImportValidDog\",\n DysplasiaValidDog = \"DysplasiaValidDog\",\n HealthTestValidDog = \"HealthTestValidDog\",\n WorkAttestValidDog = \"WorkAttestValidDog\",\n WorkbookValidDog = \"WorkbookValidDog\",\n TitleValidDog = \"TitleValidDog\",\n IsDeclarationDoneIn21Days = \"IsDeclarationDoneIn21Days\",\n PuppiesHaveOwners = \"PuppiesHaveOwners\",\n OnlyRequestWithBirthDate = \"OnlyRequestWithBirthDate\",\n AtLeastOnePuppy = \"AtLeastOnePuppy\",\n BirthDateIsSet = \"BirthDateIsSet\",\n JudgesValidated = \"JudgesValidated\",\n PuppyNumberConfirmed = \"PuppyNumberConfirmed\",\n As400GenealogyComplete = \"As400GenealogyComplete\",\n AllOwnersForeign = \"AllOwnersForeign\",\n TransientOwnerSelected = \"TransientOwnerSelected\",\n DogsMustBeBreedingAuthorised = \"DogsMustBeBreedingAuthorised\",\n AreBreedsSelected = \"AreBreedsSelected\",\n IsManagerSelected = \"IsManagerSelected\",\n JudgeBreedValidated = \"JudgeBreedValidated\",\n}\n\nexport class RequestStatus implements IRequestStatus {\n requestStatusId?: number;\n requestStateCode?: ERequestState;\n requests?: Request[] | undefined;\n requestsPreviousStatus?: Request[] | undefined;\n requestStatusTranslations?: RequestStatusTranslation[] | undefined;\n neededConditions?: NeededCondition[] | undefined;\n neededVerifications?: NeededVerification[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRequestStatus) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestStatusId = _data[\"requestStatusId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n if (Array.isArray(_data[\"requests\"])) {\n this.requests = [] as any;\n for (let item of _data[\"requests\"])\n this.requests!.push(Request.fromJS(item));\n }\n if (Array.isArray(_data[\"requestsPreviousStatus\"])) {\n this.requestsPreviousStatus = [] as any;\n for (let item of _data[\"requestsPreviousStatus\"])\n this.requestsPreviousStatus!.push(Request.fromJS(item));\n }\n if (Array.isArray(_data[\"requestStatusTranslations\"])) {\n this.requestStatusTranslations = [] as any;\n for (let item of _data[\"requestStatusTranslations\"])\n this.requestStatusTranslations!.push(RequestStatusTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"neededConditions\"])) {\n this.neededConditions = [] as any;\n for (let item of _data[\"neededConditions\"])\n this.neededConditions!.push(NeededCondition.fromJS(item));\n }\n if (Array.isArray(_data[\"neededVerifications\"])) {\n this.neededVerifications = [] as any;\n for (let item of _data[\"neededVerifications\"])\n this.neededVerifications!.push(NeededVerification.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): RequestStatus {\n data = typeof data === 'object' ? data : {};\n let result = new RequestStatus();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"requestStateCode\"] = this.requestStateCode;\n if (Array.isArray(this.requests)) {\n data[\"requests\"] = [];\n for (let item of this.requests)\n data[\"requests\"].push(item.toJSON());\n }\n if (Array.isArray(this.requestsPreviousStatus)) {\n data[\"requestsPreviousStatus\"] = [];\n for (let item of this.requestsPreviousStatus)\n data[\"requestsPreviousStatus\"].push(item.toJSON());\n }\n if (Array.isArray(this.requestStatusTranslations)) {\n data[\"requestStatusTranslations\"] = [];\n for (let item of this.requestStatusTranslations)\n data[\"requestStatusTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.neededConditions)) {\n data[\"neededConditions\"] = [];\n for (let item of this.neededConditions)\n data[\"neededConditions\"].push(item.toJSON());\n }\n if (Array.isArray(this.neededVerifications)) {\n data[\"neededVerifications\"] = [];\n for (let item of this.neededVerifications)\n data[\"neededVerifications\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRequestStatus {\n requestStatusId?: number;\n requestStateCode?: ERequestState;\n requests?: Request[] | undefined;\n requestsPreviousStatus?: Request[] | undefined;\n requestStatusTranslations?: RequestStatusTranslation[] | undefined;\n neededConditions?: NeededCondition[] | undefined;\n neededVerifications?: NeededVerification[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class RequestStatusTranslation implements IRequestStatusTranslation {\n requestStatusTranslationId?: number;\n requestStatusId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n requestStatus?: RequestStatus | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRequestStatusTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestStatusTranslationId = _data[\"requestStatusTranslationId\"];\n this.requestStatusId = _data[\"requestStatusId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.requestStatus = _data[\"requestStatus\"] ? RequestStatus.fromJS(_data[\"requestStatus\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): RequestStatusTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new RequestStatusTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestStatusTranslationId\"] = this.requestStatusTranslationId;\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"requestStatus\"] = this.requestStatus ? this.requestStatus.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRequestStatusTranslation {\n requestStatusTranslationId?: number;\n requestStatusId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n requestStatus?: RequestStatus | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class NeededVerification implements INeededVerification {\n neededVerificationId?: number;\n required?: boolean;\n requestTypeId?: number;\n requestStatusId?: number;\n verificationCode?: ERequestVerification;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n requestStatus?: RequestStatus | undefined;\n requestType?: RequestType | undefined;\n neededVerificationsTranslations?: NeededVerificationTranslation[] | undefined;\n verificationValues?: VerificationsValue[] | undefined;\n\n constructor(data?: INeededVerification) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.neededVerificationId = _data[\"neededVerificationId\"];\n this.required = _data[\"required\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.requestStatusId = _data[\"requestStatusId\"];\n this.verificationCode = _data[\"verificationCode\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.requestStatus = _data[\"requestStatus\"] ? RequestStatus.fromJS(_data[\"requestStatus\"]) : undefined;\n this.requestType = _data[\"requestType\"] ? RequestType.fromJS(_data[\"requestType\"]) : undefined;\n if (Array.isArray(_data[\"neededVerificationsTranslations\"])) {\n this.neededVerificationsTranslations = [] as any;\n for (let item of _data[\"neededVerificationsTranslations\"])\n this.neededVerificationsTranslations!.push(NeededVerificationTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"verificationValues\"])) {\n this.verificationValues = [] as any;\n for (let item of _data[\"verificationValues\"])\n this.verificationValues!.push(VerificationsValue.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): NeededVerification {\n data = typeof data === 'object' ? data : {};\n let result = new NeededVerification();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"neededVerificationId\"] = this.neededVerificationId;\n data[\"required\"] = this.required;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"verificationCode\"] = this.verificationCode;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"requestStatus\"] = this.requestStatus ? this.requestStatus.toJSON() : undefined;\n data[\"requestType\"] = this.requestType ? this.requestType.toJSON() : undefined;\n if (Array.isArray(this.neededVerificationsTranslations)) {\n data[\"neededVerificationsTranslations\"] = [];\n for (let item of this.neededVerificationsTranslations)\n data[\"neededVerificationsTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.verificationValues)) {\n data[\"verificationValues\"] = [];\n for (let item of this.verificationValues)\n data[\"verificationValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface INeededVerification {\n neededVerificationId?: number;\n required?: boolean;\n requestTypeId?: number;\n requestStatusId?: number;\n verificationCode?: ERequestVerification;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n requestStatus?: RequestStatus | undefined;\n requestType?: RequestType | undefined;\n neededVerificationsTranslations?: NeededVerificationTranslation[] | undefined;\n verificationValues?: VerificationsValue[] | undefined;\n}\n\nexport enum ERequestVerification {\n AreJudgesOk = \"AreJudgesOk\",\n AsleepDog = \"AsleepDog\",\n ExportPedigree = \"ExportPedigree\",\n IdentityCard = \"IdentityCard\",\n ImportFormular = \"ImportFormular\",\n InCalendar = \"InCalendar\",\n Is18Old = \"Is18Old\",\n IsCanineOk = \"IsCanineOk\",\n IsOldOwnerOk = \"IsOldOwnerOk\",\n KennelNameType = \"KennelNameType\",\n OriginalPedigree = \"OriginalPedigree\",\n ResultCopy = \"ResultCopy\",\n TitleDocument = \"TitleDocument\",\n WorkbookCopy = \"WorkbookCopy\",\n PedigreeReceived = \"PedigreeReceived\",\n}\n\nexport class NeededVerificationTranslation implements INeededVerificationTranslation {\n neededVerificationTranslationId?: number;\n text?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n languageId?: number;\n neededVerificationId?: number;\n language?: Language | undefined;\n neededVerification?: NeededVerification | undefined;\n\n constructor(data?: INeededVerificationTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.neededVerificationTranslationId = _data[\"neededVerificationTranslationId\"];\n this.text = _data[\"text\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.languageId = _data[\"languageId\"];\n this.neededVerificationId = _data[\"neededVerificationId\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.neededVerification = _data[\"neededVerification\"] ? NeededVerification.fromJS(_data[\"neededVerification\"]) : undefined;\n }\n }\n\n static fromJS(data: any): NeededVerificationTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new NeededVerificationTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"neededVerificationTranslationId\"] = this.neededVerificationTranslationId;\n data[\"text\"] = this.text;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"languageId\"] = this.languageId;\n data[\"neededVerificationId\"] = this.neededVerificationId;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"neededVerification\"] = this.neededVerification ? this.neededVerification.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface INeededVerificationTranslation {\n neededVerificationTranslationId?: number;\n text?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n languageId?: number;\n neededVerificationId?: number;\n language?: Language | undefined;\n neededVerification?: NeededVerification | undefined;\n}\n\nexport class VerificationsValue implements IVerificationsValue {\n verificationsValueId?: number;\n isVerified?: boolean;\n requestId?: number;\n neededVerificationId?: number;\n request?: Request | undefined;\n neededVerification?: NeededVerification | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IVerificationsValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.verificationsValueId = _data[\"verificationsValueId\"];\n this.isVerified = _data[\"isVerified\"];\n this.requestId = _data[\"requestId\"];\n this.neededVerificationId = _data[\"neededVerificationId\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.neededVerification = _data[\"neededVerification\"] ? NeededVerification.fromJS(_data[\"neededVerification\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): VerificationsValue {\n data = typeof data === 'object' ? data : {};\n let result = new VerificationsValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"verificationsValueId\"] = this.verificationsValueId;\n data[\"isVerified\"] = this.isVerified;\n data[\"requestId\"] = this.requestId;\n data[\"neededVerificationId\"] = this.neededVerificationId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"neededVerification\"] = this.neededVerification ? this.neededVerification.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IVerificationsValue {\n verificationsValueId?: number;\n isVerified?: boolean;\n requestId?: number;\n neededVerificationId?: number;\n request?: Request | undefined;\n neededVerification?: NeededVerification | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class NeededConditionTranslation implements INeededConditionTranslation {\n neededConditionTranslationId?: number;\n neededConditionId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n neededCondition?: NeededCondition | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: INeededConditionTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.neededConditionTranslationId = _data[\"neededConditionTranslationId\"];\n this.neededConditionId = _data[\"neededConditionId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.neededCondition = _data[\"neededCondition\"] ? NeededCondition.fromJS(_data[\"neededCondition\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): NeededConditionTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new NeededConditionTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"neededConditionTranslationId\"] = this.neededConditionTranslationId;\n data[\"neededConditionId\"] = this.neededConditionId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"neededCondition\"] = this.neededCondition ? this.neededCondition.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface INeededConditionTranslation {\n neededConditionTranslationId?: number;\n neededConditionId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n neededCondition?: NeededCondition | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ConditionsForcedValue implements IConditionsForcedValue {\n conditionsForcedValueId?: number;\n neededConditionId?: number;\n requestId?: number;\n request?: Request | undefined;\n neededCondition?: NeededCondition | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IConditionsForcedValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.conditionsForcedValueId = _data[\"conditionsForcedValueId\"];\n this.neededConditionId = _data[\"neededConditionId\"];\n this.requestId = _data[\"requestId\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.neededCondition = _data[\"neededCondition\"] ? NeededCondition.fromJS(_data[\"neededCondition\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ConditionsForcedValue {\n data = typeof data === 'object' ? data : {};\n let result = new ConditionsForcedValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"conditionsForcedValueId\"] = this.conditionsForcedValueId;\n data[\"neededConditionId\"] = this.neededConditionId;\n data[\"requestId\"] = this.requestId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"neededCondition\"] = this.neededCondition ? this.neededCondition.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IConditionsForcedValue {\n conditionsForcedValueId?: number;\n neededConditionId?: number;\n requestId?: number;\n request?: Request | undefined;\n neededCondition?: NeededCondition | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class RequestTypeTranslation implements IRequestTypeTranslation {\n requestTypeTranslationId?: number;\n requestTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n requestType?: RequestType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRequestTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestTypeTranslationId = _data[\"requestTypeTranslationId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.requestType = _data[\"requestType\"] ? RequestType.fromJS(_data[\"requestType\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): RequestTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new RequestTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestTypeTranslationId\"] = this.requestTypeTranslationId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"requestType\"] = this.requestType ? this.requestType.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRequestTypeTranslation {\n requestTypeTranslationId?: number;\n requestTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n requestType?: RequestType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DashboardTask implements IDashboardTask {\n dashboardTaskId?: number;\n requestId?: number | undefined;\n managerId?: number | undefined;\n departmentId?: number | undefined;\n dashboardTaskTypeId?: number;\n closedOn?: Date | undefined;\n request?: Request | undefined;\n department?: Department | undefined;\n dashboardTaskType?: DashboardTaskType | undefined;\n manager?: User | undefined;\n dashboardTaskTranslations?: DashboardTaskTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDashboardTask) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dashboardTaskId = _data[\"dashboardTaskId\"];\n this.requestId = _data[\"requestId\"];\n this.managerId = _data[\"managerId\"];\n this.departmentId = _data[\"departmentId\"];\n this.dashboardTaskTypeId = _data[\"dashboardTaskTypeId\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.department = _data[\"department\"] ? Department.fromJS(_data[\"department\"]) : undefined;\n this.dashboardTaskType = _data[\"dashboardTaskType\"] ? DashboardTaskType.fromJS(_data[\"dashboardTaskType\"]) : undefined;\n this.manager = _data[\"manager\"] ? User.fromJS(_data[\"manager\"]) : undefined;\n if (Array.isArray(_data[\"dashboardTaskTranslations\"])) {\n this.dashboardTaskTranslations = [] as any;\n for (let item of _data[\"dashboardTaskTranslations\"])\n this.dashboardTaskTranslations!.push(DashboardTaskTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DashboardTask {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardTask();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dashboardTaskId\"] = this.dashboardTaskId;\n data[\"requestId\"] = this.requestId;\n data[\"managerId\"] = this.managerId;\n data[\"departmentId\"] = this.departmentId;\n data[\"dashboardTaskTypeId\"] = this.dashboardTaskTypeId;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"department\"] = this.department ? this.department.toJSON() : undefined;\n data[\"dashboardTaskType\"] = this.dashboardTaskType ? this.dashboardTaskType.toJSON() : undefined;\n data[\"manager\"] = this.manager ? this.manager.toJSON() : undefined;\n if (Array.isArray(this.dashboardTaskTranslations)) {\n data[\"dashboardTaskTranslations\"] = [];\n for (let item of this.dashboardTaskTranslations)\n data[\"dashboardTaskTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDashboardTask {\n dashboardTaskId?: number;\n requestId?: number | undefined;\n managerId?: number | undefined;\n departmentId?: number | undefined;\n dashboardTaskTypeId?: number;\n closedOn?: Date | undefined;\n request?: Request | undefined;\n department?: Department | undefined;\n dashboardTaskType?: DashboardTaskType | undefined;\n manager?: User | undefined;\n dashboardTaskTranslations?: DashboardTaskTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DashboardTaskType implements IDashboardTaskType {\n dashboardTaskTypeId?: number;\n taskTypeCode?: ETaskType;\n dashboardTasks?: DashboardTask[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDashboardTaskType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dashboardTaskTypeId = _data[\"dashboardTaskTypeId\"];\n this.taskTypeCode = _data[\"taskTypeCode\"];\n if (Array.isArray(_data[\"dashboardTasks\"])) {\n this.dashboardTasks = [] as any;\n for (let item of _data[\"dashboardTasks\"])\n this.dashboardTasks!.push(DashboardTask.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DashboardTaskType {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardTaskType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dashboardTaskTypeId\"] = this.dashboardTaskTypeId;\n data[\"taskTypeCode\"] = this.taskTypeCode;\n if (Array.isArray(this.dashboardTasks)) {\n data[\"dashboardTasks\"] = [];\n for (let item of this.dashboardTasks)\n data[\"dashboardTasks\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDashboardTaskType {\n dashboardTaskTypeId?: number;\n taskTypeCode?: ETaskType;\n dashboardTasks?: DashboardTask[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum ETaskType {\n DeadPuppyCredit = \"DeadPuppyCredit\",\n MembershipTask = \"MembershipTask\",\n WorkbookRequestDiplomaCheckTask = \"WorkbookRequestDiplomaCheckTask\",\n RequestCredit = \"RequestCredit\",\n RequestNotPaid = \"RequestNotPaid\",\n InformationRequested = \"InformationRequested\",\n DogValidation = \"DogValidation\",\n BroodRequestPuppies = \"BroodRequestPuppies\",\n BroodRequestPuppiesPedigree = \"BroodRequestPuppiesPedigree\",\n RequestCancelled = \"RequestCancelled\",\n}\n\nexport class DashboardTaskTranslation implements IDashboardTaskTranslation {\n dashboardTaskTranslationId?: number;\n dashboardTaskId?: number;\n languageId?: number;\n text?: string | undefined;\n dashboardTask?: DashboardTask | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDashboardTaskTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dashboardTaskTranslationId = _data[\"dashboardTaskTranslationId\"];\n this.dashboardTaskId = _data[\"dashboardTaskId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.dashboardTask = _data[\"dashboardTask\"] ? DashboardTask.fromJS(_data[\"dashboardTask\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DashboardTaskTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardTaskTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dashboardTaskTranslationId\"] = this.dashboardTaskTranslationId;\n data[\"dashboardTaskId\"] = this.dashboardTaskId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"dashboardTask\"] = this.dashboardTask ? this.dashboardTask.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDashboardTaskTranslation {\n dashboardTaskTranslationId?: number;\n dashboardTaskId?: number;\n languageId?: number;\n text?: string | undefined;\n dashboardTask?: DashboardTask | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class UserDysplasiaResult implements IUserDysplasiaResult {\n userDysplasiaResultId?: number;\n numericValue?: number | undefined;\n healthValueId?: number | undefined;\n isRefused?: boolean;\n officialRemark?: string | undefined;\n otherRemark?: string | undefined;\n userId?: number;\n userDysplasiaStatusId?: number;\n dogDysplasiaTransientId?: number;\n userDysplasiaStatus?: UserDysplasiaStatus | undefined;\n user?: User | undefined;\n dogDysplasiaTransient?: DogDysplasiaTransient | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IUserDysplasiaResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userDysplasiaResultId = _data[\"userDysplasiaResultId\"];\n this.numericValue = _data[\"numericValue\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.isRefused = _data[\"isRefused\"];\n this.officialRemark = _data[\"officialRemark\"];\n this.otherRemark = _data[\"otherRemark\"];\n this.userId = _data[\"userId\"];\n this.userDysplasiaStatusId = _data[\"userDysplasiaStatusId\"];\n this.dogDysplasiaTransientId = _data[\"dogDysplasiaTransientId\"];\n this.userDysplasiaStatus = _data[\"userDysplasiaStatus\"] ? UserDysplasiaStatus.fromJS(_data[\"userDysplasiaStatus\"]) : undefined;\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\n this.dogDysplasiaTransient = _data[\"dogDysplasiaTransient\"] ? DogDysplasiaTransient.fromJS(_data[\"dogDysplasiaTransient\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): UserDysplasiaResult {\n data = typeof data === 'object' ? data : {};\n let result = new UserDysplasiaResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userDysplasiaResultId\"] = this.userDysplasiaResultId;\n data[\"numericValue\"] = this.numericValue;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"isRefused\"] = this.isRefused;\n data[\"officialRemark\"] = this.officialRemark;\n data[\"otherRemark\"] = this.otherRemark;\n data[\"userId\"] = this.userId;\n data[\"userDysplasiaStatusId\"] = this.userDysplasiaStatusId;\n data[\"dogDysplasiaTransientId\"] = this.dogDysplasiaTransientId;\n data[\"userDysplasiaStatus\"] = this.userDysplasiaStatus ? this.userDysplasiaStatus.toJSON() : undefined;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"dogDysplasiaTransient\"] = this.dogDysplasiaTransient ? this.dogDysplasiaTransient.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IUserDysplasiaResult {\n userDysplasiaResultId?: number;\n numericValue?: number | undefined;\n healthValueId?: number | undefined;\n isRefused?: boolean;\n officialRemark?: string | undefined;\n otherRemark?: string | undefined;\n userId?: number;\n userDysplasiaStatusId?: number;\n dogDysplasiaTransientId?: number;\n userDysplasiaStatus?: UserDysplasiaStatus | undefined;\n user?: User | undefined;\n dogDysplasiaTransient?: DogDysplasiaTransient | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class UserDysplasiaStatus implements IUserDysplasiaStatus {\n userDysplasiaStatusId?: number;\n code?: EUserDysplasiaStatus;\n userDysplasiaStatusTranslations?: UserDysplasiaStatusTranslation[] | undefined;\n userDysplasiaResult?: UserDysplasiaResult[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IUserDysplasiaStatus) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userDysplasiaStatusId = _data[\"userDysplasiaStatusId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"userDysplasiaStatusTranslations\"])) {\n this.userDysplasiaStatusTranslations = [] as any;\n for (let item of _data[\"userDysplasiaStatusTranslations\"])\n this.userDysplasiaStatusTranslations!.push(UserDysplasiaStatusTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"userDysplasiaResult\"])) {\n this.userDysplasiaResult = [] as any;\n for (let item of _data[\"userDysplasiaResult\"])\n this.userDysplasiaResult!.push(UserDysplasiaResult.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): UserDysplasiaStatus {\n data = typeof data === 'object' ? data : {};\n let result = new UserDysplasiaStatus();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userDysplasiaStatusId\"] = this.userDysplasiaStatusId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.userDysplasiaStatusTranslations)) {\n data[\"userDysplasiaStatusTranslations\"] = [];\n for (let item of this.userDysplasiaStatusTranslations)\n data[\"userDysplasiaStatusTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.userDysplasiaResult)) {\n data[\"userDysplasiaResult\"] = [];\n for (let item of this.userDysplasiaResult)\n data[\"userDysplasiaResult\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IUserDysplasiaStatus {\n userDysplasiaStatusId?: number;\n code?: EUserDysplasiaStatus;\n userDysplasiaStatusTranslations?: UserDysplasiaStatusTranslation[] | undefined;\n userDysplasiaResult?: UserDysplasiaResult[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EUserDysplasiaStatus {\n Submitted = \"Submitted\",\n ToEvaluate = \"ToEvaluate\",\n ToReEvaluate = \"ToReEvaluate\",\n}\n\nexport class UserDysplasiaStatusTranslation implements IUserDysplasiaStatusTranslation {\n userDysplasiaStatusTranslationId?: number;\n userDysplasiaStatusId?: number;\n text?: string | undefined;\n languageId?: number;\n language?: Language | undefined;\n userDysplasiaStatus?: UserDysplasiaStatus | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IUserDysplasiaStatusTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userDysplasiaStatusTranslationId = _data[\"userDysplasiaStatusTranslationId\"];\n this.userDysplasiaStatusId = _data[\"userDysplasiaStatusId\"];\n this.text = _data[\"text\"];\n this.languageId = _data[\"languageId\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.userDysplasiaStatus = _data[\"userDysplasiaStatus\"] ? UserDysplasiaStatus.fromJS(_data[\"userDysplasiaStatus\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): UserDysplasiaStatusTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new UserDysplasiaStatusTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userDysplasiaStatusTranslationId\"] = this.userDysplasiaStatusTranslationId;\n data[\"userDysplasiaStatusId\"] = this.userDysplasiaStatusId;\n data[\"text\"] = this.text;\n data[\"languageId\"] = this.languageId;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"userDysplasiaStatus\"] = this.userDysplasiaStatus ? this.userDysplasiaStatus.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IUserDysplasiaStatusTranslation {\n userDysplasiaStatusTranslationId?: number;\n userDysplasiaStatusId?: number;\n text?: string | undefined;\n languageId?: number;\n language?: Language | undefined;\n userDysplasiaStatus?: UserDysplasiaStatus | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogDysplasiaTransient implements IDogDysplasiaTransient {\n dogDysplasiaTransientId?: number;\n dysplasiaRequestId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n isRefused?: boolean;\n officialRemark?: string | undefined;\n otherRemark?: string | undefined;\n dysplasiaRequest?: DysplasiaRequest | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n userDysplasiaResults?: UserDysplasiaResult[] | undefined;\n\n constructor(data?: IDogDysplasiaTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogDysplasiaTransientId = _data[\"dogDysplasiaTransientId\"];\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.numericValue = _data[\"numericValue\"];\n this.isRefused = _data[\"isRefused\"];\n this.officialRemark = _data[\"officialRemark\"];\n this.otherRemark = _data[\"otherRemark\"];\n this.dysplasiaRequest = _data[\"dysplasiaRequest\"] ? DysplasiaRequest.fromJS(_data[\"dysplasiaRequest\"]) : undefined;\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"userDysplasiaResults\"])) {\n this.userDysplasiaResults = [] as any;\n for (let item of _data[\"userDysplasiaResults\"])\n this.userDysplasiaResults!.push(UserDysplasiaResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DogDysplasiaTransient {\n data = typeof data === 'object' ? data : {};\n let result = new DogDysplasiaTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogDysplasiaTransientId\"] = this.dogDysplasiaTransientId;\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"numericValue\"] = this.numericValue;\n data[\"isRefused\"] = this.isRefused;\n data[\"officialRemark\"] = this.officialRemark;\n data[\"otherRemark\"] = this.otherRemark;\n data[\"dysplasiaRequest\"] = this.dysplasiaRequest ? this.dysplasiaRequest.toJSON() : undefined;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.userDysplasiaResults)) {\n data[\"userDysplasiaResults\"] = [];\n for (let item of this.userDysplasiaResults)\n data[\"userDysplasiaResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDogDysplasiaTransient {\n dogDysplasiaTransientId?: number;\n dysplasiaRequestId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n isRefused?: boolean;\n officialRemark?: string | undefined;\n otherRemark?: string | undefined;\n dysplasiaRequest?: DysplasiaRequest | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n userDysplasiaResults?: UserDysplasiaResult[] | undefined;\n}\n\nexport class DysplasiaRequest implements IDysplasiaRequest {\n dysplasiaRequestId?: number;\n requestId?: number;\n dogId?: number;\n isAppeal?: boolean;\n appealRequestId?: number | undefined;\n vetId?: number | undefined;\n clinicId?: number | undefined;\n radioDate?: Date;\n remark?: string | undefined;\n position?: EDysplasiaPosition | undefined;\n commissionType?: ECommissionType | undefined;\n request?: Request | undefined;\n appealRequest?: Request | undefined;\n dog?: Dog | undefined;\n vet?: Veterinary | undefined;\n clinic?: Clinic | undefined;\n dogDysplasiaTransients?: DogDysplasiaTransient[] | undefined;\n dogDysplasias?: DogDysplasia[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDysplasiaRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.isAppeal = _data[\"isAppeal\"];\n this.appealRequestId = _data[\"appealRequestId\"];\n this.vetId = _data[\"vetId\"];\n this.clinicId = _data[\"clinicId\"];\n this.radioDate = _data[\"radioDate\"] ? new Date(_data[\"radioDate\"].toString()) : undefined;\n this.remark = _data[\"remark\"];\n this.position = _data[\"position\"];\n this.commissionType = _data[\"commissionType\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.appealRequest = _data[\"appealRequest\"] ? Request.fromJS(_data[\"appealRequest\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.vet = _data[\"vet\"] ? Veterinary.fromJS(_data[\"vet\"]) : undefined;\n this.clinic = _data[\"clinic\"] ? Clinic.fromJS(_data[\"clinic\"]) : undefined;\n if (Array.isArray(_data[\"dogDysplasiaTransients\"])) {\n this.dogDysplasiaTransients = [] as any;\n for (let item of _data[\"dogDysplasiaTransients\"])\n this.dogDysplasiaTransients!.push(DogDysplasiaTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogDysplasias\"])) {\n this.dogDysplasias = [] as any;\n for (let item of _data[\"dogDysplasias\"])\n this.dogDysplasias!.push(DogDysplasia.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DysplasiaRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"isAppeal\"] = this.isAppeal;\n data[\"appealRequestId\"] = this.appealRequestId;\n data[\"vetId\"] = this.vetId;\n data[\"clinicId\"] = this.clinicId;\n data[\"radioDate\"] = this.radioDate ? this.radioDate.toISOString() : undefined;\n data[\"remark\"] = this.remark;\n data[\"position\"] = this.position;\n data[\"commissionType\"] = this.commissionType;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"appealRequest\"] = this.appealRequest ? this.appealRequest.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"vet\"] = this.vet ? this.vet.toJSON() : undefined;\n data[\"clinic\"] = this.clinic ? this.clinic.toJSON() : undefined;\n if (Array.isArray(this.dogDysplasiaTransients)) {\n data[\"dogDysplasiaTransients\"] = [];\n for (let item of this.dogDysplasiaTransients)\n data[\"dogDysplasiaTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogDysplasias)) {\n data[\"dogDysplasias\"] = [];\n for (let item of this.dogDysplasias)\n data[\"dogDysplasias\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDysplasiaRequest {\n dysplasiaRequestId?: number;\n requestId?: number;\n dogId?: number;\n isAppeal?: boolean;\n appealRequestId?: number | undefined;\n vetId?: number | undefined;\n clinicId?: number | undefined;\n radioDate?: Date;\n remark?: string | undefined;\n position?: EDysplasiaPosition | undefined;\n commissionType?: ECommissionType | undefined;\n request?: Request | undefined;\n appealRequest?: Request | undefined;\n dog?: Dog | undefined;\n vet?: Veterinary | undefined;\n clinic?: Clinic | undefined;\n dogDysplasiaTransients?: DogDysplasiaTransient[] | undefined;\n dogDysplasias?: DogDysplasia[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EDysplasiaPosition {\n VeryEasy = \"VeryEasy\",\n Easy = \"Easy\",\n Hard = \"Hard\",\n Impossible = \"Impossible\",\n}\n\nexport enum ECommissionType {\n ClassicCommission = \"ClassicCommission\",\n GentCommission = \"GentCommission\",\n}\n\nexport class Dog implements IDog {\n dogId?: number;\n firstName?: string | undefined;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n unknownMother?: boolean;\n motherDogId?: number | undefined;\n unknownFather?: boolean;\n fatherDogId?: number | undefined;\n kennelId?: number | undefined;\n breedId?: number;\n colorId?: number | undefined;\n dogTypeId?: number | undefined;\n sex?: EDogSex;\n remark?: string | undefined;\n sharepointUri?: string | undefined;\n countryId?: number | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n dockedTail?: boolean;\n awaitingValidation?: boolean;\n socialBehaviour?: boolean;\n breedingAuthorized?: boolean;\n numberOfImportTries?: number;\n workCertification?: string | undefined;\n tatoo?: string | undefined;\n cegekaId?: string | undefined;\n internalNumber?: string | undefined;\n computedName?: string | undefined;\n computedPedigree?: string | undefined;\n computedDogChip?: string | undefined;\n computedSecondDogChip?: string | undefined;\n as400Titles?: string | undefined;\n as400Pedigree?: string | undefined;\n pedigreePrintedOn?: Date | undefined;\n breed?: Breed | undefined;\n color?: Color | undefined;\n country?: Country | undefined;\n dogType?: DogType | undefined;\n father?: Dog | undefined;\n mother?: Dog | undefined;\n kennel?: Kennel | undefined;\n healthTestSingleCharacteristicTransients?: HealthTestSingleCharacteristicTransient[] | undefined;\n pedigreeRequests?: PedigreeRequest[] | undefined;\n dogChips?: DogChip[] | undefined;\n dogConditionsForcedValues?: DogConditionsForcedValue[] | undefined;\n broodRequestsFathers?: BroodRequestsFather[] | undefined;\n healthTestRequestsTransients?: HealthTestRequestCharacteristicTransient[] | undefined;\n dogHealthTestValidations?: DogHealthTestValidation[] | undefined;\n broodRequests?: BroodRequest[] | undefined;\n expatriationRequests?: ExpatriationRequest[] | undefined;\n dogHealthTestCharacteristicValueTransients?: DogHealthTestCharacteristicValueTransient[] | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n childrenAsMother?: Dog[] | undefined;\n childrenAsFather?: Dog[] | undefined;\n dogTransients?: DogTransient[] | undefined;\n dogBroodRequestsTransientsAsFather?: DogBroodRequestsTransient[] | undefined;\n workAttestRequests?: WorkAttestRequest[] | undefined;\n pedigreeDuplicataRequests?: PedigreeDuplicataRequest[] | undefined;\n dogOwnershipChangeRequests?: DogOwnershipChangeRequest[] | undefined;\n importRequestTransientOwnerships?: ImportRequestTransientOwnership[] | undefined;\n dogsCharacteristicsValuesTransients?: DogsCharacteristicsValuesTransient[] | undefined;\n dogsOwnerships?: DogOwnership[] | undefined;\n dogsOwnershipsTransients?: DogOwnershipTransient[] | undefined;\n dogTitlesTransients?: DogTitlesTransient[] | undefined;\n pedigrees?: Pedigree[] | undefined;\n dogsTitles?: DogTitle[] | undefined;\n workbooks?: Workbook[] | undefined;\n dnaResults?: DogDnaResult[] | undefined;\n dogHealthTestDnaResultTransients?: DogHealthTestDnaResultTransient[] | undefined;\n dogsCharacteristicsValues?: DogCharacteristicValue[] | undefined;\n titleRequests?: TitleRequest[] | undefined;\n workbookRequests?: WorkbookRequest[] | undefined;\n transientWorkbooks?: TransientWorkbook[] | undefined;\n dogTempOwnershipChangeRequests?: DogTempOwnershipChangeRequest[] | undefined;\n importRequests?: ImportRequest[] | undefined;\n dysplasiaRequests?: DysplasiaRequest[] | undefined;\n dogDysplasias?: DogDysplasia[] | undefined;\n dogsBreeders?: DogsBreeder[] | undefined;\n dogActions?: DogAction[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDog) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.firstName = _data[\"firstName\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n this.unknownMother = _data[\"unknownMother\"];\n this.motherDogId = _data[\"motherDogId\"];\n this.unknownFather = _data[\"unknownFather\"];\n this.fatherDogId = _data[\"fatherDogId\"];\n this.kennelId = _data[\"kennelId\"];\n this.breedId = _data[\"breedId\"];\n this.colorId = _data[\"colorId\"];\n this.dogTypeId = _data[\"dogTypeId\"];\n this.sex = _data[\"sex\"];\n this.remark = _data[\"remark\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.countryId = _data[\"countryId\"];\n this.exclusionReason = _data[\"exclusionReason\"];\n this.exclusionStartDate = _data[\"exclusionStartDate\"] ? new Date(_data[\"exclusionStartDate\"].toString()) : undefined;\n this.exclusionEndDate = _data[\"exclusionEndDate\"] ? new Date(_data[\"exclusionEndDate\"].toString()) : undefined;\n this.dockedTail = _data[\"dockedTail\"];\n this.awaitingValidation = _data[\"awaitingValidation\"];\n this.socialBehaviour = _data[\"socialBehaviour\"];\n this.breedingAuthorized = _data[\"breedingAuthorized\"];\n this.numberOfImportTries = _data[\"numberOfImportTries\"];\n this.workCertification = _data[\"workCertification\"];\n this.tatoo = _data[\"tatoo\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.internalNumber = _data[\"internalNumber\"];\n this.computedName = _data[\"computedName\"];\n this.computedPedigree = _data[\"computedPedigree\"];\n this.computedDogChip = _data[\"computedDogChip\"];\n this.computedSecondDogChip = _data[\"computedSecondDogChip\"];\n this.as400Titles = _data[\"as400Titles\"];\n this.as400Pedigree = _data[\"as400Pedigree\"];\n this.pedigreePrintedOn = _data[\"pedigreePrintedOn\"] ? new Date(_data[\"pedigreePrintedOn\"].toString()) : undefined;\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.color = _data[\"color\"] ? Color.fromJS(_data[\"color\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.dogType = _data[\"dogType\"] ? DogType.fromJS(_data[\"dogType\"]) : undefined;\n this.father = _data[\"father\"] ? Dog.fromJS(_data[\"father\"]) : undefined;\n this.mother = _data[\"mother\"] ? Dog.fromJS(_data[\"mother\"]) : undefined;\n this.kennel = _data[\"kennel\"] ? Kennel.fromJS(_data[\"kennel\"]) : undefined;\n if (Array.isArray(_data[\"healthTestSingleCharacteristicTransients\"])) {\n this.healthTestSingleCharacteristicTransients = [] as any;\n for (let item of _data[\"healthTestSingleCharacteristicTransients\"])\n this.healthTestSingleCharacteristicTransients!.push(HealthTestSingleCharacteristicTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"pedigreeRequests\"])) {\n this.pedigreeRequests = [] as any;\n for (let item of _data[\"pedigreeRequests\"])\n this.pedigreeRequests!.push(PedigreeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dogChips\"])) {\n this.dogChips = [] as any;\n for (let item of _data[\"dogChips\"])\n this.dogChips!.push(DogChip.fromJS(item));\n }\n if (Array.isArray(_data[\"dogConditionsForcedValues\"])) {\n this.dogConditionsForcedValues = [] as any;\n for (let item of _data[\"dogConditionsForcedValues\"])\n this.dogConditionsForcedValues!.push(DogConditionsForcedValue.fromJS(item));\n }\n if (Array.isArray(_data[\"broodRequestsFathers\"])) {\n this.broodRequestsFathers = [] as any;\n for (let item of _data[\"broodRequestsFathers\"])\n this.broodRequestsFathers!.push(BroodRequestsFather.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestRequestsTransients\"])) {\n this.healthTestRequestsTransients = [] as any;\n for (let item of _data[\"healthTestRequestsTransients\"])\n this.healthTestRequestsTransients!.push(HealthTestRequestCharacteristicTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogHealthTestValidations\"])) {\n this.dogHealthTestValidations = [] as any;\n for (let item of _data[\"dogHealthTestValidations\"])\n this.dogHealthTestValidations!.push(DogHealthTestValidation.fromJS(item));\n }\n if (Array.isArray(_data[\"broodRequests\"])) {\n this.broodRequests = [] as any;\n for (let item of _data[\"broodRequests\"])\n this.broodRequests!.push(BroodRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"expatriationRequests\"])) {\n this.expatriationRequests = [] as any;\n for (let item of _data[\"expatriationRequests\"])\n this.expatriationRequests!.push(ExpatriationRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dogHealthTestCharacteristicValueTransients\"])) {\n this.dogHealthTestCharacteristicValueTransients = [] as any;\n for (let item of _data[\"dogHealthTestCharacteristicValueTransients\"])\n this.dogHealthTestCharacteristicValueTransients!.push(DogHealthTestCharacteristicValueTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionResults\"])) {\n this.competitionResults = [] as any;\n for (let item of _data[\"competitionResults\"])\n this.competitionResults!.push(CompetitionResult.fromJS(item));\n }\n if (Array.isArray(_data[\"childrenAsMother\"])) {\n this.childrenAsMother = [] as any;\n for (let item of _data[\"childrenAsMother\"])\n this.childrenAsMother!.push(Dog.fromJS(item));\n }\n if (Array.isArray(_data[\"childrenAsFather\"])) {\n this.childrenAsFather = [] as any;\n for (let item of _data[\"childrenAsFather\"])\n this.childrenAsFather!.push(Dog.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTransients\"])) {\n this.dogTransients = [] as any;\n for (let item of _data[\"dogTransients\"])\n this.dogTransients!.push(DogTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogBroodRequestsTransientsAsFather\"])) {\n this.dogBroodRequestsTransientsAsFather = [] as any;\n for (let item of _data[\"dogBroodRequestsTransientsAsFather\"])\n this.dogBroodRequestsTransientsAsFather!.push(DogBroodRequestsTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"workAttestRequests\"])) {\n this.workAttestRequests = [] as any;\n for (let item of _data[\"workAttestRequests\"])\n this.workAttestRequests!.push(WorkAttestRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"pedigreeDuplicataRequests\"])) {\n this.pedigreeDuplicataRequests = [] as any;\n for (let item of _data[\"pedigreeDuplicataRequests\"])\n this.pedigreeDuplicataRequests!.push(PedigreeDuplicataRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dogOwnershipChangeRequests\"])) {\n this.dogOwnershipChangeRequests = [] as any;\n for (let item of _data[\"dogOwnershipChangeRequests\"])\n this.dogOwnershipChangeRequests!.push(DogOwnershipChangeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"importRequestTransientOwnerships\"])) {\n this.importRequestTransientOwnerships = [] as any;\n for (let item of _data[\"importRequestTransientOwnerships\"])\n this.importRequestTransientOwnerships!.push(ImportRequestTransientOwnership.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsCharacteristicsValuesTransients\"])) {\n this.dogsCharacteristicsValuesTransients = [] as any;\n for (let item of _data[\"dogsCharacteristicsValuesTransients\"])\n this.dogsCharacteristicsValuesTransients!.push(DogsCharacteristicsValuesTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsOwnerships\"])) {\n this.dogsOwnerships = [] as any;\n for (let item of _data[\"dogsOwnerships\"])\n this.dogsOwnerships!.push(DogOwnership.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsOwnershipsTransients\"])) {\n this.dogsOwnershipsTransients = [] as any;\n for (let item of _data[\"dogsOwnershipsTransients\"])\n this.dogsOwnershipsTransients!.push(DogOwnershipTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTitlesTransients\"])) {\n this.dogTitlesTransients = [] as any;\n for (let item of _data[\"dogTitlesTransients\"])\n this.dogTitlesTransients!.push(DogTitlesTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"pedigrees\"])) {\n this.pedigrees = [] as any;\n for (let item of _data[\"pedigrees\"])\n this.pedigrees!.push(Pedigree.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsTitles\"])) {\n this.dogsTitles = [] as any;\n for (let item of _data[\"dogsTitles\"])\n this.dogsTitles!.push(DogTitle.fromJS(item));\n }\n if (Array.isArray(_data[\"workbooks\"])) {\n this.workbooks = [] as any;\n for (let item of _data[\"workbooks\"])\n this.workbooks!.push(Workbook.fromJS(item));\n }\n if (Array.isArray(_data[\"dnaResults\"])) {\n this.dnaResults = [] as any;\n for (let item of _data[\"dnaResults\"])\n this.dnaResults!.push(DogDnaResult.fromJS(item));\n }\n if (Array.isArray(_data[\"dogHealthTestDnaResultTransients\"])) {\n this.dogHealthTestDnaResultTransients = [] as any;\n for (let item of _data[\"dogHealthTestDnaResultTransients\"])\n this.dogHealthTestDnaResultTransients!.push(DogHealthTestDnaResultTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsCharacteristicsValues\"])) {\n this.dogsCharacteristicsValues = [] as any;\n for (let item of _data[\"dogsCharacteristicsValues\"])\n this.dogsCharacteristicsValues!.push(DogCharacteristicValue.fromJS(item));\n }\n if (Array.isArray(_data[\"titleRequests\"])) {\n this.titleRequests = [] as any;\n for (let item of _data[\"titleRequests\"])\n this.titleRequests!.push(TitleRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"workbookRequests\"])) {\n this.workbookRequests = [] as any;\n for (let item of _data[\"workbookRequests\"])\n this.workbookRequests!.push(WorkbookRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"transientWorkbooks\"])) {\n this.transientWorkbooks = [] as any;\n for (let item of _data[\"transientWorkbooks\"])\n this.transientWorkbooks!.push(TransientWorkbook.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTempOwnershipChangeRequests\"])) {\n this.dogTempOwnershipChangeRequests = [] as any;\n for (let item of _data[\"dogTempOwnershipChangeRequests\"])\n this.dogTempOwnershipChangeRequests!.push(DogTempOwnershipChangeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"importRequests\"])) {\n this.importRequests = [] as any;\n for (let item of _data[\"importRequests\"])\n this.importRequests!.push(ImportRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dysplasiaRequests\"])) {\n this.dysplasiaRequests = [] as any;\n for (let item of _data[\"dysplasiaRequests\"])\n this.dysplasiaRequests!.push(DysplasiaRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dogDysplasias\"])) {\n this.dogDysplasias = [] as any;\n for (let item of _data[\"dogDysplasias\"])\n this.dogDysplasias!.push(DogDysplasia.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsBreeders\"])) {\n this.dogsBreeders = [] as any;\n for (let item of _data[\"dogsBreeders\"])\n this.dogsBreeders!.push(DogsBreeder.fromJS(item));\n }\n if (Array.isArray(_data[\"dogActions\"])) {\n this.dogActions = [] as any;\n for (let item of _data[\"dogActions\"])\n this.dogActions!.push(DogAction.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Dog {\n data = typeof data === 'object' ? data : {};\n let result = new Dog();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"firstName\"] = this.firstName;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n data[\"unknownMother\"] = this.unknownMother;\n data[\"motherDogId\"] = this.motherDogId;\n data[\"unknownFather\"] = this.unknownFather;\n data[\"fatherDogId\"] = this.fatherDogId;\n data[\"kennelId\"] = this.kennelId;\n data[\"breedId\"] = this.breedId;\n data[\"colorId\"] = this.colorId;\n data[\"dogTypeId\"] = this.dogTypeId;\n data[\"sex\"] = this.sex;\n data[\"remark\"] = this.remark;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"countryId\"] = this.countryId;\n data[\"exclusionReason\"] = this.exclusionReason;\n data[\"exclusionStartDate\"] = this.exclusionStartDate ? this.exclusionStartDate.toISOString() : undefined;\n data[\"exclusionEndDate\"] = this.exclusionEndDate ? this.exclusionEndDate.toISOString() : undefined;\n data[\"dockedTail\"] = this.dockedTail;\n data[\"awaitingValidation\"] = this.awaitingValidation;\n data[\"socialBehaviour\"] = this.socialBehaviour;\n data[\"breedingAuthorized\"] = this.breedingAuthorized;\n data[\"numberOfImportTries\"] = this.numberOfImportTries;\n data[\"workCertification\"] = this.workCertification;\n data[\"tatoo\"] = this.tatoo;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"internalNumber\"] = this.internalNumber;\n data[\"computedName\"] = this.computedName;\n data[\"computedPedigree\"] = this.computedPedigree;\n data[\"computedDogChip\"] = this.computedDogChip;\n data[\"computedSecondDogChip\"] = this.computedSecondDogChip;\n data[\"as400Titles\"] = this.as400Titles;\n data[\"as400Pedigree\"] = this.as400Pedigree;\n data[\"pedigreePrintedOn\"] = this.pedigreePrintedOn ? this.pedigreePrintedOn.toISOString() : undefined;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"color\"] = this.color ? this.color.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"dogType\"] = this.dogType ? this.dogType.toJSON() : undefined;\n data[\"father\"] = this.father ? this.father.toJSON() : undefined;\n data[\"mother\"] = this.mother ? this.mother.toJSON() : undefined;\n data[\"kennel\"] = this.kennel ? this.kennel.toJSON() : undefined;\n if (Array.isArray(this.healthTestSingleCharacteristicTransients)) {\n data[\"healthTestSingleCharacteristicTransients\"] = [];\n for (let item of this.healthTestSingleCharacteristicTransients)\n data[\"healthTestSingleCharacteristicTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.pedigreeRequests)) {\n data[\"pedigreeRequests\"] = [];\n for (let item of this.pedigreeRequests)\n data[\"pedigreeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogChips)) {\n data[\"dogChips\"] = [];\n for (let item of this.dogChips)\n data[\"dogChips\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogConditionsForcedValues)) {\n data[\"dogConditionsForcedValues\"] = [];\n for (let item of this.dogConditionsForcedValues)\n data[\"dogConditionsForcedValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.broodRequestsFathers)) {\n data[\"broodRequestsFathers\"] = [];\n for (let item of this.broodRequestsFathers)\n data[\"broodRequestsFathers\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestRequestsTransients)) {\n data[\"healthTestRequestsTransients\"] = [];\n for (let item of this.healthTestRequestsTransients)\n data[\"healthTestRequestsTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogHealthTestValidations)) {\n data[\"dogHealthTestValidations\"] = [];\n for (let item of this.dogHealthTestValidations)\n data[\"dogHealthTestValidations\"].push(item.toJSON());\n }\n if (Array.isArray(this.broodRequests)) {\n data[\"broodRequests\"] = [];\n for (let item of this.broodRequests)\n data[\"broodRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.expatriationRequests)) {\n data[\"expatriationRequests\"] = [];\n for (let item of this.expatriationRequests)\n data[\"expatriationRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogHealthTestCharacteristicValueTransients)) {\n data[\"dogHealthTestCharacteristicValueTransients\"] = [];\n for (let item of this.dogHealthTestCharacteristicValueTransients)\n data[\"dogHealthTestCharacteristicValueTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionResults)) {\n data[\"competitionResults\"] = [];\n for (let item of this.competitionResults)\n data[\"competitionResults\"].push(item.toJSON());\n }\n if (Array.isArray(this.childrenAsMother)) {\n data[\"childrenAsMother\"] = [];\n for (let item of this.childrenAsMother)\n data[\"childrenAsMother\"].push(item.toJSON());\n }\n if (Array.isArray(this.childrenAsFather)) {\n data[\"childrenAsFather\"] = [];\n for (let item of this.childrenAsFather)\n data[\"childrenAsFather\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTransients)) {\n data[\"dogTransients\"] = [];\n for (let item of this.dogTransients)\n data[\"dogTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogBroodRequestsTransientsAsFather)) {\n data[\"dogBroodRequestsTransientsAsFather\"] = [];\n for (let item of this.dogBroodRequestsTransientsAsFather)\n data[\"dogBroodRequestsTransientsAsFather\"].push(item.toJSON());\n }\n if (Array.isArray(this.workAttestRequests)) {\n data[\"workAttestRequests\"] = [];\n for (let item of this.workAttestRequests)\n data[\"workAttestRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.pedigreeDuplicataRequests)) {\n data[\"pedigreeDuplicataRequests\"] = [];\n for (let item of this.pedigreeDuplicataRequests)\n data[\"pedigreeDuplicataRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogOwnershipChangeRequests)) {\n data[\"dogOwnershipChangeRequests\"] = [];\n for (let item of this.dogOwnershipChangeRequests)\n data[\"dogOwnershipChangeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.importRequestTransientOwnerships)) {\n data[\"importRequestTransientOwnerships\"] = [];\n for (let item of this.importRequestTransientOwnerships)\n data[\"importRequestTransientOwnerships\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsCharacteristicsValuesTransients)) {\n data[\"dogsCharacteristicsValuesTransients\"] = [];\n for (let item of this.dogsCharacteristicsValuesTransients)\n data[\"dogsCharacteristicsValuesTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsOwnerships)) {\n data[\"dogsOwnerships\"] = [];\n for (let item of this.dogsOwnerships)\n data[\"dogsOwnerships\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsOwnershipsTransients)) {\n data[\"dogsOwnershipsTransients\"] = [];\n for (let item of this.dogsOwnershipsTransients)\n data[\"dogsOwnershipsTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTitlesTransients)) {\n data[\"dogTitlesTransients\"] = [];\n for (let item of this.dogTitlesTransients)\n data[\"dogTitlesTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.pedigrees)) {\n data[\"pedigrees\"] = [];\n for (let item of this.pedigrees)\n data[\"pedigrees\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsTitles)) {\n data[\"dogsTitles\"] = [];\n for (let item of this.dogsTitles)\n data[\"dogsTitles\"].push(item.toJSON());\n }\n if (Array.isArray(this.workbooks)) {\n data[\"workbooks\"] = [];\n for (let item of this.workbooks)\n data[\"workbooks\"].push(item.toJSON());\n }\n if (Array.isArray(this.dnaResults)) {\n data[\"dnaResults\"] = [];\n for (let item of this.dnaResults)\n data[\"dnaResults\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogHealthTestDnaResultTransients)) {\n data[\"dogHealthTestDnaResultTransients\"] = [];\n for (let item of this.dogHealthTestDnaResultTransients)\n data[\"dogHealthTestDnaResultTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsCharacteristicsValues)) {\n data[\"dogsCharacteristicsValues\"] = [];\n for (let item of this.dogsCharacteristicsValues)\n data[\"dogsCharacteristicsValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.titleRequests)) {\n data[\"titleRequests\"] = [];\n for (let item of this.titleRequests)\n data[\"titleRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.workbookRequests)) {\n data[\"workbookRequests\"] = [];\n for (let item of this.workbookRequests)\n data[\"workbookRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientWorkbooks)) {\n data[\"transientWorkbooks\"] = [];\n for (let item of this.transientWorkbooks)\n data[\"transientWorkbooks\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTempOwnershipChangeRequests)) {\n data[\"dogTempOwnershipChangeRequests\"] = [];\n for (let item of this.dogTempOwnershipChangeRequests)\n data[\"dogTempOwnershipChangeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.importRequests)) {\n data[\"importRequests\"] = [];\n for (let item of this.importRequests)\n data[\"importRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dysplasiaRequests)) {\n data[\"dysplasiaRequests\"] = [];\n for (let item of this.dysplasiaRequests)\n data[\"dysplasiaRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogDysplasias)) {\n data[\"dogDysplasias\"] = [];\n for (let item of this.dogDysplasias)\n data[\"dogDysplasias\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsBreeders)) {\n data[\"dogsBreeders\"] = [];\n for (let item of this.dogsBreeders)\n data[\"dogsBreeders\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogActions)) {\n data[\"dogActions\"] = [];\n for (let item of this.dogActions)\n data[\"dogActions\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDog {\n dogId?: number;\n firstName?: string | undefined;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n unknownMother?: boolean;\n motherDogId?: number | undefined;\n unknownFather?: boolean;\n fatherDogId?: number | undefined;\n kennelId?: number | undefined;\n breedId?: number;\n colorId?: number | undefined;\n dogTypeId?: number | undefined;\n sex?: EDogSex;\n remark?: string | undefined;\n sharepointUri?: string | undefined;\n countryId?: number | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n dockedTail?: boolean;\n awaitingValidation?: boolean;\n socialBehaviour?: boolean;\n breedingAuthorized?: boolean;\n numberOfImportTries?: number;\n workCertification?: string | undefined;\n tatoo?: string | undefined;\n cegekaId?: string | undefined;\n internalNumber?: string | undefined;\n computedName?: string | undefined;\n computedPedigree?: string | undefined;\n computedDogChip?: string | undefined;\n computedSecondDogChip?: string | undefined;\n as400Titles?: string | undefined;\n as400Pedigree?: string | undefined;\n pedigreePrintedOn?: Date | undefined;\n breed?: Breed | undefined;\n color?: Color | undefined;\n country?: Country | undefined;\n dogType?: DogType | undefined;\n father?: Dog | undefined;\n mother?: Dog | undefined;\n kennel?: Kennel | undefined;\n healthTestSingleCharacteristicTransients?: HealthTestSingleCharacteristicTransient[] | undefined;\n pedigreeRequests?: PedigreeRequest[] | undefined;\n dogChips?: DogChip[] | undefined;\n dogConditionsForcedValues?: DogConditionsForcedValue[] | undefined;\n broodRequestsFathers?: BroodRequestsFather[] | undefined;\n healthTestRequestsTransients?: HealthTestRequestCharacteristicTransient[] | undefined;\n dogHealthTestValidations?: DogHealthTestValidation[] | undefined;\n broodRequests?: BroodRequest[] | undefined;\n expatriationRequests?: ExpatriationRequest[] | undefined;\n dogHealthTestCharacteristicValueTransients?: DogHealthTestCharacteristicValueTransient[] | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n childrenAsMother?: Dog[] | undefined;\n childrenAsFather?: Dog[] | undefined;\n dogTransients?: DogTransient[] | undefined;\n dogBroodRequestsTransientsAsFather?: DogBroodRequestsTransient[] | undefined;\n workAttestRequests?: WorkAttestRequest[] | undefined;\n pedigreeDuplicataRequests?: PedigreeDuplicataRequest[] | undefined;\n dogOwnershipChangeRequests?: DogOwnershipChangeRequest[] | undefined;\n importRequestTransientOwnerships?: ImportRequestTransientOwnership[] | undefined;\n dogsCharacteristicsValuesTransients?: DogsCharacteristicsValuesTransient[] | undefined;\n dogsOwnerships?: DogOwnership[] | undefined;\n dogsOwnershipsTransients?: DogOwnershipTransient[] | undefined;\n dogTitlesTransients?: DogTitlesTransient[] | undefined;\n pedigrees?: Pedigree[] | undefined;\n dogsTitles?: DogTitle[] | undefined;\n workbooks?: Workbook[] | undefined;\n dnaResults?: DogDnaResult[] | undefined;\n dogHealthTestDnaResultTransients?: DogHealthTestDnaResultTransient[] | undefined;\n dogsCharacteristicsValues?: DogCharacteristicValue[] | undefined;\n titleRequests?: TitleRequest[] | undefined;\n workbookRequests?: WorkbookRequest[] | undefined;\n transientWorkbooks?: TransientWorkbook[] | undefined;\n dogTempOwnershipChangeRequests?: DogTempOwnershipChangeRequest[] | undefined;\n importRequests?: ImportRequest[] | undefined;\n dysplasiaRequests?: DysplasiaRequest[] | undefined;\n dogDysplasias?: DogDysplasia[] | undefined;\n dogsBreeders?: DogsBreeder[] | undefined;\n dogActions?: DogAction[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EDogSex {\n Male = \"Male\",\n Female = \"Female\",\n}\n\nexport class Color implements IColor {\n colorId?: number;\n code?: string | undefined;\n isMerle?: boolean | undefined;\n official?: boolean;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n dogs?: Dog[] | undefined;\n breedsColors?: BreedColor[] | undefined;\n colorTranslations?: ColorTranslation[] | undefined;\n dogBroodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IColor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.colorId = _data[\"colorId\"];\n this.code = _data[\"code\"];\n this.isMerle = _data[\"isMerle\"];\n this.official = _data[\"official\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n if (Array.isArray(_data[\"dogs\"])) {\n this.dogs = [] as any;\n for (let item of _data[\"dogs\"])\n this.dogs!.push(Dog.fromJS(item));\n }\n if (Array.isArray(_data[\"breedsColors\"])) {\n this.breedsColors = [] as any;\n for (let item of _data[\"breedsColors\"])\n this.breedsColors!.push(BreedColor.fromJS(item));\n }\n if (Array.isArray(_data[\"colorTranslations\"])) {\n this.colorTranslations = [] as any;\n for (let item of _data[\"colorTranslations\"])\n this.colorTranslations!.push(ColorTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"dogBroodRequestsTransients\"])) {\n this.dogBroodRequestsTransients = [] as any;\n for (let item of _data[\"dogBroodRequestsTransients\"])\n this.dogBroodRequestsTransients!.push(DogBroodRequestsTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Color {\n data = typeof data === 'object' ? data : {};\n let result = new Color();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"colorId\"] = this.colorId;\n data[\"code\"] = this.code;\n data[\"isMerle\"] = this.isMerle;\n data[\"official\"] = this.official;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n if (Array.isArray(this.dogs)) {\n data[\"dogs\"] = [];\n for (let item of this.dogs)\n data[\"dogs\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedsColors)) {\n data[\"breedsColors\"] = [];\n for (let item of this.breedsColors)\n data[\"breedsColors\"].push(item.toJSON());\n }\n if (Array.isArray(this.colorTranslations)) {\n data[\"colorTranslations\"] = [];\n for (let item of this.colorTranslations)\n data[\"colorTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogBroodRequestsTransients)) {\n data[\"dogBroodRequestsTransients\"] = [];\n for (let item of this.dogBroodRequestsTransients)\n data[\"dogBroodRequestsTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IColor {\n colorId?: number;\n code?: string | undefined;\n isMerle?: boolean | undefined;\n official?: boolean;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n dogs?: Dog[] | undefined;\n breedsColors?: BreedColor[] | undefined;\n colorTranslations?: ColorTranslation[] | undefined;\n dogBroodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedColor implements IBreedColor {\n breedColorId?: number;\n breedId?: number;\n colorId?: number;\n breed?: Breed | undefined;\n color?: Color | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedColor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedColorId = _data[\"breedColorId\"];\n this.breedId = _data[\"breedId\"];\n this.colorId = _data[\"colorId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.color = _data[\"color\"] ? Color.fromJS(_data[\"color\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedColor {\n data = typeof data === 'object' ? data : {};\n let result = new BreedColor();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedColorId\"] = this.breedColorId;\n data[\"breedId\"] = this.breedId;\n data[\"colorId\"] = this.colorId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"color\"] = this.color ? this.color.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedColor {\n breedColorId?: number;\n breedId?: number;\n colorId?: number;\n breed?: Breed | undefined;\n color?: Color | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ColorTranslation implements IColorTranslation {\n colorTranslationId?: number;\n colorId?: number;\n languageId?: number;\n text?: string | undefined;\n color?: Color | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IColorTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.colorTranslationId = _data[\"colorTranslationId\"];\n this.colorId = _data[\"colorId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.color = _data[\"color\"] ? Color.fromJS(_data[\"color\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ColorTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new ColorTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"colorTranslationId\"] = this.colorTranslationId;\n data[\"colorId\"] = this.colorId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"color\"] = this.color ? this.color.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IColorTranslation {\n colorTranslationId?: number;\n colorId?: number;\n languageId?: number;\n text?: string | undefined;\n color?: Color | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogBroodRequestsTransient implements IDogBroodRequestsTransient {\n dogBroodRequestsTransientId?: number;\n deceased?: boolean;\n broodRequestId?: number;\n kennelId?: number | undefined;\n breedId?: number;\n colorId?: number | undefined;\n pedigreeId?: number | undefined;\n chipNumber?: string | undefined;\n name?: string | undefined;\n fatherId?: number | undefined;\n countryPedigreePrefixId?: number | undefined;\n correspondingDogId?: number | undefined;\n labStatusId?: number | undefined;\n available?: boolean;\n certificateReceived?: boolean;\n analysisDoneOn?: Date | undefined;\n lastLabStatusUpdateDoneOn?: Date | undefined;\n documentSent?: boolean;\n dockedTail?: boolean;\n sex?: EDogSex | undefined;\n broodRequest?: BroodRequest | undefined;\n countryPedigreePrefix?: CountryPedigreePrefix | undefined;\n kennel?: Kennel | undefined;\n breed?: Breed | undefined;\n color?: Color | undefined;\n pedigree?: Pedigree | undefined;\n father?: Dog | undefined;\n correspondingDog?: Dog | undefined;\n labStatus?: LabStatus | undefined;\n dogBroodRequestTransientOwners?: DogBroodRequestTransientOwner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogBroodRequestsTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogBroodRequestsTransientId = _data[\"dogBroodRequestsTransientId\"];\n this.deceased = _data[\"deceased\"];\n this.broodRequestId = _data[\"broodRequestId\"];\n this.kennelId = _data[\"kennelId\"];\n this.breedId = _data[\"breedId\"];\n this.colorId = _data[\"colorId\"];\n this.pedigreeId = _data[\"pedigreeId\"];\n this.chipNumber = _data[\"chipNumber\"];\n this.name = _data[\"name\"];\n this.fatherId = _data[\"fatherId\"];\n this.countryPedigreePrefixId = _data[\"countryPedigreePrefixId\"];\n this.correspondingDogId = _data[\"correspondingDogId\"];\n this.labStatusId = _data[\"labStatusId\"];\n this.available = _data[\"available\"];\n this.certificateReceived = _data[\"certificateReceived\"];\n this.analysisDoneOn = _data[\"analysisDoneOn\"] ? new Date(_data[\"analysisDoneOn\"].toString()) : undefined;\n this.lastLabStatusUpdateDoneOn = _data[\"lastLabStatusUpdateDoneOn\"] ? new Date(_data[\"lastLabStatusUpdateDoneOn\"].toString()) : undefined;\n this.documentSent = _data[\"documentSent\"];\n this.dockedTail = _data[\"dockedTail\"];\n this.sex = _data[\"sex\"];\n this.broodRequest = _data[\"broodRequest\"] ? BroodRequest.fromJS(_data[\"broodRequest\"]) : undefined;\n this.countryPedigreePrefix = _data[\"countryPedigreePrefix\"] ? CountryPedigreePrefix.fromJS(_data[\"countryPedigreePrefix\"]) : undefined;\n this.kennel = _data[\"kennel\"] ? Kennel.fromJS(_data[\"kennel\"]) : undefined;\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.color = _data[\"color\"] ? Color.fromJS(_data[\"color\"]) : undefined;\n this.pedigree = _data[\"pedigree\"] ? Pedigree.fromJS(_data[\"pedigree\"]) : undefined;\n this.father = _data[\"father\"] ? Dog.fromJS(_data[\"father\"]) : undefined;\n this.correspondingDog = _data[\"correspondingDog\"] ? Dog.fromJS(_data[\"correspondingDog\"]) : undefined;\n this.labStatus = _data[\"labStatus\"] ? LabStatus.fromJS(_data[\"labStatus\"]) : undefined;\n if (Array.isArray(_data[\"dogBroodRequestTransientOwners\"])) {\n this.dogBroodRequestTransientOwners = [] as any;\n for (let item of _data[\"dogBroodRequestTransientOwners\"])\n this.dogBroodRequestTransientOwners!.push(DogBroodRequestTransientOwner.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogBroodRequestsTransient {\n data = typeof data === 'object' ? data : {};\n let result = new DogBroodRequestsTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogBroodRequestsTransientId\"] = this.dogBroodRequestsTransientId;\n data[\"deceased\"] = this.deceased;\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"kennelId\"] = this.kennelId;\n data[\"breedId\"] = this.breedId;\n data[\"colorId\"] = this.colorId;\n data[\"pedigreeId\"] = this.pedigreeId;\n data[\"chipNumber\"] = this.chipNumber;\n data[\"name\"] = this.name;\n data[\"fatherId\"] = this.fatherId;\n data[\"countryPedigreePrefixId\"] = this.countryPedigreePrefixId;\n data[\"correspondingDogId\"] = this.correspondingDogId;\n data[\"labStatusId\"] = this.labStatusId;\n data[\"available\"] = this.available;\n data[\"certificateReceived\"] = this.certificateReceived;\n data[\"analysisDoneOn\"] = this.analysisDoneOn ? this.analysisDoneOn.toISOString() : undefined;\n data[\"lastLabStatusUpdateDoneOn\"] = this.lastLabStatusUpdateDoneOn ? this.lastLabStatusUpdateDoneOn.toISOString() : undefined;\n data[\"documentSent\"] = this.documentSent;\n data[\"dockedTail\"] = this.dockedTail;\n data[\"sex\"] = this.sex;\n data[\"broodRequest\"] = this.broodRequest ? this.broodRequest.toJSON() : undefined;\n data[\"countryPedigreePrefix\"] = this.countryPedigreePrefix ? this.countryPedigreePrefix.toJSON() : undefined;\n data[\"kennel\"] = this.kennel ? this.kennel.toJSON() : undefined;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"color\"] = this.color ? this.color.toJSON() : undefined;\n data[\"pedigree\"] = this.pedigree ? this.pedigree.toJSON() : undefined;\n data[\"father\"] = this.father ? this.father.toJSON() : undefined;\n data[\"correspondingDog\"] = this.correspondingDog ? this.correspondingDog.toJSON() : undefined;\n data[\"labStatus\"] = this.labStatus ? this.labStatus.toJSON() : undefined;\n if (Array.isArray(this.dogBroodRequestTransientOwners)) {\n data[\"dogBroodRequestTransientOwners\"] = [];\n for (let item of this.dogBroodRequestTransientOwners)\n data[\"dogBroodRequestTransientOwners\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogBroodRequestsTransient {\n dogBroodRequestsTransientId?: number;\n deceased?: boolean;\n broodRequestId?: number;\n kennelId?: number | undefined;\n breedId?: number;\n colorId?: number | undefined;\n pedigreeId?: number | undefined;\n chipNumber?: string | undefined;\n name?: string | undefined;\n fatherId?: number | undefined;\n countryPedigreePrefixId?: number | undefined;\n correspondingDogId?: number | undefined;\n labStatusId?: number | undefined;\n available?: boolean;\n certificateReceived?: boolean;\n analysisDoneOn?: Date | undefined;\n lastLabStatusUpdateDoneOn?: Date | undefined;\n documentSent?: boolean;\n dockedTail?: boolean;\n sex?: EDogSex | undefined;\n broodRequest?: BroodRequest | undefined;\n countryPedigreePrefix?: CountryPedigreePrefix | undefined;\n kennel?: Kennel | undefined;\n breed?: Breed | undefined;\n color?: Color | undefined;\n pedigree?: Pedigree | undefined;\n father?: Dog | undefined;\n correspondingDog?: Dog | undefined;\n labStatus?: LabStatus | undefined;\n dogBroodRequestTransientOwners?: DogBroodRequestTransientOwner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BroodRequest implements IBroodRequest {\n broodRequestId?: number;\n requestId?: number;\n motherId?: number;\n numberOfPuppies?: number;\n numberOfPuppiesConfirmed?: boolean;\n progenusQuickDelivery?: boolean;\n protrusionDate?: Date;\n birthDate?: Date | undefined;\n labReference?: ELab;\n price?: number;\n number?: string | undefined;\n postalCode?: string | undefined;\n countryId?: number | undefined;\n street?: string | undefined;\n city?: string | undefined;\n kitsReceivedEmail?: boolean;\n isMadeInPortal?: boolean;\n isRegisteredLetter?: boolean;\n lastAwaitingFatherEmailSent?: Date | undefined;\n lastReminderEmailSent?: Date | undefined;\n lastBirthDateEmailSent?: Date | undefined;\n lastPuppyKitReminderEmailSent?: Date | undefined;\n puppyPicture1ShpDriveItemId?: string | undefined;\n puppyPicture2ShpDriveItemId?: string | undefined;\n puppyPicture3ShpDriveItemId?: string | undefined;\n billMotherGenealogyCompletion?: boolean;\n billFatherGenealogyCompletion?: boolean;\n babyDogPublication?: boolean;\n lastEmailForAvailableDnaSent?: Date | undefined;\n country?: Country | undefined;\n request?: Request | undefined;\n mother?: Dog | undefined;\n broodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n broodRequestsFathers?: BroodRequestsFather[] | undefined;\n dogConditionsForcedValues?: DogConditionsForcedValue[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBroodRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.broodRequestId = _data[\"broodRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.motherId = _data[\"motherId\"];\n this.numberOfPuppies = _data[\"numberOfPuppies\"];\n this.numberOfPuppiesConfirmed = _data[\"numberOfPuppiesConfirmed\"];\n this.progenusQuickDelivery = _data[\"progenusQuickDelivery\"];\n this.protrusionDate = _data[\"protrusionDate\"] ? new Date(_data[\"protrusionDate\"].toString()) : undefined;\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.labReference = _data[\"labReference\"];\n this.price = _data[\"price\"];\n this.number = _data[\"number\"];\n this.postalCode = _data[\"postalCode\"];\n this.countryId = _data[\"countryId\"];\n this.street = _data[\"street\"];\n this.city = _data[\"city\"];\n this.kitsReceivedEmail = _data[\"kitsReceivedEmail\"];\n this.isMadeInPortal = _data[\"isMadeInPortal\"];\n this.isRegisteredLetter = _data[\"isRegisteredLetter\"];\n this.lastAwaitingFatherEmailSent = _data[\"lastAwaitingFatherEmailSent\"] ? new Date(_data[\"lastAwaitingFatherEmailSent\"].toString()) : undefined;\n this.lastReminderEmailSent = _data[\"lastReminderEmailSent\"] ? new Date(_data[\"lastReminderEmailSent\"].toString()) : undefined;\n this.lastBirthDateEmailSent = _data[\"lastBirthDateEmailSent\"] ? new Date(_data[\"lastBirthDateEmailSent\"].toString()) : undefined;\n this.lastPuppyKitReminderEmailSent = _data[\"lastPuppyKitReminderEmailSent\"] ? new Date(_data[\"lastPuppyKitReminderEmailSent\"].toString()) : undefined;\n this.puppyPicture1ShpDriveItemId = _data[\"puppyPicture1ShpDriveItemId\"];\n this.puppyPicture2ShpDriveItemId = _data[\"puppyPicture2ShpDriveItemId\"];\n this.puppyPicture3ShpDriveItemId = _data[\"puppyPicture3ShpDriveItemId\"];\n this.billMotherGenealogyCompletion = _data[\"billMotherGenealogyCompletion\"];\n this.billFatherGenealogyCompletion = _data[\"billFatherGenealogyCompletion\"];\n this.babyDogPublication = _data[\"babyDogPublication\"];\n this.lastEmailForAvailableDnaSent = _data[\"lastEmailForAvailableDnaSent\"] ? new Date(_data[\"lastEmailForAvailableDnaSent\"].toString()) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.mother = _data[\"mother\"] ? Dog.fromJS(_data[\"mother\"]) : undefined;\n if (Array.isArray(_data[\"broodRequestsTransients\"])) {\n this.broodRequestsTransients = [] as any;\n for (let item of _data[\"broodRequestsTransients\"])\n this.broodRequestsTransients!.push(DogBroodRequestsTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"broodRequestsFathers\"])) {\n this.broodRequestsFathers = [] as any;\n for (let item of _data[\"broodRequestsFathers\"])\n this.broodRequestsFathers!.push(BroodRequestsFather.fromJS(item));\n }\n if (Array.isArray(_data[\"dogConditionsForcedValues\"])) {\n this.dogConditionsForcedValues = [] as any;\n for (let item of _data[\"dogConditionsForcedValues\"])\n this.dogConditionsForcedValues!.push(DogConditionsForcedValue.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BroodRequest {\n data = typeof data === 'object' ? data : {};\n let result = new BroodRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"motherId\"] = this.motherId;\n data[\"numberOfPuppies\"] = this.numberOfPuppies;\n data[\"numberOfPuppiesConfirmed\"] = this.numberOfPuppiesConfirmed;\n data[\"progenusQuickDelivery\"] = this.progenusQuickDelivery;\n data[\"protrusionDate\"] = this.protrusionDate ? this.protrusionDate.toISOString() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"labReference\"] = this.labReference;\n data[\"price\"] = this.price;\n data[\"number\"] = this.number;\n data[\"postalCode\"] = this.postalCode;\n data[\"countryId\"] = this.countryId;\n data[\"street\"] = this.street;\n data[\"city\"] = this.city;\n data[\"kitsReceivedEmail\"] = this.kitsReceivedEmail;\n data[\"isMadeInPortal\"] = this.isMadeInPortal;\n data[\"isRegisteredLetter\"] = this.isRegisteredLetter;\n data[\"lastAwaitingFatherEmailSent\"] = this.lastAwaitingFatherEmailSent ? this.lastAwaitingFatherEmailSent.toISOString() : undefined;\n data[\"lastReminderEmailSent\"] = this.lastReminderEmailSent ? this.lastReminderEmailSent.toISOString() : undefined;\n data[\"lastBirthDateEmailSent\"] = this.lastBirthDateEmailSent ? this.lastBirthDateEmailSent.toISOString() : undefined;\n data[\"lastPuppyKitReminderEmailSent\"] = this.lastPuppyKitReminderEmailSent ? this.lastPuppyKitReminderEmailSent.toISOString() : undefined;\n data[\"puppyPicture1ShpDriveItemId\"] = this.puppyPicture1ShpDriveItemId;\n data[\"puppyPicture2ShpDriveItemId\"] = this.puppyPicture2ShpDriveItemId;\n data[\"puppyPicture3ShpDriveItemId\"] = this.puppyPicture3ShpDriveItemId;\n data[\"billMotherGenealogyCompletion\"] = this.billMotherGenealogyCompletion;\n data[\"billFatherGenealogyCompletion\"] = this.billFatherGenealogyCompletion;\n data[\"babyDogPublication\"] = this.babyDogPublication;\n data[\"lastEmailForAvailableDnaSent\"] = this.lastEmailForAvailableDnaSent ? this.lastEmailForAvailableDnaSent.toISOString() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"mother\"] = this.mother ? this.mother.toJSON() : undefined;\n if (Array.isArray(this.broodRequestsTransients)) {\n data[\"broodRequestsTransients\"] = [];\n for (let item of this.broodRequestsTransients)\n data[\"broodRequestsTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.broodRequestsFathers)) {\n data[\"broodRequestsFathers\"] = [];\n for (let item of this.broodRequestsFathers)\n data[\"broodRequestsFathers\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogConditionsForcedValues)) {\n data[\"dogConditionsForcedValues\"] = [];\n for (let item of this.dogConditionsForcedValues)\n data[\"dogConditionsForcedValues\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBroodRequest {\n broodRequestId?: number;\n requestId?: number;\n motherId?: number;\n numberOfPuppies?: number;\n numberOfPuppiesConfirmed?: boolean;\n progenusQuickDelivery?: boolean;\n protrusionDate?: Date;\n birthDate?: Date | undefined;\n labReference?: ELab;\n price?: number;\n number?: string | undefined;\n postalCode?: string | undefined;\n countryId?: number | undefined;\n street?: string | undefined;\n city?: string | undefined;\n kitsReceivedEmail?: boolean;\n isMadeInPortal?: boolean;\n isRegisteredLetter?: boolean;\n lastAwaitingFatherEmailSent?: Date | undefined;\n lastReminderEmailSent?: Date | undefined;\n lastBirthDateEmailSent?: Date | undefined;\n lastPuppyKitReminderEmailSent?: Date | undefined;\n puppyPicture1ShpDriveItemId?: string | undefined;\n puppyPicture2ShpDriveItemId?: string | undefined;\n puppyPicture3ShpDriveItemId?: string | undefined;\n billMotherGenealogyCompletion?: boolean;\n billFatherGenealogyCompletion?: boolean;\n babyDogPublication?: boolean;\n lastEmailForAvailableDnaSent?: Date | undefined;\n country?: Country | undefined;\n request?: Request | undefined;\n mother?: Dog | undefined;\n broodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n broodRequestsFathers?: BroodRequestsFather[] | undefined;\n dogConditionsForcedValues?: DogConditionsForcedValue[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum ELab {\n PROGENUS = \"PROGENUS\",\n ZOOLYX = \"ZOOLYX\",\n}\n\nexport class Country implements ICountry {\n countryId?: number;\n isoCode?: string | undefined;\n isoAs400?: string | undefined;\n pedigreePrefix?: string | undefined;\n canineNumber?: string | undefined;\n canineStreet?: string | undefined;\n caninePostalCode?: string | undefined;\n canineCity?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n canineGlobalEmail?: string | undefined;\n emailForJudgeInCompetition?: string | undefined;\n emailForWorkAttest?: string | undefined;\n emailForBeautyJudge?: string | undefined;\n persons?: Person[] | undefined;\n labs?: Lab[] | undefined;\n dogs?: Dog[] | undefined;\n kennels?: Kennel[] | undefined;\n originKennels?: Kennel[] | undefined;\n breeds?: Breed[] | undefined;\n titles?: Title[] | undefined;\n workAttestRequests?: WorkAttestRequest[] | undefined;\n countryTranslations?: CountryTranslation[] | undefined;\n clubs?: Club[] | undefined;\n clubsTerrain?: Club[] | undefined;\n kennelExportRequests?: KennelExportRequest[] | undefined;\n countriesPedigreePrefixes?: CountryPedigreePrefix[] | undefined;\n clinics?: Clinic[] | undefined;\n kennelImportRequests?: KennelImportRequest[] | undefined;\n countryLanguages?: CountryLanguage[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n sharepointUri?: string | undefined;\n\n constructor(data?: ICountry) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryId = _data[\"countryId\"];\n this.isoCode = _data[\"isoCode\"];\n this.isoAs400 = _data[\"isoAs400\"];\n this.pedigreePrefix = _data[\"pedigreePrefix\"];\n this.canineNumber = _data[\"canineNumber\"];\n this.canineStreet = _data[\"canineStreet\"];\n this.caninePostalCode = _data[\"caninePostalCode\"];\n this.canineCity = _data[\"canineCity\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.canineGlobalEmail = _data[\"canineGlobalEmail\"];\n this.emailForJudgeInCompetition = _data[\"emailForJudgeInCompetition\"];\n this.emailForWorkAttest = _data[\"emailForWorkAttest\"];\n this.emailForBeautyJudge = _data[\"emailForBeautyJudge\"];\n if (Array.isArray(_data[\"persons\"])) {\n this.persons = [] as any;\n for (let item of _data[\"persons\"])\n this.persons!.push(Person.fromJS(item));\n }\n if (Array.isArray(_data[\"labs\"])) {\n this.labs = [] as any;\n for (let item of _data[\"labs\"])\n this.labs!.push(Lab.fromJS(item));\n }\n if (Array.isArray(_data[\"dogs\"])) {\n this.dogs = [] as any;\n for (let item of _data[\"dogs\"])\n this.dogs!.push(Dog.fromJS(item));\n }\n if (Array.isArray(_data[\"kennels\"])) {\n this.kennels = [] as any;\n for (let item of _data[\"kennels\"])\n this.kennels!.push(Kennel.fromJS(item));\n }\n if (Array.isArray(_data[\"originKennels\"])) {\n this.originKennels = [] as any;\n for (let item of _data[\"originKennels\"])\n this.originKennels!.push(Kennel.fromJS(item));\n }\n if (Array.isArray(_data[\"breeds\"])) {\n this.breeds = [] as any;\n for (let item of _data[\"breeds\"])\n this.breeds!.push(Breed.fromJS(item));\n }\n if (Array.isArray(_data[\"titles\"])) {\n this.titles = [] as any;\n for (let item of _data[\"titles\"])\n this.titles!.push(Title.fromJS(item));\n }\n if (Array.isArray(_data[\"workAttestRequests\"])) {\n this.workAttestRequests = [] as any;\n for (let item of _data[\"workAttestRequests\"])\n this.workAttestRequests!.push(WorkAttestRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"countryTranslations\"])) {\n this.countryTranslations = [] as any;\n for (let item of _data[\"countryTranslations\"])\n this.countryTranslations!.push(CountryTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"clubs\"])) {\n this.clubs = [] as any;\n for (let item of _data[\"clubs\"])\n this.clubs!.push(Club.fromJS(item));\n }\n if (Array.isArray(_data[\"clubsTerrain\"])) {\n this.clubsTerrain = [] as any;\n for (let item of _data[\"clubsTerrain\"])\n this.clubsTerrain!.push(Club.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelExportRequests\"])) {\n this.kennelExportRequests = [] as any;\n for (let item of _data[\"kennelExportRequests\"])\n this.kennelExportRequests!.push(KennelExportRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"countriesPedigreePrefixes\"])) {\n this.countriesPedigreePrefixes = [] as any;\n for (let item of _data[\"countriesPedigreePrefixes\"])\n this.countriesPedigreePrefixes!.push(CountryPedigreePrefix.fromJS(item));\n }\n if (Array.isArray(_data[\"clinics\"])) {\n this.clinics = [] as any;\n for (let item of _data[\"clinics\"])\n this.clinics!.push(Clinic.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelImportRequests\"])) {\n this.kennelImportRequests = [] as any;\n for (let item of _data[\"kennelImportRequests\"])\n this.kennelImportRequests!.push(KennelImportRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"countryLanguages\"])) {\n this.countryLanguages = [] as any;\n for (let item of _data[\"countryLanguages\"])\n this.countryLanguages!.push(CountryLanguage.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n }\n }\n\n static fromJS(data: any): Country {\n data = typeof data === 'object' ? data : {};\n let result = new Country();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryId\"] = this.countryId;\n data[\"isoCode\"] = this.isoCode;\n data[\"isoAs400\"] = this.isoAs400;\n data[\"pedigreePrefix\"] = this.pedigreePrefix;\n data[\"canineNumber\"] = this.canineNumber;\n data[\"canineStreet\"] = this.canineStreet;\n data[\"caninePostalCode\"] = this.caninePostalCode;\n data[\"canineCity\"] = this.canineCity;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"canineGlobalEmail\"] = this.canineGlobalEmail;\n data[\"emailForJudgeInCompetition\"] = this.emailForJudgeInCompetition;\n data[\"emailForWorkAttest\"] = this.emailForWorkAttest;\n data[\"emailForBeautyJudge\"] = this.emailForBeautyJudge;\n if (Array.isArray(this.persons)) {\n data[\"persons\"] = [];\n for (let item of this.persons)\n data[\"persons\"].push(item.toJSON());\n }\n if (Array.isArray(this.labs)) {\n data[\"labs\"] = [];\n for (let item of this.labs)\n data[\"labs\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogs)) {\n data[\"dogs\"] = [];\n for (let item of this.dogs)\n data[\"dogs\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennels)) {\n data[\"kennels\"] = [];\n for (let item of this.kennels)\n data[\"kennels\"].push(item.toJSON());\n }\n if (Array.isArray(this.originKennels)) {\n data[\"originKennels\"] = [];\n for (let item of this.originKennels)\n data[\"originKennels\"].push(item.toJSON());\n }\n if (Array.isArray(this.breeds)) {\n data[\"breeds\"] = [];\n for (let item of this.breeds)\n data[\"breeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.titles)) {\n data[\"titles\"] = [];\n for (let item of this.titles)\n data[\"titles\"].push(item.toJSON());\n }\n if (Array.isArray(this.workAttestRequests)) {\n data[\"workAttestRequests\"] = [];\n for (let item of this.workAttestRequests)\n data[\"workAttestRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.countryTranslations)) {\n data[\"countryTranslations\"] = [];\n for (let item of this.countryTranslations)\n data[\"countryTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubs)) {\n data[\"clubs\"] = [];\n for (let item of this.clubs)\n data[\"clubs\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubsTerrain)) {\n data[\"clubsTerrain\"] = [];\n for (let item of this.clubsTerrain)\n data[\"clubsTerrain\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelExportRequests)) {\n data[\"kennelExportRequests\"] = [];\n for (let item of this.kennelExportRequests)\n data[\"kennelExportRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.countriesPedigreePrefixes)) {\n data[\"countriesPedigreePrefixes\"] = [];\n for (let item of this.countriesPedigreePrefixes)\n data[\"countriesPedigreePrefixes\"].push(item.toJSON());\n }\n if (Array.isArray(this.clinics)) {\n data[\"clinics\"] = [];\n for (let item of this.clinics)\n data[\"clinics\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelImportRequests)) {\n data[\"kennelImportRequests\"] = [];\n for (let item of this.kennelImportRequests)\n data[\"kennelImportRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.countryLanguages)) {\n data[\"countryLanguages\"] = [];\n for (let item of this.countryLanguages)\n data[\"countryLanguages\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"sharepointUri\"] = this.sharepointUri;\n return data;\n }\n}\n\nexport interface ICountry {\n countryId?: number;\n isoCode?: string | undefined;\n isoAs400?: string | undefined;\n pedigreePrefix?: string | undefined;\n canineNumber?: string | undefined;\n canineStreet?: string | undefined;\n caninePostalCode?: string | undefined;\n canineCity?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n canineGlobalEmail?: string | undefined;\n emailForJudgeInCompetition?: string | undefined;\n emailForWorkAttest?: string | undefined;\n emailForBeautyJudge?: string | undefined;\n persons?: Person[] | undefined;\n labs?: Lab[] | undefined;\n dogs?: Dog[] | undefined;\n kennels?: Kennel[] | undefined;\n originKennels?: Kennel[] | undefined;\n breeds?: Breed[] | undefined;\n titles?: Title[] | undefined;\n workAttestRequests?: WorkAttestRequest[] | undefined;\n countryTranslations?: CountryTranslation[] | undefined;\n clubs?: Club[] | undefined;\n clubsTerrain?: Club[] | undefined;\n kennelExportRequests?: KennelExportRequest[] | undefined;\n countriesPedigreePrefixes?: CountryPedigreePrefix[] | undefined;\n clinics?: Clinic[] | undefined;\n kennelImportRequests?: KennelImportRequest[] | undefined;\n countryLanguages?: CountryLanguage[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n sharepointUri?: string | undefined;\n}\n\nexport class Lab implements ILab {\n labId?: number;\n cegekaId?: string | undefined;\n name?: string | undefined;\n street?: string | undefined;\n number?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n email?: string | undefined;\n websiteAdress?: string | undefined;\n phoneNumber?: string | undefined;\n isProgenusLab?: boolean;\n country?: Country | undefined;\n dogDnaResults?: DogDnaResult[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ILab) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.labId = _data[\"labId\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.name = _data[\"name\"];\n this.street = _data[\"street\"];\n this.number = _data[\"number\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.countryId = _data[\"countryId\"];\n this.email = _data[\"email\"];\n this.websiteAdress = _data[\"websiteAdress\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.isProgenusLab = _data[\"isProgenusLab\"];\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n if (Array.isArray(_data[\"dogDnaResults\"])) {\n this.dogDnaResults = [] as any;\n for (let item of _data[\"dogDnaResults\"])\n this.dogDnaResults!.push(DogDnaResult.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Lab {\n data = typeof data === 'object' ? data : {};\n let result = new Lab();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"labId\"] = this.labId;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"name\"] = this.name;\n data[\"street\"] = this.street;\n data[\"number\"] = this.number;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"countryId\"] = this.countryId;\n data[\"email\"] = this.email;\n data[\"websiteAdress\"] = this.websiteAdress;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"isProgenusLab\"] = this.isProgenusLab;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n if (Array.isArray(this.dogDnaResults)) {\n data[\"dogDnaResults\"] = [];\n for (let item of this.dogDnaResults)\n data[\"dogDnaResults\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ILab {\n labId?: number;\n cegekaId?: string | undefined;\n name?: string | undefined;\n street?: string | undefined;\n number?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n email?: string | undefined;\n websiteAdress?: string | undefined;\n phoneNumber?: string | undefined;\n isProgenusLab?: boolean;\n country?: Country | undefined;\n dogDnaResults?: DogDnaResult[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogDnaResult implements IDogDnaResult {\n dogDnaResultId?: number;\n resultIdentifier?: string | undefined;\n controlledFiliation?: boolean;\n correctFiliation?: boolean;\n labId?: number | undefined;\n labCode?: ELab | undefined;\n dogId?: number;\n dog?: Dog | undefined;\n lab?: Lab | undefined;\n dnaMarkersResults?: DnaMarkerResult[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: IDogDnaResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogDnaResultId = _data[\"dogDnaResultId\"];\n this.resultIdentifier = _data[\"resultIdentifier\"];\n this.controlledFiliation = _data[\"controlledFiliation\"];\n this.correctFiliation = _data[\"correctFiliation\"];\n this.labId = _data[\"labId\"];\n this.labCode = _data[\"labCode\"];\n this.dogId = _data[\"dogId\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.lab = _data[\"lab\"] ? Lab.fromJS(_data[\"lab\"]) : undefined;\n if (Array.isArray(_data[\"dnaMarkersResults\"])) {\n this.dnaMarkersResults = [] as any;\n for (let item of _data[\"dnaMarkersResults\"])\n this.dnaMarkersResults!.push(DnaMarkerResult.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): DogDnaResult {\n data = typeof data === 'object' ? data : {};\n let result = new DogDnaResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogDnaResultId\"] = this.dogDnaResultId;\n data[\"resultIdentifier\"] = this.resultIdentifier;\n data[\"controlledFiliation\"] = this.controlledFiliation;\n data[\"correctFiliation\"] = this.correctFiliation;\n data[\"labId\"] = this.labId;\n data[\"labCode\"] = this.labCode;\n data[\"dogId\"] = this.dogId;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"lab\"] = this.lab ? this.lab.toJSON() : undefined;\n if (Array.isArray(this.dnaMarkersResults)) {\n data[\"dnaMarkersResults\"] = [];\n for (let item of this.dnaMarkersResults)\n data[\"dnaMarkersResults\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface IDogDnaResult {\n dogDnaResultId?: number;\n resultIdentifier?: string | undefined;\n controlledFiliation?: boolean;\n correctFiliation?: boolean;\n labId?: number | undefined;\n labCode?: ELab | undefined;\n dogId?: number;\n dog?: Dog | undefined;\n lab?: Lab | undefined;\n dnaMarkersResults?: DnaMarkerResult[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n}\n\nexport class DnaMarkerResult implements IDnaMarkerResult {\n dnaMarkerResultId?: number;\n dnaMarkerId?: number;\n dogDnaResultId?: number;\n value1?: string | undefined;\n value2?: string | undefined;\n dnaMarker?: DnaMarker | undefined;\n dogDnaResult?: DogDnaResult | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDnaMarkerResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dnaMarkerResultId = _data[\"dnaMarkerResultId\"];\n this.dnaMarkerId = _data[\"dnaMarkerId\"];\n this.dogDnaResultId = _data[\"dogDnaResultId\"];\n this.value1 = _data[\"value1\"];\n this.value2 = _data[\"value2\"];\n this.dnaMarker = _data[\"dnaMarker\"] ? DnaMarker.fromJS(_data[\"dnaMarker\"]) : undefined;\n this.dogDnaResult = _data[\"dogDnaResult\"] ? DogDnaResult.fromJS(_data[\"dogDnaResult\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DnaMarkerResult {\n data = typeof data === 'object' ? data : {};\n let result = new DnaMarkerResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dnaMarkerResultId\"] = this.dnaMarkerResultId;\n data[\"dnaMarkerId\"] = this.dnaMarkerId;\n data[\"dogDnaResultId\"] = this.dogDnaResultId;\n data[\"value1\"] = this.value1;\n data[\"value2\"] = this.value2;\n data[\"dnaMarker\"] = this.dnaMarker ? this.dnaMarker.toJSON() : undefined;\n data[\"dogDnaResult\"] = this.dogDnaResult ? this.dogDnaResult.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDnaMarkerResult {\n dnaMarkerResultId?: number;\n dnaMarkerId?: number;\n dogDnaResultId?: number;\n value1?: string | undefined;\n value2?: string | undefined;\n dnaMarker?: DnaMarker | undefined;\n dogDnaResult?: DogDnaResult | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DnaMarker implements IDnaMarker {\n dnaMarkerId?: number;\n code?: string | undefined;\n dnaMarkersResults?: DnaMarkerResult[] | undefined;\n healthTestDnaMarkerResultTransients?: HealthTestDnaMarkerResultTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDnaMarker) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dnaMarkerId = _data[\"dnaMarkerId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"dnaMarkersResults\"])) {\n this.dnaMarkersResults = [] as any;\n for (let item of _data[\"dnaMarkersResults\"])\n this.dnaMarkersResults!.push(DnaMarkerResult.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestDnaMarkerResultTransients\"])) {\n this.healthTestDnaMarkerResultTransients = [] as any;\n for (let item of _data[\"healthTestDnaMarkerResultTransients\"])\n this.healthTestDnaMarkerResultTransients!.push(HealthTestDnaMarkerResultTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DnaMarker {\n data = typeof data === 'object' ? data : {};\n let result = new DnaMarker();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dnaMarkerId\"] = this.dnaMarkerId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.dnaMarkersResults)) {\n data[\"dnaMarkersResults\"] = [];\n for (let item of this.dnaMarkersResults)\n data[\"dnaMarkersResults\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestDnaMarkerResultTransients)) {\n data[\"healthTestDnaMarkerResultTransients\"] = [];\n for (let item of this.healthTestDnaMarkerResultTransients)\n data[\"healthTestDnaMarkerResultTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDnaMarker {\n dnaMarkerId?: number;\n code?: string | undefined;\n dnaMarkersResults?: DnaMarkerResult[] | undefined;\n healthTestDnaMarkerResultTransients?: HealthTestDnaMarkerResultTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthTestDnaMarkerResultTransient implements IHealthTestDnaMarkerResultTransient {\n healthTestDnaMarkerResultTransientId?: number;\n dnaMarkerId?: number;\n dogHealthTestDnaResultTransientId?: number;\n value1?: string | undefined;\n value2?: string | undefined;\n dnaMarker?: DnaMarker | undefined;\n dogHealthTestDnaResultTransient?: DogHealthTestDnaResultTransient | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthTestDnaMarkerResultTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthTestDnaMarkerResultTransientId = _data[\"healthTestDnaMarkerResultTransientId\"];\n this.dnaMarkerId = _data[\"dnaMarkerId\"];\n this.dogHealthTestDnaResultTransientId = _data[\"dogHealthTestDnaResultTransientId\"];\n this.value1 = _data[\"value1\"];\n this.value2 = _data[\"value2\"];\n this.dnaMarker = _data[\"dnaMarker\"] ? DnaMarker.fromJS(_data[\"dnaMarker\"]) : undefined;\n this.dogHealthTestDnaResultTransient = _data[\"dogHealthTestDnaResultTransient\"] ? DogHealthTestDnaResultTransient.fromJS(_data[\"dogHealthTestDnaResultTransient\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthTestDnaMarkerResultTransient {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestDnaMarkerResultTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthTestDnaMarkerResultTransientId\"] = this.healthTestDnaMarkerResultTransientId;\n data[\"dnaMarkerId\"] = this.dnaMarkerId;\n data[\"dogHealthTestDnaResultTransientId\"] = this.dogHealthTestDnaResultTransientId;\n data[\"value1\"] = this.value1;\n data[\"value2\"] = this.value2;\n data[\"dnaMarker\"] = this.dnaMarker ? this.dnaMarker.toJSON() : undefined;\n data[\"dogHealthTestDnaResultTransient\"] = this.dogHealthTestDnaResultTransient ? this.dogHealthTestDnaResultTransient.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthTestDnaMarkerResultTransient {\n healthTestDnaMarkerResultTransientId?: number;\n dnaMarkerId?: number;\n dogHealthTestDnaResultTransientId?: number;\n value1?: string | undefined;\n value2?: string | undefined;\n dnaMarker?: DnaMarker | undefined;\n dogHealthTestDnaResultTransient?: DogHealthTestDnaResultTransient | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogHealthTestDnaResultTransient implements IDogHealthTestDnaResultTransient {\n dogHealthTestDnaResultTransientId?: number;\n resultIdentifier?: string | undefined;\n controlledFiliation?: boolean;\n correctFiliation?: boolean;\n labCode?: ELab;\n dogId?: number;\n healthTestRequestId?: number;\n dog?: Dog | undefined;\n healthTestRequest?: HealthTestRequest | undefined;\n healthTestDnaMarkerResultTransients?: HealthTestDnaMarkerResultTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogHealthTestDnaResultTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogHealthTestDnaResultTransientId = _data[\"dogHealthTestDnaResultTransientId\"];\n this.resultIdentifier = _data[\"resultIdentifier\"];\n this.controlledFiliation = _data[\"controlledFiliation\"];\n this.correctFiliation = _data[\"correctFiliation\"];\n this.labCode = _data[\"labCode\"];\n this.dogId = _data[\"dogId\"];\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.healthTestRequest = _data[\"healthTestRequest\"] ? HealthTestRequest.fromJS(_data[\"healthTestRequest\"]) : undefined;\n if (Array.isArray(_data[\"healthTestDnaMarkerResultTransients\"])) {\n this.healthTestDnaMarkerResultTransients = [] as any;\n for (let item of _data[\"healthTestDnaMarkerResultTransients\"])\n this.healthTestDnaMarkerResultTransients!.push(HealthTestDnaMarkerResultTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogHealthTestDnaResultTransient {\n data = typeof data === 'object' ? data : {};\n let result = new DogHealthTestDnaResultTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogHealthTestDnaResultTransientId\"] = this.dogHealthTestDnaResultTransientId;\n data[\"resultIdentifier\"] = this.resultIdentifier;\n data[\"controlledFiliation\"] = this.controlledFiliation;\n data[\"correctFiliation\"] = this.correctFiliation;\n data[\"labCode\"] = this.labCode;\n data[\"dogId\"] = this.dogId;\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"healthTestRequest\"] = this.healthTestRequest ? this.healthTestRequest.toJSON() : undefined;\n if (Array.isArray(this.healthTestDnaMarkerResultTransients)) {\n data[\"healthTestDnaMarkerResultTransients\"] = [];\n for (let item of this.healthTestDnaMarkerResultTransients)\n data[\"healthTestDnaMarkerResultTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogHealthTestDnaResultTransient {\n dogHealthTestDnaResultTransientId?: number;\n resultIdentifier?: string | undefined;\n controlledFiliation?: boolean;\n correctFiliation?: boolean;\n labCode?: ELab;\n dogId?: number;\n healthTestRequestId?: number;\n dog?: Dog | undefined;\n healthTestRequest?: HealthTestRequest | undefined;\n healthTestDnaMarkerResultTransients?: HealthTestDnaMarkerResultTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthTestRequest implements IHealthTestRequest {\n healthTestRequestId?: number;\n lab?: ELab;\n requestId?: number;\n dogId?: number | undefined;\n labStatusId?: number | undefined;\n whiteTest?: boolean;\n labReference?: string | undefined;\n request?: Request | undefined;\n dog?: Dog | undefined;\n labStatus?: LabStatus | undefined;\n healthTestRequestHealthPacksTransients?: HealthTestRequestHealthPackTransient[] | undefined;\n dogHealthTestCharacteristicValueTransients?: DogHealthTestCharacteristicValueTransient[] | undefined;\n dogHealthTestDnaResultTransients?: DogHealthTestDnaResultTransient[] | undefined;\n healthTestSingleCharacteristicTransients?: HealthTestSingleCharacteristicTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthTestRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.lab = _data[\"lab\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.labStatusId = _data[\"labStatusId\"];\n this.whiteTest = _data[\"whiteTest\"];\n this.labReference = _data[\"labReference\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.labStatus = _data[\"labStatus\"] ? LabStatus.fromJS(_data[\"labStatus\"]) : undefined;\n if (Array.isArray(_data[\"healthTestRequestHealthPacksTransients\"])) {\n this.healthTestRequestHealthPacksTransients = [] as any;\n for (let item of _data[\"healthTestRequestHealthPacksTransients\"])\n this.healthTestRequestHealthPacksTransients!.push(HealthTestRequestHealthPackTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogHealthTestCharacteristicValueTransients\"])) {\n this.dogHealthTestCharacteristicValueTransients = [] as any;\n for (let item of _data[\"dogHealthTestCharacteristicValueTransients\"])\n this.dogHealthTestCharacteristicValueTransients!.push(DogHealthTestCharacteristicValueTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogHealthTestDnaResultTransients\"])) {\n this.dogHealthTestDnaResultTransients = [] as any;\n for (let item of _data[\"dogHealthTestDnaResultTransients\"])\n this.dogHealthTestDnaResultTransients!.push(DogHealthTestDnaResultTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestSingleCharacteristicTransients\"])) {\n this.healthTestSingleCharacteristicTransients = [] as any;\n for (let item of _data[\"healthTestSingleCharacteristicTransients\"])\n this.healthTestSingleCharacteristicTransients!.push(HealthTestSingleCharacteristicTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthTestRequest {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"lab\"] = this.lab;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"labStatusId\"] = this.labStatusId;\n data[\"whiteTest\"] = this.whiteTest;\n data[\"labReference\"] = this.labReference;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"labStatus\"] = this.labStatus ? this.labStatus.toJSON() : undefined;\n if (Array.isArray(this.healthTestRequestHealthPacksTransients)) {\n data[\"healthTestRequestHealthPacksTransients\"] = [];\n for (let item of this.healthTestRequestHealthPacksTransients)\n data[\"healthTestRequestHealthPacksTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogHealthTestCharacteristicValueTransients)) {\n data[\"dogHealthTestCharacteristicValueTransients\"] = [];\n for (let item of this.dogHealthTestCharacteristicValueTransients)\n data[\"dogHealthTestCharacteristicValueTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogHealthTestDnaResultTransients)) {\n data[\"dogHealthTestDnaResultTransients\"] = [];\n for (let item of this.dogHealthTestDnaResultTransients)\n data[\"dogHealthTestDnaResultTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestSingleCharacteristicTransients)) {\n data[\"healthTestSingleCharacteristicTransients\"] = [];\n for (let item of this.healthTestSingleCharacteristicTransients)\n data[\"healthTestSingleCharacteristicTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthTestRequest {\n healthTestRequestId?: number;\n lab?: ELab;\n requestId?: number;\n dogId?: number | undefined;\n labStatusId?: number | undefined;\n whiteTest?: boolean;\n labReference?: string | undefined;\n request?: Request | undefined;\n dog?: Dog | undefined;\n labStatus?: LabStatus | undefined;\n healthTestRequestHealthPacksTransients?: HealthTestRequestHealthPackTransient[] | undefined;\n dogHealthTestCharacteristicValueTransients?: DogHealthTestCharacteristicValueTransient[] | undefined;\n dogHealthTestDnaResultTransients?: DogHealthTestDnaResultTransient[] | undefined;\n healthTestSingleCharacteristicTransients?: HealthTestSingleCharacteristicTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class LabStatus implements ILabStatus {\n labStatusId?: number;\n labStatusCode?: ELabStatus;\n labStatusTypeCode?: ELabStatusType | undefined;\n labStatusTranslations?: LabStatusTranslation[] | undefined;\n labStatusDescriptionTranslations?: LabStatusDescriptionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: ILabStatus) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.labStatusId = _data[\"labStatusId\"];\n this.labStatusCode = _data[\"labStatusCode\"];\n this.labStatusTypeCode = _data[\"labStatusTypeCode\"];\n if (Array.isArray(_data[\"labStatusTranslations\"])) {\n this.labStatusTranslations = [] as any;\n for (let item of _data[\"labStatusTranslations\"])\n this.labStatusTranslations!.push(LabStatusTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"labStatusDescriptionTranslations\"])) {\n this.labStatusDescriptionTranslations = [] as any;\n for (let item of _data[\"labStatusDescriptionTranslations\"])\n this.labStatusDescriptionTranslations!.push(LabStatusDescriptionTranslation.fromJS(item));\n }\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): LabStatus {\n data = typeof data === 'object' ? data : {};\n let result = new LabStatus();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"labStatusId\"] = this.labStatusId;\n data[\"labStatusCode\"] = this.labStatusCode;\n data[\"labStatusTypeCode\"] = this.labStatusTypeCode;\n if (Array.isArray(this.labStatusTranslations)) {\n data[\"labStatusTranslations\"] = [];\n for (let item of this.labStatusTranslations)\n data[\"labStatusTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.labStatusDescriptionTranslations)) {\n data[\"labStatusDescriptionTranslations\"] = [];\n for (let item of this.labStatusDescriptionTranslations)\n data[\"labStatusDescriptionTranslations\"].push(item.toJSON());\n }\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ILabStatus {\n labStatusId?: number;\n labStatusCode?: ELabStatus;\n labStatusTypeCode?: ELabStatusType | undefined;\n labStatusTranslations?: LabStatusTranslation[] | undefined;\n labStatusDescriptionTranslations?: LabStatusDescriptionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport enum ELabStatus {\n KitsSent = \"KitsSent\",\n KitsReceived = \"KitsReceived\",\n AwaitingNewFather = \"AwaitingNewFather\",\n NamingAvailable = \"NamingAvailable\",\n AnalysisDone = \"AnalysisDone\",\n AnalysisInProgress = \"AnalysisInProgress\",\n NewKitsReceived = \"NewKitsReceived\",\n Reprocessing = \"Reprocessing\",\n AwaitingSecondAnalysis = \"AwaitingSecondAnalysis\",\n}\n\nexport enum ELabStatusType {\n BroodRequest = \"BroodRequest\",\n HealthTest = \"HealthTest\",\n}\n\nexport class LabStatusTranslation implements ILabStatusTranslation {\n labStatusTranslationId?: number;\n languageId?: number;\n labStatusId?: number;\n text?: string | undefined;\n labStatus?: LabStatus | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ILabStatusTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.labStatusTranslationId = _data[\"labStatusTranslationId\"];\n this.languageId = _data[\"languageId\"];\n this.labStatusId = _data[\"labStatusId\"];\n this.text = _data[\"text\"];\n this.labStatus = _data[\"labStatus\"] ? LabStatus.fromJS(_data[\"labStatus\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): LabStatusTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new LabStatusTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"labStatusTranslationId\"] = this.labStatusTranslationId;\n data[\"languageId\"] = this.languageId;\n data[\"labStatusId\"] = this.labStatusId;\n data[\"text\"] = this.text;\n data[\"labStatus\"] = this.labStatus ? this.labStatus.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ILabStatusTranslation {\n labStatusTranslationId?: number;\n languageId?: number;\n labStatusId?: number;\n text?: string | undefined;\n labStatus?: LabStatus | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class LabStatusDescriptionTranslation implements ILabStatusDescriptionTranslation {\n labStatusDescriptionTranslationId?: number;\n languageId?: number;\n labStatusId?: number;\n text?: string | undefined;\n labStatus?: LabStatus | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ILabStatusDescriptionTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.labStatusDescriptionTranslationId = _data[\"labStatusDescriptionTranslationId\"];\n this.languageId = _data[\"languageId\"];\n this.labStatusId = _data[\"labStatusId\"];\n this.text = _data[\"text\"];\n this.labStatus = _data[\"labStatus\"] ? LabStatus.fromJS(_data[\"labStatus\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): LabStatusDescriptionTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new LabStatusDescriptionTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"labStatusDescriptionTranslationId\"] = this.labStatusDescriptionTranslationId;\n data[\"languageId\"] = this.languageId;\n data[\"labStatusId\"] = this.labStatusId;\n data[\"text\"] = this.text;\n data[\"labStatus\"] = this.labStatus ? this.labStatus.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ILabStatusDescriptionTranslation {\n labStatusDescriptionTranslationId?: number;\n languageId?: number;\n labStatusId?: number;\n text?: string | undefined;\n labStatus?: LabStatus | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthTestRequestHealthPackTransient implements IHealthTestRequestHealthPackTransient {\n healthTestRequestHealthPackTransientId?: number;\n healthPackId?: number;\n healthTestRequestId?: number;\n healthPack?: HealthPack | undefined;\n healthTestRequest?: HealthTestRequest | undefined;\n healthTestRequestCharacteristicsTransients?: HealthTestRequestCharacteristicTransient[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IHealthTestRequestHealthPackTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthTestRequestHealthPackTransientId = _data[\"healthTestRequestHealthPackTransientId\"];\n this.healthPackId = _data[\"healthPackId\"];\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.healthPack = _data[\"healthPack\"] ? HealthPack.fromJS(_data[\"healthPack\"]) : undefined;\n this.healthTestRequest = _data[\"healthTestRequest\"] ? HealthTestRequest.fromJS(_data[\"healthTestRequest\"]) : undefined;\n if (Array.isArray(_data[\"healthTestRequestCharacteristicsTransients\"])) {\n this.healthTestRequestCharacteristicsTransients = [] as any;\n for (let item of _data[\"healthTestRequestCharacteristicsTransients\"])\n this.healthTestRequestCharacteristicsTransients!.push(HealthTestRequestCharacteristicTransient.fromJS(item));\n }\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): HealthTestRequestHealthPackTransient {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestRequestHealthPackTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthTestRequestHealthPackTransientId\"] = this.healthTestRequestHealthPackTransientId;\n data[\"healthPackId\"] = this.healthPackId;\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"healthPack\"] = this.healthPack ? this.healthPack.toJSON() : undefined;\n data[\"healthTestRequest\"] = this.healthTestRequest ? this.healthTestRequest.toJSON() : undefined;\n if (Array.isArray(this.healthTestRequestCharacteristicsTransients)) {\n data[\"healthTestRequestCharacteristicsTransients\"] = [];\n for (let item of this.healthTestRequestCharacteristicsTransients)\n data[\"healthTestRequestCharacteristicsTransients\"].push(item.toJSON());\n }\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IHealthTestRequestHealthPackTransient {\n healthTestRequestHealthPackTransientId?: number;\n healthPackId?: number;\n healthTestRequestId?: number;\n healthPack?: HealthPack | undefined;\n healthTestRequest?: HealthTestRequest | undefined;\n healthTestRequestCharacteristicsTransients?: HealthTestRequestCharacteristicTransient[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class HealthPack implements IHealthPack {\n healthPackId?: number;\n healthPackCode?: string | undefined;\n articleId?: number | undefined;\n healthPackGroupId?: number;\n lab?: ELab;\n cegekaId?: string | undefined;\n isDnaPack?: boolean;\n isFiliationPack?: boolean;\n webSiteUriFr?: string | undefined;\n webSiteUriNl?: string | undefined;\n orderIndex?: number;\n healthPackGroup?: HealthPackGroup | undefined;\n breedHealthPacks?: BreedHealthPack[] | undefined;\n healthTestRequestHealthPacksTransients?: HealthTestRequestHealthPackTransient[] | undefined;\n healthPackCharacteristics?: HealthPackCharacteristic[] | undefined;\n healthPackTranslations?: HealthPackTranslation[] | undefined;\n article?: Article | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthPack) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthPackId = _data[\"healthPackId\"];\n this.healthPackCode = _data[\"healthPackCode\"];\n this.articleId = _data[\"articleId\"];\n this.healthPackGroupId = _data[\"healthPackGroupId\"];\n this.lab = _data[\"lab\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.isDnaPack = _data[\"isDnaPack\"];\n this.isFiliationPack = _data[\"isFiliationPack\"];\n this.webSiteUriFr = _data[\"webSiteUriFr\"];\n this.webSiteUriNl = _data[\"webSiteUriNl\"];\n this.orderIndex = _data[\"orderIndex\"];\n this.healthPackGroup = _data[\"healthPackGroup\"] ? HealthPackGroup.fromJS(_data[\"healthPackGroup\"]) : undefined;\n if (Array.isArray(_data[\"breedHealthPacks\"])) {\n this.breedHealthPacks = [] as any;\n for (let item of _data[\"breedHealthPacks\"])\n this.breedHealthPacks!.push(BreedHealthPack.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestRequestHealthPacksTransients\"])) {\n this.healthTestRequestHealthPacksTransients = [] as any;\n for (let item of _data[\"healthTestRequestHealthPacksTransients\"])\n this.healthTestRequestHealthPacksTransients!.push(HealthTestRequestHealthPackTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"healthPackCharacteristics\"])) {\n this.healthPackCharacteristics = [] as any;\n for (let item of _data[\"healthPackCharacteristics\"])\n this.healthPackCharacteristics!.push(HealthPackCharacteristic.fromJS(item));\n }\n if (Array.isArray(_data[\"healthPackTranslations\"])) {\n this.healthPackTranslations = [] as any;\n for (let item of _data[\"healthPackTranslations\"])\n this.healthPackTranslations!.push(HealthPackTranslation.fromJS(item));\n }\n this.article = _data[\"article\"] ? Article.fromJS(_data[\"article\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthPack {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPack();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackId\"] = this.healthPackId;\n data[\"healthPackCode\"] = this.healthPackCode;\n data[\"articleId\"] = this.articleId;\n data[\"healthPackGroupId\"] = this.healthPackGroupId;\n data[\"lab\"] = this.lab;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"isDnaPack\"] = this.isDnaPack;\n data[\"isFiliationPack\"] = this.isFiliationPack;\n data[\"webSiteUriFr\"] = this.webSiteUriFr;\n data[\"webSiteUriNl\"] = this.webSiteUriNl;\n data[\"orderIndex\"] = this.orderIndex;\n data[\"healthPackGroup\"] = this.healthPackGroup ? this.healthPackGroup.toJSON() : undefined;\n if (Array.isArray(this.breedHealthPacks)) {\n data[\"breedHealthPacks\"] = [];\n for (let item of this.breedHealthPacks)\n data[\"breedHealthPacks\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestRequestHealthPacksTransients)) {\n data[\"healthTestRequestHealthPacksTransients\"] = [];\n for (let item of this.healthTestRequestHealthPacksTransients)\n data[\"healthTestRequestHealthPacksTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthPackCharacteristics)) {\n data[\"healthPackCharacteristics\"] = [];\n for (let item of this.healthPackCharacteristics)\n data[\"healthPackCharacteristics\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthPackTranslations)) {\n data[\"healthPackTranslations\"] = [];\n for (let item of this.healthPackTranslations)\n data[\"healthPackTranslations\"].push(item.toJSON());\n }\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthPack {\n healthPackId?: number;\n healthPackCode?: string | undefined;\n articleId?: number | undefined;\n healthPackGroupId?: number;\n lab?: ELab;\n cegekaId?: string | undefined;\n isDnaPack?: boolean;\n isFiliationPack?: boolean;\n webSiteUriFr?: string | undefined;\n webSiteUriNl?: string | undefined;\n orderIndex?: number;\n healthPackGroup?: HealthPackGroup | undefined;\n breedHealthPacks?: BreedHealthPack[] | undefined;\n healthTestRequestHealthPacksTransients?: HealthTestRequestHealthPackTransient[] | undefined;\n healthPackCharacteristics?: HealthPackCharacteristic[] | undefined;\n healthPackTranslations?: HealthPackTranslation[] | undefined;\n article?: Article | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthPackGroup implements IHealthPackGroup {\n healthPackGroupId?: number;\n healthPackGroupCode?: string | undefined;\n cegekaId?: string | undefined;\n healthPacks?: HealthPack[] | undefined;\n healthPackGroupTranslations?: HealthPackGroupTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthPackGroup) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthPackGroupId = _data[\"healthPackGroupId\"];\n this.healthPackGroupCode = _data[\"healthPackGroupCode\"];\n this.cegekaId = _data[\"cegekaId\"];\n if (Array.isArray(_data[\"healthPacks\"])) {\n this.healthPacks = [] as any;\n for (let item of _data[\"healthPacks\"])\n this.healthPacks!.push(HealthPack.fromJS(item));\n }\n if (Array.isArray(_data[\"healthPackGroupTranslations\"])) {\n this.healthPackGroupTranslations = [] as any;\n for (let item of _data[\"healthPackGroupTranslations\"])\n this.healthPackGroupTranslations!.push(HealthPackGroupTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthPackGroup {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPackGroup();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackGroupId\"] = this.healthPackGroupId;\n data[\"healthPackGroupCode\"] = this.healthPackGroupCode;\n data[\"cegekaId\"] = this.cegekaId;\n if (Array.isArray(this.healthPacks)) {\n data[\"healthPacks\"] = [];\n for (let item of this.healthPacks)\n data[\"healthPacks\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthPackGroupTranslations)) {\n data[\"healthPackGroupTranslations\"] = [];\n for (let item of this.healthPackGroupTranslations)\n data[\"healthPackGroupTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthPackGroup {\n healthPackGroupId?: number;\n healthPackGroupCode?: string | undefined;\n cegekaId?: string | undefined;\n healthPacks?: HealthPack[] | undefined;\n healthPackGroupTranslations?: HealthPackGroupTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthPackGroupTranslation implements IHealthPackGroupTranslation {\n healthPackGroupTranslationId?: number;\n text?: string | undefined;\n languageId?: number;\n healthPackGroupId?: number;\n language?: Language | undefined;\n healthPackGroup?: HealthPackGroup | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthPackGroupTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthPackGroupTranslationId = _data[\"healthPackGroupTranslationId\"];\n this.text = _data[\"text\"];\n this.languageId = _data[\"languageId\"];\n this.healthPackGroupId = _data[\"healthPackGroupId\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.healthPackGroup = _data[\"healthPackGroup\"] ? HealthPackGroup.fromJS(_data[\"healthPackGroup\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthPackGroupTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPackGroupTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackGroupTranslationId\"] = this.healthPackGroupTranslationId;\n data[\"text\"] = this.text;\n data[\"languageId\"] = this.languageId;\n data[\"healthPackGroupId\"] = this.healthPackGroupId;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"healthPackGroup\"] = this.healthPackGroup ? this.healthPackGroup.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthPackGroupTranslation {\n healthPackGroupTranslationId?: number;\n text?: string | undefined;\n languageId?: number;\n healthPackGroupId?: number;\n language?: Language | undefined;\n healthPackGroup?: HealthPackGroup | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedHealthPack implements IBreedHealthPack {\n breedHealthPackId?: number;\n breedId?: number;\n healthPackId?: number;\n breed?: Breed | undefined;\n healthPack?: HealthPack | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedHealthPack) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedHealthPackId = _data[\"breedHealthPackId\"];\n this.breedId = _data[\"breedId\"];\n this.healthPackId = _data[\"healthPackId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.healthPack = _data[\"healthPack\"] ? HealthPack.fromJS(_data[\"healthPack\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedHealthPack {\n data = typeof data === 'object' ? data : {};\n let result = new BreedHealthPack();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedHealthPackId\"] = this.breedHealthPackId;\n data[\"breedId\"] = this.breedId;\n data[\"healthPackId\"] = this.healthPackId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"healthPack\"] = this.healthPack ? this.healthPack.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedHealthPack {\n breedHealthPackId?: number;\n breedId?: number;\n healthPackId?: number;\n breed?: Breed | undefined;\n healthPack?: HealthPack | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthPackCharacteristic implements IHealthPackCharacteristic {\n healthPackCharacteristicId?: number;\n healthPackId?: number;\n characteristicId?: number;\n characteristic?: Characteristic | undefined;\n healthPack?: HealthPack | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthPackCharacteristic) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthPackCharacteristicId = _data[\"healthPackCharacteristicId\"];\n this.healthPackId = _data[\"healthPackId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthPack = _data[\"healthPack\"] ? HealthPack.fromJS(_data[\"healthPack\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthPackCharacteristic {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPackCharacteristic();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackCharacteristicId\"] = this.healthPackCharacteristicId;\n data[\"healthPackId\"] = this.healthPackId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthPack\"] = this.healthPack ? this.healthPack.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthPackCharacteristic {\n healthPackCharacteristicId?: number;\n healthPackId?: number;\n characteristicId?: number;\n characteristic?: Characteristic | undefined;\n healthPack?: HealthPack | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Characteristic implements ICharacteristic {\n characteristicId?: number;\n characteristicTypeId?: number;\n code?: string | undefined;\n labCode?: string | undefined;\n remark?: string | undefined;\n dysplasiaTypeId?: number | undefined;\n articleId?: number | undefined;\n cegekaId?: string | undefined;\n orderIndex?: number;\n healthValueTypeId?: number | undefined;\n isRight?: boolean | undefined;\n characteristicType?: CharacteristicType | undefined;\n dysplasiaType?: DysplasiaType | undefined;\n healthValueType?: HealthValueType | undefined;\n article?: Article | undefined;\n lab?: ELab | undefined;\n healthPackCharacteristics?: HealthPackCharacteristic[] | undefined;\n healthTestRequestsTransients?: HealthTestRequestCharacteristicTransient[] | undefined;\n healthTestSingleCharacteristicTransients?: HealthTestSingleCharacteristicTransient[] | undefined;\n characteristicsValues?: CharacteristicValue[] | undefined;\n dogsCharacteristicsValues?: DogCharacteristicValue[] | undefined;\n characteristicTranslations?: CharacteristicTranslation[] | undefined;\n dogsCharacteristicsValuesTransients?: DogsCharacteristicsValuesTransient[] | undefined;\n dogDysplasiaTransients?: DogDysplasiaTransient[] | undefined;\n dogDysplasias?: DogDysplasia[] | undefined;\n dogHealthTestCharacteristicValueTransients?: DogHealthTestCharacteristicValueTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICharacteristic) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicId = _data[\"characteristicId\"];\n this.characteristicTypeId = _data[\"characteristicTypeId\"];\n this.code = _data[\"code\"];\n this.labCode = _data[\"labCode\"];\n this.remark = _data[\"remark\"];\n this.dysplasiaTypeId = _data[\"dysplasiaTypeId\"];\n this.articleId = _data[\"articleId\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.orderIndex = _data[\"orderIndex\"];\n this.healthValueTypeId = _data[\"healthValueTypeId\"];\n this.isRight = _data[\"isRight\"];\n this.characteristicType = _data[\"characteristicType\"] ? CharacteristicType.fromJS(_data[\"characteristicType\"]) : undefined;\n this.dysplasiaType = _data[\"dysplasiaType\"] ? DysplasiaType.fromJS(_data[\"dysplasiaType\"]) : undefined;\n this.healthValueType = _data[\"healthValueType\"] ? HealthValueType.fromJS(_data[\"healthValueType\"]) : undefined;\n this.article = _data[\"article\"] ? Article.fromJS(_data[\"article\"]) : undefined;\n this.lab = _data[\"lab\"];\n if (Array.isArray(_data[\"healthPackCharacteristics\"])) {\n this.healthPackCharacteristics = [] as any;\n for (let item of _data[\"healthPackCharacteristics\"])\n this.healthPackCharacteristics!.push(HealthPackCharacteristic.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestRequestsTransients\"])) {\n this.healthTestRequestsTransients = [] as any;\n for (let item of _data[\"healthTestRequestsTransients\"])\n this.healthTestRequestsTransients!.push(HealthTestRequestCharacteristicTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestSingleCharacteristicTransients\"])) {\n this.healthTestSingleCharacteristicTransients = [] as any;\n for (let item of _data[\"healthTestSingleCharacteristicTransients\"])\n this.healthTestSingleCharacteristicTransients!.push(HealthTestSingleCharacteristicTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"characteristicsValues\"])) {\n this.characteristicsValues = [] as any;\n for (let item of _data[\"characteristicsValues\"])\n this.characteristicsValues!.push(CharacteristicValue.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsCharacteristicsValues\"])) {\n this.dogsCharacteristicsValues = [] as any;\n for (let item of _data[\"dogsCharacteristicsValues\"])\n this.dogsCharacteristicsValues!.push(DogCharacteristicValue.fromJS(item));\n }\n if (Array.isArray(_data[\"characteristicTranslations\"])) {\n this.characteristicTranslations = [] as any;\n for (let item of _data[\"characteristicTranslations\"])\n this.characteristicTranslations!.push(CharacteristicTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsCharacteristicsValuesTransients\"])) {\n this.dogsCharacteristicsValuesTransients = [] as any;\n for (let item of _data[\"dogsCharacteristicsValuesTransients\"])\n this.dogsCharacteristicsValuesTransients!.push(DogsCharacteristicsValuesTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogDysplasiaTransients\"])) {\n this.dogDysplasiaTransients = [] as any;\n for (let item of _data[\"dogDysplasiaTransients\"])\n this.dogDysplasiaTransients!.push(DogDysplasiaTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogDysplasias\"])) {\n this.dogDysplasias = [] as any;\n for (let item of _data[\"dogDysplasias\"])\n this.dogDysplasias!.push(DogDysplasia.fromJS(item));\n }\n if (Array.isArray(_data[\"dogHealthTestCharacteristicValueTransients\"])) {\n this.dogHealthTestCharacteristicValueTransients = [] as any;\n for (let item of _data[\"dogHealthTestCharacteristicValueTransients\"])\n this.dogHealthTestCharacteristicValueTransients!.push(DogHealthTestCharacteristicValueTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Characteristic {\n data = typeof data === 'object' ? data : {};\n let result = new Characteristic();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicId\"] = this.characteristicId;\n data[\"characteristicTypeId\"] = this.characteristicTypeId;\n data[\"code\"] = this.code;\n data[\"labCode\"] = this.labCode;\n data[\"remark\"] = this.remark;\n data[\"dysplasiaTypeId\"] = this.dysplasiaTypeId;\n data[\"articleId\"] = this.articleId;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"orderIndex\"] = this.orderIndex;\n data[\"healthValueTypeId\"] = this.healthValueTypeId;\n data[\"isRight\"] = this.isRight;\n data[\"characteristicType\"] = this.characteristicType ? this.characteristicType.toJSON() : undefined;\n data[\"dysplasiaType\"] = this.dysplasiaType ? this.dysplasiaType.toJSON() : undefined;\n data[\"healthValueType\"] = this.healthValueType ? this.healthValueType.toJSON() : undefined;\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\n data[\"lab\"] = this.lab;\n if (Array.isArray(this.healthPackCharacteristics)) {\n data[\"healthPackCharacteristics\"] = [];\n for (let item of this.healthPackCharacteristics)\n data[\"healthPackCharacteristics\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestRequestsTransients)) {\n data[\"healthTestRequestsTransients\"] = [];\n for (let item of this.healthTestRequestsTransients)\n data[\"healthTestRequestsTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestSingleCharacteristicTransients)) {\n data[\"healthTestSingleCharacteristicTransients\"] = [];\n for (let item of this.healthTestSingleCharacteristicTransients)\n data[\"healthTestSingleCharacteristicTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.characteristicsValues)) {\n data[\"characteristicsValues\"] = [];\n for (let item of this.characteristicsValues)\n data[\"characteristicsValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsCharacteristicsValues)) {\n data[\"dogsCharacteristicsValues\"] = [];\n for (let item of this.dogsCharacteristicsValues)\n data[\"dogsCharacteristicsValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.characteristicTranslations)) {\n data[\"characteristicTranslations\"] = [];\n for (let item of this.characteristicTranslations)\n data[\"characteristicTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsCharacteristicsValuesTransients)) {\n data[\"dogsCharacteristicsValuesTransients\"] = [];\n for (let item of this.dogsCharacteristicsValuesTransients)\n data[\"dogsCharacteristicsValuesTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogDysplasiaTransients)) {\n data[\"dogDysplasiaTransients\"] = [];\n for (let item of this.dogDysplasiaTransients)\n data[\"dogDysplasiaTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogDysplasias)) {\n data[\"dogDysplasias\"] = [];\n for (let item of this.dogDysplasias)\n data[\"dogDysplasias\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogHealthTestCharacteristicValueTransients)) {\n data[\"dogHealthTestCharacteristicValueTransients\"] = [];\n for (let item of this.dogHealthTestCharacteristicValueTransients)\n data[\"dogHealthTestCharacteristicValueTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICharacteristic {\n characteristicId?: number;\n characteristicTypeId?: number;\n code?: string | undefined;\n labCode?: string | undefined;\n remark?: string | undefined;\n dysplasiaTypeId?: number | undefined;\n articleId?: number | undefined;\n cegekaId?: string | undefined;\n orderIndex?: number;\n healthValueTypeId?: number | undefined;\n isRight?: boolean | undefined;\n characteristicType?: CharacteristicType | undefined;\n dysplasiaType?: DysplasiaType | undefined;\n healthValueType?: HealthValueType | undefined;\n article?: Article | undefined;\n lab?: ELab | undefined;\n healthPackCharacteristics?: HealthPackCharacteristic[] | undefined;\n healthTestRequestsTransients?: HealthTestRequestCharacteristicTransient[] | undefined;\n healthTestSingleCharacteristicTransients?: HealthTestSingleCharacteristicTransient[] | undefined;\n characteristicsValues?: CharacteristicValue[] | undefined;\n dogsCharacteristicsValues?: DogCharacteristicValue[] | undefined;\n characteristicTranslations?: CharacteristicTranslation[] | undefined;\n dogsCharacteristicsValuesTransients?: DogsCharacteristicsValuesTransient[] | undefined;\n dogDysplasiaTransients?: DogDysplasiaTransient[] | undefined;\n dogDysplasias?: DogDysplasia[] | undefined;\n dogHealthTestCharacteristicValueTransients?: DogHealthTestCharacteristicValueTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CharacteristicType implements ICharacteristicType {\n characteristicTypeId?: number;\n name?: string | undefined;\n typeCode?: string | undefined;\n isLab?: boolean;\n isDysplasia?: boolean;\n characteristics?: Characteristic[] | undefined;\n characteristicTypeTranslations?: CharacteristicTypeTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICharacteristicType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicTypeId = _data[\"characteristicTypeId\"];\n this.name = _data[\"name\"];\n this.typeCode = _data[\"typeCode\"];\n this.isLab = _data[\"isLab\"];\n this.isDysplasia = _data[\"isDysplasia\"];\n if (Array.isArray(_data[\"characteristics\"])) {\n this.characteristics = [] as any;\n for (let item of _data[\"characteristics\"])\n this.characteristics!.push(Characteristic.fromJS(item));\n }\n if (Array.isArray(_data[\"characteristicTypeTranslations\"])) {\n this.characteristicTypeTranslations = [] as any;\n for (let item of _data[\"characteristicTypeTranslations\"])\n this.characteristicTypeTranslations!.push(CharacteristicTypeTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CharacteristicType {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicTypeId\"] = this.characteristicTypeId;\n data[\"name\"] = this.name;\n data[\"typeCode\"] = this.typeCode;\n data[\"isLab\"] = this.isLab;\n data[\"isDysplasia\"] = this.isDysplasia;\n if (Array.isArray(this.characteristics)) {\n data[\"characteristics\"] = [];\n for (let item of this.characteristics)\n data[\"characteristics\"].push(item.toJSON());\n }\n if (Array.isArray(this.characteristicTypeTranslations)) {\n data[\"characteristicTypeTranslations\"] = [];\n for (let item of this.characteristicTypeTranslations)\n data[\"characteristicTypeTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICharacteristicType {\n characteristicTypeId?: number;\n name?: string | undefined;\n typeCode?: string | undefined;\n isLab?: boolean;\n isDysplasia?: boolean;\n characteristics?: Characteristic[] | undefined;\n characteristicTypeTranslations?: CharacteristicTypeTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CharacteristicTypeTranslation implements ICharacteristicTypeTranslation {\n characteristicTypeTranslationId?: number;\n characteristicTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n characteristicType?: CharacteristicType | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICharacteristicTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicTypeTranslationId = _data[\"characteristicTypeTranslationId\"];\n this.characteristicTypeId = _data[\"characteristicTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.characteristicType = _data[\"characteristicType\"] ? CharacteristicType.fromJS(_data[\"characteristicType\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CharacteristicTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicTypeTranslationId\"] = this.characteristicTypeTranslationId;\n data[\"characteristicTypeId\"] = this.characteristicTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"characteristicType\"] = this.characteristicType ? this.characteristicType.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICharacteristicTypeTranslation {\n characteristicTypeTranslationId?: number;\n characteristicTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n characteristicType?: CharacteristicType | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthValueType implements IHealthValueType {\n healthValueTypeId?: number;\n healthValueTypeCode?: EHealthValueType;\n canBeUsedForDysplasia?: boolean;\n healthValueTypeTranslations?: HealthValueTypeTranslation[] | undefined;\n characteristics?: Characteristic[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthValueType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthValueTypeId = _data[\"healthValueTypeId\"];\n this.healthValueTypeCode = _data[\"healthValueTypeCode\"];\n this.canBeUsedForDysplasia = _data[\"canBeUsedForDysplasia\"];\n if (Array.isArray(_data[\"healthValueTypeTranslations\"])) {\n this.healthValueTypeTranslations = [] as any;\n for (let item of _data[\"healthValueTypeTranslations\"])\n this.healthValueTypeTranslations!.push(HealthValueTypeTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"characteristics\"])) {\n this.characteristics = [] as any;\n for (let item of _data[\"characteristics\"])\n this.characteristics!.push(Characteristic.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthValueType {\n data = typeof data === 'object' ? data : {};\n let result = new HealthValueType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthValueTypeId\"] = this.healthValueTypeId;\n data[\"healthValueTypeCode\"] = this.healthValueTypeCode;\n data[\"canBeUsedForDysplasia\"] = this.canBeUsedForDysplasia;\n if (Array.isArray(this.healthValueTypeTranslations)) {\n data[\"healthValueTypeTranslations\"] = [];\n for (let item of this.healthValueTypeTranslations)\n data[\"healthValueTypeTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.characteristics)) {\n data[\"characteristics\"] = [];\n for (let item of this.characteristics)\n data[\"characteristics\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthValueType {\n healthValueTypeId?: number;\n healthValueTypeCode?: EHealthValueType;\n canBeUsedForDysplasia?: boolean;\n healthValueTypeTranslations?: HealthValueTypeTranslation[] | undefined;\n characteristics?: Characteristic[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EHealthValueType {\n Numeric = \"Numeric\",\n Alphanumeric = \"Alphanumeric\",\n ValueList = \"ValueList\",\n}\n\nexport class HealthValueTypeTranslation implements IHealthValueTypeTranslation {\n healthValueTypeTranslationId?: number;\n healthValueTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n healthValueType?: HealthValueType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthValueTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthValueTypeTranslationId = _data[\"healthValueTypeTranslationId\"];\n this.healthValueTypeId = _data[\"healthValueTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.healthValueType = _data[\"healthValueType\"] ? HealthValueType.fromJS(_data[\"healthValueType\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthValueTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new HealthValueTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthValueTypeTranslationId\"] = this.healthValueTypeTranslationId;\n data[\"healthValueTypeId\"] = this.healthValueTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"healthValueType\"] = this.healthValueType ? this.healthValueType.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthValueTypeTranslation {\n healthValueTypeTranslationId?: number;\n healthValueTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n healthValueType?: HealthValueType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Article implements IArticle {\n articleId?: number;\n articleNumber?: number;\n bcIdentifier?: string | undefined;\n price?: number;\n code?: EArticleCodes | undefined;\n cegekaId?: string | undefined;\n vatCode?: EVat;\n isMiscelaneous?: boolean;\n articleTranslations?: ArticleTranslation[] | undefined;\n workbookTypes?: WorkbookType[] | undefined;\n characteristics?: Characteristic[] | undefined;\n miscellaneousRequests?: MiscellaneousRequest[] | undefined;\n invoiceItems?: InvoiceItem[] | undefined;\n healthPacks?: HealthPack[] | undefined;\n titles?: Title[] | undefined;\n unitPricePerDogSubActivities?: SubActivity[] | undefined;\n unitFciPricePerDogSubActivities?: SubActivity[] | undefined;\n fciTaxSubActivities?: SubActivity[] | undefined;\n cacTaxSubActivities?: SubActivity[] | undefined;\n classicTaxSubActivities?: SubActivity[] | undefined;\n extraTaxSubActivities?: SubActivity[] | undefined;\n participationTaxSubActivities?: SubActivity[] | undefined;\n participationFciTaxSubActivities?: SubActivity[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IArticle) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.articleId = _data[\"articleId\"];\n this.articleNumber = _data[\"articleNumber\"];\n this.bcIdentifier = _data[\"bcIdentifier\"];\n this.price = _data[\"price\"];\n this.code = _data[\"code\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.vatCode = _data[\"vatCode\"];\n this.isMiscelaneous = _data[\"isMiscelaneous\"];\n if (Array.isArray(_data[\"articleTranslations\"])) {\n this.articleTranslations = [] as any;\n for (let item of _data[\"articleTranslations\"])\n this.articleTranslations!.push(ArticleTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"workbookTypes\"])) {\n this.workbookTypes = [] as any;\n for (let item of _data[\"workbookTypes\"])\n this.workbookTypes!.push(WorkbookType.fromJS(item));\n }\n if (Array.isArray(_data[\"characteristics\"])) {\n this.characteristics = [] as any;\n for (let item of _data[\"characteristics\"])\n this.characteristics!.push(Characteristic.fromJS(item));\n }\n if (Array.isArray(_data[\"miscellaneousRequests\"])) {\n this.miscellaneousRequests = [] as any;\n for (let item of _data[\"miscellaneousRequests\"])\n this.miscellaneousRequests!.push(MiscellaneousRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"invoiceItems\"])) {\n this.invoiceItems = [] as any;\n for (let item of _data[\"invoiceItems\"])\n this.invoiceItems!.push(InvoiceItem.fromJS(item));\n }\n if (Array.isArray(_data[\"healthPacks\"])) {\n this.healthPacks = [] as any;\n for (let item of _data[\"healthPacks\"])\n this.healthPacks!.push(HealthPack.fromJS(item));\n }\n if (Array.isArray(_data[\"titles\"])) {\n this.titles = [] as any;\n for (let item of _data[\"titles\"])\n this.titles!.push(Title.fromJS(item));\n }\n if (Array.isArray(_data[\"unitPricePerDogSubActivities\"])) {\n this.unitPricePerDogSubActivities = [] as any;\n for (let item of _data[\"unitPricePerDogSubActivities\"])\n this.unitPricePerDogSubActivities!.push(SubActivity.fromJS(item));\n }\n if (Array.isArray(_data[\"unitFciPricePerDogSubActivities\"])) {\n this.unitFciPricePerDogSubActivities = [] as any;\n for (let item of _data[\"unitFciPricePerDogSubActivities\"])\n this.unitFciPricePerDogSubActivities!.push(SubActivity.fromJS(item));\n }\n if (Array.isArray(_data[\"fciTaxSubActivities\"])) {\n this.fciTaxSubActivities = [] as any;\n for (let item of _data[\"fciTaxSubActivities\"])\n this.fciTaxSubActivities!.push(SubActivity.fromJS(item));\n }\n if (Array.isArray(_data[\"cacTaxSubActivities\"])) {\n this.cacTaxSubActivities = [] as any;\n for (let item of _data[\"cacTaxSubActivities\"])\n this.cacTaxSubActivities!.push(SubActivity.fromJS(item));\n }\n if (Array.isArray(_data[\"classicTaxSubActivities\"])) {\n this.classicTaxSubActivities = [] as any;\n for (let item of _data[\"classicTaxSubActivities\"])\n this.classicTaxSubActivities!.push(SubActivity.fromJS(item));\n }\n if (Array.isArray(_data[\"extraTaxSubActivities\"])) {\n this.extraTaxSubActivities = [] as any;\n for (let item of _data[\"extraTaxSubActivities\"])\n this.extraTaxSubActivities!.push(SubActivity.fromJS(item));\n }\n if (Array.isArray(_data[\"participationTaxSubActivities\"])) {\n this.participationTaxSubActivities = [] as any;\n for (let item of _data[\"participationTaxSubActivities\"])\n this.participationTaxSubActivities!.push(SubActivity.fromJS(item));\n }\n if (Array.isArray(_data[\"participationFciTaxSubActivities\"])) {\n this.participationFciTaxSubActivities = [] as any;\n for (let item of _data[\"participationFciTaxSubActivities\"])\n this.participationFciTaxSubActivities!.push(SubActivity.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Article {\n data = typeof data === 'object' ? data : {};\n let result = new Article();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"articleId\"] = this.articleId;\n data[\"articleNumber\"] = this.articleNumber;\n data[\"bcIdentifier\"] = this.bcIdentifier;\n data[\"price\"] = this.price;\n data[\"code\"] = this.code;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"vatCode\"] = this.vatCode;\n data[\"isMiscelaneous\"] = this.isMiscelaneous;\n if (Array.isArray(this.articleTranslations)) {\n data[\"articleTranslations\"] = [];\n for (let item of this.articleTranslations)\n data[\"articleTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.workbookTypes)) {\n data[\"workbookTypes\"] = [];\n for (let item of this.workbookTypes)\n data[\"workbookTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.characteristics)) {\n data[\"characteristics\"] = [];\n for (let item of this.characteristics)\n data[\"characteristics\"].push(item.toJSON());\n }\n if (Array.isArray(this.miscellaneousRequests)) {\n data[\"miscellaneousRequests\"] = [];\n for (let item of this.miscellaneousRequests)\n data[\"miscellaneousRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.invoiceItems)) {\n data[\"invoiceItems\"] = [];\n for (let item of this.invoiceItems)\n data[\"invoiceItems\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthPacks)) {\n data[\"healthPacks\"] = [];\n for (let item of this.healthPacks)\n data[\"healthPacks\"].push(item.toJSON());\n }\n if (Array.isArray(this.titles)) {\n data[\"titles\"] = [];\n for (let item of this.titles)\n data[\"titles\"].push(item.toJSON());\n }\n if (Array.isArray(this.unitPricePerDogSubActivities)) {\n data[\"unitPricePerDogSubActivities\"] = [];\n for (let item of this.unitPricePerDogSubActivities)\n data[\"unitPricePerDogSubActivities\"].push(item.toJSON());\n }\n if (Array.isArray(this.unitFciPricePerDogSubActivities)) {\n data[\"unitFciPricePerDogSubActivities\"] = [];\n for (let item of this.unitFciPricePerDogSubActivities)\n data[\"unitFciPricePerDogSubActivities\"].push(item.toJSON());\n }\n if (Array.isArray(this.fciTaxSubActivities)) {\n data[\"fciTaxSubActivities\"] = [];\n for (let item of this.fciTaxSubActivities)\n data[\"fciTaxSubActivities\"].push(item.toJSON());\n }\n if (Array.isArray(this.cacTaxSubActivities)) {\n data[\"cacTaxSubActivities\"] = [];\n for (let item of this.cacTaxSubActivities)\n data[\"cacTaxSubActivities\"].push(item.toJSON());\n }\n if (Array.isArray(this.classicTaxSubActivities)) {\n data[\"classicTaxSubActivities\"] = [];\n for (let item of this.classicTaxSubActivities)\n data[\"classicTaxSubActivities\"].push(item.toJSON());\n }\n if (Array.isArray(this.extraTaxSubActivities)) {\n data[\"extraTaxSubActivities\"] = [];\n for (let item of this.extraTaxSubActivities)\n data[\"extraTaxSubActivities\"].push(item.toJSON());\n }\n if (Array.isArray(this.participationTaxSubActivities)) {\n data[\"participationTaxSubActivities\"] = [];\n for (let item of this.participationTaxSubActivities)\n data[\"participationTaxSubActivities\"].push(item.toJSON());\n }\n if (Array.isArray(this.participationFciTaxSubActivities)) {\n data[\"participationFciTaxSubActivities\"] = [];\n for (let item of this.participationFciTaxSubActivities)\n data[\"participationFciTaxSubActivities\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IArticle {\n articleId?: number;\n articleNumber?: number;\n bcIdentifier?: string | undefined;\n price?: number;\n code?: EArticleCodes | undefined;\n cegekaId?: string | undefined;\n vatCode?: EVat;\n isMiscelaneous?: boolean;\n articleTranslations?: ArticleTranslation[] | undefined;\n workbookTypes?: WorkbookType[] | undefined;\n characteristics?: Characteristic[] | undefined;\n miscellaneousRequests?: MiscellaneousRequest[] | undefined;\n invoiceItems?: InvoiceItem[] | undefined;\n healthPacks?: HealthPack[] | undefined;\n titles?: Title[] | undefined;\n unitPricePerDogSubActivities?: SubActivity[] | undefined;\n unitFciPricePerDogSubActivities?: SubActivity[] | undefined;\n fciTaxSubActivities?: SubActivity[] | undefined;\n cacTaxSubActivities?: SubActivity[] | undefined;\n classicTaxSubActivities?: SubActivity[] | undefined;\n extraTaxSubActivities?: SubActivity[] | undefined;\n participationTaxSubActivities?: SubActivity[] | undefined;\n participationFciTaxSubActivities?: SubActivity[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ArticleTranslation implements IArticleTranslation {\n articleTranslationId?: number;\n articleId?: number;\n languageId?: number;\n text?: string | undefined;\n article?: Article | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IArticleTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.articleTranslationId = _data[\"articleTranslationId\"];\n this.articleId = _data[\"articleId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.article = _data[\"article\"] ? Article.fromJS(_data[\"article\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ArticleTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new ArticleTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"articleTranslationId\"] = this.articleTranslationId;\n data[\"articleId\"] = this.articleId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IArticleTranslation {\n articleTranslationId?: number;\n articleId?: number;\n languageId?: number;\n text?: string | undefined;\n article?: Article | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class WorkbookType implements IWorkbookType {\n workbookTypeId?: number;\n workbookColorId?: number;\n hasPedigree?: boolean;\n articleId?: number | undefined;\n isSticker?: boolean;\n template?: EDocumentTemplate | undefined;\n sociabilityTest?: boolean;\n canGiveWorkCertificate?: boolean;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n workbookColor?: WorkbookColor | undefined;\n article?: Article | undefined;\n workbooks?: Workbook[] | undefined;\n breedsWorkbookTypes?: BreedWorkbookType[] | undefined;\n workbookTypeTranslations?: WorkbookTypeTranslation[] | undefined;\n transientWorkbooks?: TransientWorkbook[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IWorkbookType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.workbookColorId = _data[\"workbookColorId\"];\n this.hasPedigree = _data[\"hasPedigree\"];\n this.articleId = _data[\"articleId\"];\n this.isSticker = _data[\"isSticker\"];\n this.template = _data[\"template\"];\n this.sociabilityTest = _data[\"sociabilityTest\"];\n this.canGiveWorkCertificate = _data[\"canGiveWorkCertificate\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.workbookColor = _data[\"workbookColor\"] ? WorkbookColor.fromJS(_data[\"workbookColor\"]) : undefined;\n this.article = _data[\"article\"] ? Article.fromJS(_data[\"article\"]) : undefined;\n if (Array.isArray(_data[\"workbooks\"])) {\n this.workbooks = [] as any;\n for (let item of _data[\"workbooks\"])\n this.workbooks!.push(Workbook.fromJS(item));\n }\n if (Array.isArray(_data[\"breedsWorkbookTypes\"])) {\n this.breedsWorkbookTypes = [] as any;\n for (let item of _data[\"breedsWorkbookTypes\"])\n this.breedsWorkbookTypes!.push(BreedWorkbookType.fromJS(item));\n }\n if (Array.isArray(_data[\"workbookTypeTranslations\"])) {\n this.workbookTypeTranslations = [] as any;\n for (let item of _data[\"workbookTypeTranslations\"])\n this.workbookTypeTranslations!.push(WorkbookTypeTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"transientWorkbooks\"])) {\n this.transientWorkbooks = [] as any;\n for (let item of _data[\"transientWorkbooks\"])\n this.transientWorkbooks!.push(TransientWorkbook.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): WorkbookType {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"workbookColorId\"] = this.workbookColorId;\n data[\"hasPedigree\"] = this.hasPedigree;\n data[\"articleId\"] = this.articleId;\n data[\"isSticker\"] = this.isSticker;\n data[\"template\"] = this.template;\n data[\"sociabilityTest\"] = this.sociabilityTest;\n data[\"canGiveWorkCertificate\"] = this.canGiveWorkCertificate;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"workbookColor\"] = this.workbookColor ? this.workbookColor.toJSON() : undefined;\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\n if (Array.isArray(this.workbooks)) {\n data[\"workbooks\"] = [];\n for (let item of this.workbooks)\n data[\"workbooks\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedsWorkbookTypes)) {\n data[\"breedsWorkbookTypes\"] = [];\n for (let item of this.breedsWorkbookTypes)\n data[\"breedsWorkbookTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.workbookTypeTranslations)) {\n data[\"workbookTypeTranslations\"] = [];\n for (let item of this.workbookTypeTranslations)\n data[\"workbookTypeTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientWorkbooks)) {\n data[\"transientWorkbooks\"] = [];\n for (let item of this.transientWorkbooks)\n data[\"transientWorkbooks\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IWorkbookType {\n workbookTypeId?: number;\n workbookColorId?: number;\n hasPedigree?: boolean;\n articleId?: number | undefined;\n isSticker?: boolean;\n template?: EDocumentTemplate | undefined;\n sociabilityTest?: boolean;\n canGiveWorkCertificate?: boolean;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n workbookColor?: WorkbookColor | undefined;\n article?: Article | undefined;\n workbooks?: Workbook[] | undefined;\n breedsWorkbookTypes?: BreedWorkbookType[] | undefined;\n workbookTypeTranslations?: WorkbookTypeTranslation[] | undefined;\n transientWorkbooks?: TransientWorkbook[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EDocumentTemplate {\n ANNEX = \"ANNEX\",\n PedigreeDuplicataRequestTemplate = \"PedigreeDuplicataRequestTemplate\",\n FCI = \"FCI\",\n WORKBOOKEXECUTION = \"WORKBOOKEXECUTION\",\n KENNELMISSINGINFO = \"KENNELMISSINGINFO\",\n KENNELNEWPROPOSALS = \"KENNELNEWPROPOSALS\",\n KENNELAPPROVED = \"KENNELAPPROVED\",\n WORKATTEST = \"WORKATTEST\",\n TEMPOWNERAPPROVED = \"TEMPOWNERAPPROVED\",\n IMPORTAPPROVED = \"IMPORTAPPROVED\",\n HEALTHTESTFINISHED = \"HEALTHTESTFINISHED\",\n TITLE_APPROVED_FOR_FOREIGN_CONTACT = \"TITLE_APPROVED_FOR_FOREIGN_CONTACT\",\n TITLE_APPROVED_FOR_BELGIAN_CONTACT = \"TITLE_APPROVED_FOR_BELGIAN_CONTACT\",\n BELGIANJUDGESGRANTED = \"BELGIANJUDGESGRANTED\",\n BELGIANJUDGESREFUSED = \"BELGIANJUDGESREFUSED\",\n RSHAPPROVED = \"RSHAPPROVED\",\n RSH_EXPORT_ATTEST = \"RSH_EXPORT_ATTEST\",\n IMPORT_ATTEST = \"IMPORT_ATTEST\",\n RSH_EXPORT_ATTEST_EXPORT = \"RSH_EXPORT_ATTEST_EXPORT\",\n FOREIGNJUDGESREFUSED = \"FOREIGNJUDGESREFUSED\",\n FOREIGNJUDGESGRANTED = \"FOREIGNJUDGESGRANTED\",\n CARDMEMBERSENT = \"CARDMEMBERSENT\",\n MEMBERCARD = \"MEMBERCARD\",\n MEMBERAPPROVED = \"MEMBERAPPROVED\",\n MEMBERREFUSED = \"MEMBERREFUSED\",\n MEMBERREQUESTED = \"MEMBERREQUESTED\",\n MODIFIEDMEMBERSHIPAPPROVED = \"MODIFIEDMEMBERSHIPAPPROVED\",\n APPEAL_COMMISSION_CERTIFICATE_MALE = \"APPEAL_COMMISSION_CERTIFICATE_MALE\",\n APPEAL_COMMISSION_CERTIFICATE_FEMALE = \"APPEAL_COMMISSION_CERTIFICATE_FEMALE\",\n GENT_COMMISSION_CERTIFICATE_MALE = \"GENT_COMMISSION_CERTIFICATE_MALE\",\n GENT_COMMISSION_CERTIFICATE_FEMALE = \"GENT_COMMISSION_CERTIFICATE_FEMALE\",\n CLASSIC_COMMISSION_CERTIFICATE_MALE = \"CLASSIC_COMMISSION_CERTIFICATE_MALE\",\n CLASSIC_COMMISSION_CERTIFICATE_FEMALE = \"CLASSIC_COMMISSION_CERTIFICATE_FEMALE\",\n RISH_APPROVED = \"RISH_APPROVED\",\n PUPPIES_DATA = \"PUPPIES_DATA\",\n COMPETITION_CAC_GRANTED = \"COMPETITION_CAC_GRANTED\",\n COMPETITION_CACGROUP_GRANTED = \"COMPETITION_CACGROUP_GRANTED\",\n COMPETITION_CACIAG_GRANTED = \"COMPETITION_CACIAG_GRANTED\",\n COMPETITION_CAC_IOB4D_GRANTED = \"COMPETITION_CAC_IOB4D_GRANTED\",\n COMPETITION_CLUBMATCH4A_GRANTED = \"COMPETITION_CLUBMATCH4A_GRANTED\",\n COMPETITION_COURSING_RACING_CACBL_GRANTED = \"COMPETITION_COURSING_RACING_CACBL_GRANTED\",\n COMPETITION_CACITWITHSEVERALSECTIONS_GRANTED = \"COMPETITION_CACITWITHSEVERALSECTIONS_GRANTED\",\n COMPETITION_DEFINITIVE_CACCACIB_GRANTED = \"COMPETITION_DEFINITIVE_CACCACIB_GRANTED\",\n COMPETITION_COURSINGRACING_GRANTED = \"COMPETITION_COURSINGRACING_GRANTED\",\n COMPETITION_CAC_SPECIAL_BREEDS = \"COMPETITION_CAC_SPECIAL_BREEDS\",\n COMPETITION_TEMPCACCACIB_GRANTED = \"COMPETITION_TEMPCACCACIB_GRANTED\",\n COMPETITION_WGH_GRANTED = \"COMPETITION_WGH_GRANTED\",\n COMPETITION_GRANTED = \"COMPETITION_GRANTED\",\n COMPETITION_RACINGCACIL_GRANTED = \"COMPETITION_RACINGCACIL_GRANTED\",\n SECTION_CAC = \"SECTION_CAC\",\n WORKATTEST_MISSING_INFO = \"WORKATTEST_MISSING_INFO\",\n IMPORT_MISSING_INFO = \"IMPORT_MISSING_INFO\",\n RSH_MISSING_INFO = \"RSH_MISSING_INFO\",\n WORKBOOK_MISSING_INFO = \"WORKBOOK_MISSING_INFO\",\n DIPLOMA_BELIGUM = \"DIPLOMA_BELIGUM\",\n DIPLOMA_BELIGUM_WORK = \"DIPLOMA_BELIGUM_WORK\",\n DIPLOMA_LEVRIER_COURSING = \"DIPLOMA_LEVRIER_COURSING\",\n DIPLOMA_LEVRIER_RACING = \"DIPLOMA_LEVRIER_RACING\",\n DIPLOMA_OLD = \"DIPLOMA_OLD\",\n DIPLOMA_YOUNG = \"DIPLOMA_YOUNG\",\n KENNEL_MISSING_INFO = \"KENNEL_MISSING_INFO\",\n BROOD_MISSING_INFO = \"BROOD_MISSING_INFO\",\n WORKBOOK_BLUE_PEDIGREE = \"WORKBOOK_BLUE_PEDIGREE\",\n WORKBOOK_BLUE_NO_PEDIGREE = \"WORKBOOK_BLUE_NO_PEDIGREE\",\n WORKBOOK_LIGHT_BLUE_PEDIGREE = \"WORKBOOK_LIGHT_BLUE_PEDIGREE\",\n WORKBOOK_LIGHT_BLUE_NO_PEDIGREE = \"WORKBOOK_LIGHT_BLUE_NO_PEDIGREE\",\n WORKBOOK_GREEN_PEDIGREE = \"WORKBOOK_GREEN_PEDIGREE\",\n WORKBOOK_GREEN_NO_PEDIGREE = \"WORKBOOK_GREEN_NO_PEDIGREE\",\n WORKBOOK_PURPLE_PEDIGREE = \"WORKBOOK_PURPLE_PEDIGREE\",\n WORKBOOK_PURPLE_NO_PEDIGREE = \"WORKBOOK_PURPLE_NO_PEDIGREE\",\n WORKBOOK_RED_PEDIGREE = \"WORKBOOK_RED_PEDIGREE\",\n WORKBOOK_RED_NO_PEDIGREE = \"WORKBOOK_RED_NO_PEDIGREE\",\n WORKBOOK_ORANGE_PEDIGREE = \"WORKBOOK_ORANGE_PEDIGREE\",\n WORKBOOK_ORANGE_NO_PEDIGREE = \"WORKBOOK_ORANGE_NO_PEDIGREE\",\n WORKBOOK_WHITE_PEDIGREE = \"WORKBOOK_WHITE_PEDIGREE\",\n WORKBOOK_STICKER = \"WORKBOOK_STICKER\",\n WORKBOOK_STICKER_WITH_PEDIGREE = \"WORKBOOK_STICKER_WITH_PEDIGREE\",\n DYSPLASIAEXECUTION = \"DYSPLASIAEXECUTION\",\n PEDIGREE_NORMAL = \"PEDIGREE_NORMAL\",\n PEDIGREE_NORMAL_ELITE = \"PEDIGREE_NORMAL_ELITE\",\n PEDIGREE_EXPORT = \"PEDIGREE_EXPORT\",\n PEDIGREE_RISH_NORMAL = \"PEDIGREE_RISH_NORMAL\",\n PEDIGREE_RISH_ELITE = \"PEDIGREE_RISH_ELITE\",\n PEDIGREE_NORMAL_NO_FCI = \"PEDIGREE_NORMAL_NO_FCI\",\n PEDIGREE_NORMAL_ELITE_NO_FCI = \"PEDIGREE_NORMAL_ELITE_NO_FCI\",\n PEDIGREE_EXPORT_NO_FCI = \"PEDIGREE_EXPORT_NO_FCI\",\n BILL = \"BILL\",\n BROODREQUESTCERTIFICATE = \"BROODREQUESTCERTIFICATE\",\n COMPETITION_CAC_CACIB_GRANTED = \"COMPETITION_CAC_CACIB_GRANTED\",\n HEALTH_TEST_CERTIFICATE = \"HEALTH_TEST_CERTIFICATE\",\n CAC_CERTIFICATE = \"CAC_CERTIFICATE\",\n BROOD_REQUEST_EXECUTION = \"BROOD_REQUEST_EXECUTION\",\n DNA_CERTIFICATE = \"DNA_CERTIFICATE\",\n DIPLOMA_BELGIUM_EXPO = \"DIPLOMA_BELGIUM_EXPO\",\n DIPLOMA_FULL_BELGIUM = \"DIPLOMA_FULL_BELGIUM\",\n COMPETITION_MISSING_INFO = \"COMPETITION_MISSING_INFO\",\n TITLE_MISSING_INFO = \"TITLE_MISSING_INFO\",\n PEDIGREE_SAMPLE = \"PEDIGREE_SAMPLE\",\n DUPLICATA_REQUEST_EXECUTION = \"DUPLICATA_REQUEST_EXECUTION\",\n COMMISSIONER_ATTESTATION = \"COMMISSIONER_ATTESTATION\",\n}\n\nexport class WorkbookColor implements IWorkbookColor {\n workbookColorId?: number;\n colorEnumCode?: EWorkbookColor;\n code?: string | undefined;\n workbookTypes?: WorkbookType[] | undefined;\n workbookColorTranslations?: WorkbookColorTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IWorkbookColor) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookColorId = _data[\"workbookColorId\"];\n this.colorEnumCode = _data[\"colorEnumCode\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"workbookTypes\"])) {\n this.workbookTypes = [] as any;\n for (let item of _data[\"workbookTypes\"])\n this.workbookTypes!.push(WorkbookType.fromJS(item));\n }\n if (Array.isArray(_data[\"workbookColorTranslations\"])) {\n this.workbookColorTranslations = [] as any;\n for (let item of _data[\"workbookColorTranslations\"])\n this.workbookColorTranslations!.push(WorkbookColorTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): WorkbookColor {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookColor();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookColorId\"] = this.workbookColorId;\n data[\"colorEnumCode\"] = this.colorEnumCode;\n data[\"code\"] = this.code;\n if (Array.isArray(this.workbookTypes)) {\n data[\"workbookTypes\"] = [];\n for (let item of this.workbookTypes)\n data[\"workbookTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.workbookColorTranslations)) {\n data[\"workbookColorTranslations\"] = [];\n for (let item of this.workbookColorTranslations)\n data[\"workbookColorTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IWorkbookColor {\n workbookColorId?: number;\n colorEnumCode?: EWorkbookColor;\n code?: string | undefined;\n workbookTypes?: WorkbookType[] | undefined;\n workbookColorTranslations?: WorkbookColorTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EWorkbookColor {\n Blue = \"Blue\",\n Red = \"Red\",\n Orange = \"Orange\",\n Green = \"Green\",\n Lime = \"Lime\",\n Purple = \"Purple\",\n LightBlue = \"LightBlue\",\n White = \"White\",\n Yellow = \"Yellow\",\n}\n\nexport class WorkbookColorTranslation implements IWorkbookColorTranslation {\n workbookColorTranslationId?: number;\n workbookColorId?: number;\n languageId?: number;\n text?: string | undefined;\n workbookColor?: WorkbookColor | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IWorkbookColorTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookColorTranslationId = _data[\"workbookColorTranslationId\"];\n this.workbookColorId = _data[\"workbookColorId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.workbookColor = _data[\"workbookColor\"] ? WorkbookColor.fromJS(_data[\"workbookColor\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): WorkbookColorTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookColorTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookColorTranslationId\"] = this.workbookColorTranslationId;\n data[\"workbookColorId\"] = this.workbookColorId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"workbookColor\"] = this.workbookColor ? this.workbookColor.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IWorkbookColorTranslation {\n workbookColorTranslationId?: number;\n workbookColorId?: number;\n languageId?: number;\n text?: string | undefined;\n workbookColor?: WorkbookColor | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Workbook implements IWorkbook {\n workbookId?: number;\n workbookTypeId?: number;\n dogId?: number;\n identifier?: number | undefined;\n counter?: number | undefined;\n deliveredOn?: Date | undefined;\n dog?: Dog | undefined;\n workbookType?: WorkbookType | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IWorkbook) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookId = _data[\"workbookId\"];\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.dogId = _data[\"dogId\"];\n this.identifier = _data[\"identifier\"];\n this.counter = _data[\"counter\"];\n this.deliveredOn = _data[\"deliveredOn\"] ? new Date(_data[\"deliveredOn\"].toString()) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.workbookType = _data[\"workbookType\"] ? WorkbookType.fromJS(_data[\"workbookType\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Workbook {\n data = typeof data === 'object' ? data : {};\n let result = new Workbook();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookId\"] = this.workbookId;\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"dogId\"] = this.dogId;\n data[\"identifier\"] = this.identifier;\n data[\"counter\"] = this.counter;\n data[\"deliveredOn\"] = this.deliveredOn ? this.deliveredOn.toISOString() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"workbookType\"] = this.workbookType ? this.workbookType.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IWorkbook {\n workbookId?: number;\n workbookTypeId?: number;\n dogId?: number;\n identifier?: number | undefined;\n counter?: number | undefined;\n deliveredOn?: Date | undefined;\n dog?: Dog | undefined;\n workbookType?: WorkbookType | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedWorkbookType implements IBreedWorkbookType {\n breedWorkbookTypeId?: number;\n breedId?: number;\n workbookTypeId?: number;\n breed?: Breed | undefined;\n workbookType?: WorkbookType | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedWorkbookType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedWorkbookTypeId = _data[\"breedWorkbookTypeId\"];\n this.breedId = _data[\"breedId\"];\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.workbookType = _data[\"workbookType\"] ? WorkbookType.fromJS(_data[\"workbookType\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedWorkbookType {\n data = typeof data === 'object' ? data : {};\n let result = new BreedWorkbookType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedWorkbookTypeId\"] = this.breedWorkbookTypeId;\n data[\"breedId\"] = this.breedId;\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"workbookType\"] = this.workbookType ? this.workbookType.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedWorkbookType {\n breedWorkbookTypeId?: number;\n breedId?: number;\n workbookTypeId?: number;\n breed?: Breed | undefined;\n workbookType?: WorkbookType | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class WorkbookTypeTranslation implements IWorkbookTypeTranslation {\n workbookTypeTranslationId?: number;\n workbookTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n workbookType?: WorkbookType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IWorkbookTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookTypeTranslationId = _data[\"workbookTypeTranslationId\"];\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.workbookType = _data[\"workbookType\"] ? WorkbookType.fromJS(_data[\"workbookType\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): WorkbookTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookTypeTranslationId\"] = this.workbookTypeTranslationId;\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"workbookType\"] = this.workbookType ? this.workbookType.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IWorkbookTypeTranslation {\n workbookTypeTranslationId?: number;\n workbookTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n workbookType?: WorkbookType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TransientWorkbook implements ITransientWorkbook {\n transientWorkbookId?: number;\n identifier?: number | undefined;\n counter?: number;\n dogId?: number;\n workbookTypeId?: number;\n workbookRequestId?: number;\n dog?: Dog | undefined;\n workbookType?: WorkbookType | undefined;\n workbookRequest?: WorkbookRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITransientWorkbook) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.transientWorkbookId = _data[\"transientWorkbookId\"];\n this.identifier = _data[\"identifier\"];\n this.counter = _data[\"counter\"];\n this.dogId = _data[\"dogId\"];\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.workbookRequestId = _data[\"workbookRequestId\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.workbookType = _data[\"workbookType\"] ? WorkbookType.fromJS(_data[\"workbookType\"]) : undefined;\n this.workbookRequest = _data[\"workbookRequest\"] ? WorkbookRequest.fromJS(_data[\"workbookRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TransientWorkbook {\n data = typeof data === 'object' ? data : {};\n let result = new TransientWorkbook();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transientWorkbookId\"] = this.transientWorkbookId;\n data[\"identifier\"] = this.identifier;\n data[\"counter\"] = this.counter;\n data[\"dogId\"] = this.dogId;\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"workbookRequestId\"] = this.workbookRequestId;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"workbookType\"] = this.workbookType ? this.workbookType.toJSON() : undefined;\n data[\"workbookRequest\"] = this.workbookRequest ? this.workbookRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITransientWorkbook {\n transientWorkbookId?: number;\n identifier?: number | undefined;\n counter?: number;\n dogId?: number;\n workbookTypeId?: number;\n workbookRequestId?: number;\n dog?: Dog | undefined;\n workbookType?: WorkbookType | undefined;\n workbookRequest?: WorkbookRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class WorkbookRequest implements IWorkbookRequest {\n workbookRequestId?: number;\n requestId?: number;\n clubId?: number | undefined;\n dogId?: number;\n registeredLetter?: boolean;\n request?: Request | undefined;\n club?: Club | undefined;\n dog?: Dog | undefined;\n transientWorkbooks?: TransientWorkbook[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IWorkbookRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookRequestId = _data[\"workbookRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.clubId = _data[\"clubId\"];\n this.dogId = _data[\"dogId\"];\n this.registeredLetter = _data[\"registeredLetter\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.club = _data[\"club\"] ? Club.fromJS(_data[\"club\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n if (Array.isArray(_data[\"transientWorkbooks\"])) {\n this.transientWorkbooks = [] as any;\n for (let item of _data[\"transientWorkbooks\"])\n this.transientWorkbooks!.push(TransientWorkbook.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): WorkbookRequest {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookRequestId\"] = this.workbookRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"clubId\"] = this.clubId;\n data[\"dogId\"] = this.dogId;\n data[\"registeredLetter\"] = this.registeredLetter;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"club\"] = this.club ? this.club.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n if (Array.isArray(this.transientWorkbooks)) {\n data[\"transientWorkbooks\"] = [];\n for (let item of this.transientWorkbooks)\n data[\"transientWorkbooks\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IWorkbookRequest {\n workbookRequestId?: number;\n requestId?: number;\n clubId?: number | undefined;\n dogId?: number;\n registeredLetter?: boolean;\n request?: Request | undefined;\n club?: Club | undefined;\n dog?: Dog | undefined;\n transientWorkbooks?: TransientWorkbook[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Club implements IClub {\n clubId?: number;\n languageId?: number;\n countryId?: number | undefined;\n terrainCountryId?: number | undefined;\n name?: string | undefined;\n vatNumber?: string | undefined;\n accountNumber?: string | undefined;\n number?: string | undefined;\n postalCode?: string | undefined;\n street?: string | undefined;\n city?: string | undefined;\n phoneNumber?: string | undefined;\n globalEmail?: string | undefined;\n websiteAddress?: string | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n provisionalNumber?: string | undefined;\n provisionalNumberDate?: Date | undefined;\n finalNumber?: string | undefined;\n finalNumberDate?: Date | undefined;\n remark?: string | undefined;\n bcIdentifier?: string | undefined;\n societyName?: string | undefined;\n noCompetitionInvoice?: boolean;\n terrainNumber?: string | undefined;\n terrainStreet?: string | undefined;\n terrainCity?: string | undefined;\n terrainPostalCode?: string | undefined;\n terrainProvince?: string | undefined;\n cegekaId?: string | undefined;\n terrainCountry?: Country | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n clubsBreeds?: ClubBreed[] | undefined;\n workbookRequests?: WorkbookRequest[] | undefined;\n clubsSections?: ClubSection[] | undefined;\n clubsContacts?: ClubContact[] | undefined;\n clubRoleTranslations?: ClubRoleTranslation[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n judgesForClub?: JudgesForClub[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n sharepointUri?: string | undefined;\n\n constructor(data?: IClub) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubId = _data[\"clubId\"];\n this.languageId = _data[\"languageId\"];\n this.countryId = _data[\"countryId\"];\n this.terrainCountryId = _data[\"terrainCountryId\"];\n this.name = _data[\"name\"];\n this.vatNumber = _data[\"vatNumber\"];\n this.accountNumber = _data[\"accountNumber\"];\n this.number = _data[\"number\"];\n this.postalCode = _data[\"postalCode\"];\n this.street = _data[\"street\"];\n this.city = _data[\"city\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.globalEmail = _data[\"globalEmail\"];\n this.websiteAddress = _data[\"websiteAddress\"];\n this.exclusionReason = _data[\"exclusionReason\"];\n this.exclusionStartDate = _data[\"exclusionStartDate\"] ? new Date(_data[\"exclusionStartDate\"].toString()) : undefined;\n this.exclusionEndDate = _data[\"exclusionEndDate\"] ? new Date(_data[\"exclusionEndDate\"].toString()) : undefined;\n this.provisionalNumber = _data[\"provisionalNumber\"];\n this.provisionalNumberDate = _data[\"provisionalNumberDate\"] ? new Date(_data[\"provisionalNumberDate\"].toString()) : undefined;\n this.finalNumber = _data[\"finalNumber\"];\n this.finalNumberDate = _data[\"finalNumberDate\"] ? new Date(_data[\"finalNumberDate\"].toString()) : undefined;\n this.remark = _data[\"remark\"];\n this.bcIdentifier = _data[\"bcIdentifier\"];\n this.societyName = _data[\"societyName\"];\n this.noCompetitionInvoice = _data[\"noCompetitionInvoice\"];\n this.terrainNumber = _data[\"terrainNumber\"];\n this.terrainStreet = _data[\"terrainStreet\"];\n this.terrainCity = _data[\"terrainCity\"];\n this.terrainPostalCode = _data[\"terrainPostalCode\"];\n this.terrainProvince = _data[\"terrainProvince\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.terrainCountry = _data[\"terrainCountry\"] ? Country.fromJS(_data[\"terrainCountry\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n if (Array.isArray(_data[\"clubsBreeds\"])) {\n this.clubsBreeds = [] as any;\n for (let item of _data[\"clubsBreeds\"])\n this.clubsBreeds!.push(ClubBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"workbookRequests\"])) {\n this.workbookRequests = [] as any;\n for (let item of _data[\"workbookRequests\"])\n this.workbookRequests!.push(WorkbookRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"clubsSections\"])) {\n this.clubsSections = [] as any;\n for (let item of _data[\"clubsSections\"])\n this.clubsSections!.push(ClubSection.fromJS(item));\n }\n if (Array.isArray(_data[\"clubsContacts\"])) {\n this.clubsContacts = [] as any;\n for (let item of _data[\"clubsContacts\"])\n this.clubsContacts!.push(ClubContact.fromJS(item));\n }\n if (Array.isArray(_data[\"clubRoleTranslations\"])) {\n this.clubRoleTranslations = [] as any;\n for (let item of _data[\"clubRoleTranslations\"])\n this.clubRoleTranslations!.push(ClubRoleTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionRequests\"])) {\n this.competitionRequests = [] as any;\n for (let item of _data[\"competitionRequests\"])\n this.competitionRequests!.push(CompetitionRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"judgesForClub\"])) {\n this.judgesForClub = [] as any;\n for (let item of _data[\"judgesForClub\"])\n this.judgesForClub!.push(JudgesForClub.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n }\n }\n\n static fromJS(data: any): Club {\n data = typeof data === 'object' ? data : {};\n let result = new Club();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubId\"] = this.clubId;\n data[\"languageId\"] = this.languageId;\n data[\"countryId\"] = this.countryId;\n data[\"terrainCountryId\"] = this.terrainCountryId;\n data[\"name\"] = this.name;\n data[\"vatNumber\"] = this.vatNumber;\n data[\"accountNumber\"] = this.accountNumber;\n data[\"number\"] = this.number;\n data[\"postalCode\"] = this.postalCode;\n data[\"street\"] = this.street;\n data[\"city\"] = this.city;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"globalEmail\"] = this.globalEmail;\n data[\"websiteAddress\"] = this.websiteAddress;\n data[\"exclusionReason\"] = this.exclusionReason;\n data[\"exclusionStartDate\"] = this.exclusionStartDate ? this.exclusionStartDate.toISOString() : undefined;\n data[\"exclusionEndDate\"] = this.exclusionEndDate ? this.exclusionEndDate.toISOString() : undefined;\n data[\"provisionalNumber\"] = this.provisionalNumber;\n data[\"provisionalNumberDate\"] = this.provisionalNumberDate ? this.provisionalNumberDate.toISOString() : undefined;\n data[\"finalNumber\"] = this.finalNumber;\n data[\"finalNumberDate\"] = this.finalNumberDate ? this.finalNumberDate.toISOString() : undefined;\n data[\"remark\"] = this.remark;\n data[\"bcIdentifier\"] = this.bcIdentifier;\n data[\"societyName\"] = this.societyName;\n data[\"noCompetitionInvoice\"] = this.noCompetitionInvoice;\n data[\"terrainNumber\"] = this.terrainNumber;\n data[\"terrainStreet\"] = this.terrainStreet;\n data[\"terrainCity\"] = this.terrainCity;\n data[\"terrainPostalCode\"] = this.terrainPostalCode;\n data[\"terrainProvince\"] = this.terrainProvince;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"terrainCountry\"] = this.terrainCountry ? this.terrainCountry.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n if (Array.isArray(this.clubsBreeds)) {\n data[\"clubsBreeds\"] = [];\n for (let item of this.clubsBreeds)\n data[\"clubsBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.workbookRequests)) {\n data[\"workbookRequests\"] = [];\n for (let item of this.workbookRequests)\n data[\"workbookRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubsSections)) {\n data[\"clubsSections\"] = [];\n for (let item of this.clubsSections)\n data[\"clubsSections\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubsContacts)) {\n data[\"clubsContacts\"] = [];\n for (let item of this.clubsContacts)\n data[\"clubsContacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubRoleTranslations)) {\n data[\"clubRoleTranslations\"] = [];\n for (let item of this.clubRoleTranslations)\n data[\"clubRoleTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionRequests)) {\n data[\"competitionRequests\"] = [];\n for (let item of this.competitionRequests)\n data[\"competitionRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.judgesForClub)) {\n data[\"judgesForClub\"] = [];\n for (let item of this.judgesForClub)\n data[\"judgesForClub\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"sharepointUri\"] = this.sharepointUri;\n return data;\n }\n}\n\nexport interface IClub {\n clubId?: number;\n languageId?: number;\n countryId?: number | undefined;\n terrainCountryId?: number | undefined;\n name?: string | undefined;\n vatNumber?: string | undefined;\n accountNumber?: string | undefined;\n number?: string | undefined;\n postalCode?: string | undefined;\n street?: string | undefined;\n city?: string | undefined;\n phoneNumber?: string | undefined;\n globalEmail?: string | undefined;\n websiteAddress?: string | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n provisionalNumber?: string | undefined;\n provisionalNumberDate?: Date | undefined;\n finalNumber?: string | undefined;\n finalNumberDate?: Date | undefined;\n remark?: string | undefined;\n bcIdentifier?: string | undefined;\n societyName?: string | undefined;\n noCompetitionInvoice?: boolean;\n terrainNumber?: string | undefined;\n terrainStreet?: string | undefined;\n terrainCity?: string | undefined;\n terrainPostalCode?: string | undefined;\n terrainProvince?: string | undefined;\n cegekaId?: string | undefined;\n terrainCountry?: Country | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n clubsBreeds?: ClubBreed[] | undefined;\n workbookRequests?: WorkbookRequest[] | undefined;\n clubsSections?: ClubSection[] | undefined;\n clubsContacts?: ClubContact[] | undefined;\n clubRoleTranslations?: ClubRoleTranslation[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n judgesForClub?: JudgesForClub[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n sharepointUri?: string | undefined;\n}\n\nexport class ClubBreed implements IClubBreed {\n clubBreedId?: number;\n clubId?: number;\n breedId?: number;\n club?: Club | undefined;\n breed?: Breed | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IClubBreed) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubBreedId = _data[\"clubBreedId\"];\n this.clubId = _data[\"clubId\"];\n this.breedId = _data[\"breedId\"];\n this.club = _data[\"club\"] ? Club.fromJS(_data[\"club\"]) : undefined;\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ClubBreed {\n data = typeof data === 'object' ? data : {};\n let result = new ClubBreed();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubBreedId\"] = this.clubBreedId;\n data[\"clubId\"] = this.clubId;\n data[\"breedId\"] = this.breedId;\n data[\"club\"] = this.club ? this.club.toJSON() : undefined;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IClubBreed {\n clubBreedId?: number;\n clubId?: number;\n breedId?: number;\n club?: Club | undefined;\n breed?: Breed | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ClubSection implements IClubSection {\n clubSectionId?: number;\n clubId?: number;\n sectionId?: number;\n contactEmails?: string | undefined;\n club?: Club | undefined;\n section?: Section | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IClubSection) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubSectionId = _data[\"clubSectionId\"];\n this.clubId = _data[\"clubId\"];\n this.sectionId = _data[\"sectionId\"];\n this.contactEmails = _data[\"contactEmails\"];\n this.club = _data[\"club\"] ? Club.fromJS(_data[\"club\"]) : undefined;\n this.section = _data[\"section\"] ? Section.fromJS(_data[\"section\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ClubSection {\n data = typeof data === 'object' ? data : {};\n let result = new ClubSection();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubSectionId\"] = this.clubSectionId;\n data[\"clubId\"] = this.clubId;\n data[\"sectionId\"] = this.sectionId;\n data[\"contactEmails\"] = this.contactEmails;\n data[\"club\"] = this.club ? this.club.toJSON() : undefined;\n data[\"section\"] = this.section ? this.section.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IClubSection {\n clubSectionId?: number;\n clubId?: number;\n sectionId?: number;\n contactEmails?: string | undefined;\n club?: Club | undefined;\n section?: Section | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Section implements ISection {\n sectionId?: number;\n code?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n isWork?: boolean;\n isBeauty?: boolean;\n isTabletAuthorized?: boolean;\n sendExcelByEmail?: boolean;\n activities?: Activity[] | undefined;\n clubsSections?: ClubSection[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ISection) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sectionId = _data[\"sectionId\"];\n this.code = _data[\"code\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.isWork = _data[\"isWork\"];\n this.isBeauty = _data[\"isBeauty\"];\n this.isTabletAuthorized = _data[\"isTabletAuthorized\"];\n this.sendExcelByEmail = _data[\"sendExcelByEmail\"];\n if (Array.isArray(_data[\"activities\"])) {\n this.activities = [] as any;\n for (let item of _data[\"activities\"])\n this.activities!.push(Activity.fromJS(item));\n }\n if (Array.isArray(_data[\"clubsSections\"])) {\n this.clubsSections = [] as any;\n for (let item of _data[\"clubsSections\"])\n this.clubsSections!.push(ClubSection.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionRequests\"])) {\n this.competitionRequests = [] as any;\n for (let item of _data[\"competitionRequests\"])\n this.competitionRequests!.push(CompetitionRequest.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Section {\n data = typeof data === 'object' ? data : {};\n let result = new Section();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sectionId\"] = this.sectionId;\n data[\"code\"] = this.code;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"isWork\"] = this.isWork;\n data[\"isBeauty\"] = this.isBeauty;\n data[\"isTabletAuthorized\"] = this.isTabletAuthorized;\n data[\"sendExcelByEmail\"] = this.sendExcelByEmail;\n if (Array.isArray(this.activities)) {\n data[\"activities\"] = [];\n for (let item of this.activities)\n data[\"activities\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubsSections)) {\n data[\"clubsSections\"] = [];\n for (let item of this.clubsSections)\n data[\"clubsSections\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionRequests)) {\n data[\"competitionRequests\"] = [];\n for (let item of this.competitionRequests)\n data[\"competitionRequests\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ISection {\n sectionId?: number;\n code?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n isWork?: boolean;\n isBeauty?: boolean;\n isTabletAuthorized?: boolean;\n sendExcelByEmail?: boolean;\n activities?: Activity[] | undefined;\n clubsSections?: ClubSection[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Activity implements IActivity {\n activityId?: number;\n sectionId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n section?: Section | undefined;\n subActivities?: SubActivity[] | undefined;\n activityTranslations?: ActivityTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IActivity) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.sectionId = _data[\"sectionId\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.section = _data[\"section\"] ? Section.fromJS(_data[\"section\"]) : undefined;\n if (Array.isArray(_data[\"subActivities\"])) {\n this.subActivities = [] as any;\n for (let item of _data[\"subActivities\"])\n this.subActivities!.push(SubActivity.fromJS(item));\n }\n if (Array.isArray(_data[\"activityTranslations\"])) {\n this.activityTranslations = [] as any;\n for (let item of _data[\"activityTranslations\"])\n this.activityTranslations!.push(ActivityTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Activity {\n data = typeof data === 'object' ? data : {};\n let result = new Activity();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"sectionId\"] = this.sectionId;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"section\"] = this.section ? this.section.toJSON() : undefined;\n if (Array.isArray(this.subActivities)) {\n data[\"subActivities\"] = [];\n for (let item of this.subActivities)\n data[\"subActivities\"].push(item.toJSON());\n }\n if (Array.isArray(this.activityTranslations)) {\n data[\"activityTranslations\"] = [];\n for (let item of this.activityTranslations)\n data[\"activityTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IActivity {\n activityId?: number;\n sectionId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n section?: Section | undefined;\n subActivities?: SubActivity[] | undefined;\n activityTranslations?: ActivityTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class SubActivity implements ISubActivity {\n subActivityId?: number;\n activityId?: number;\n remark?: string | undefined;\n clubMatch?: boolean;\n cegekaId?: string | undefined;\n fciTax?: boolean;\n participationFciTax?: boolean;\n showOnPortal?: boolean;\n showType?: string | undefined;\n billingType?: EBillingType | undefined;\n unitPricePerDogArticleId?: number | undefined;\n unitFciPricePerDogArticleId?: number | undefined;\n fciTaxArticleId?: number | undefined;\n cacTaxArticleId?: number | undefined;\n classicTaxArticleId?: number | undefined;\n extraTaxArticleId?: number | undefined;\n participationTaxArticleId?: number | undefined;\n participationFciTaxArticleId?: number | undefined;\n documentType?: ECompetitionDocumentType | undefined;\n cacCacibDocumentTypes?: ECacDocumentType | undefined;\n cacDocumentType?: ESectionCacType | undefined;\n activity?: Activity | undefined;\n participationFciTaxArticle?: Article | undefined;\n unitPricePerDogArticle?: Article | undefined;\n unitFciPricePerDogArticle?: Article | undefined;\n fciTaxArticle?: Article | undefined;\n cacTaxArticle?: Article | undefined;\n classicTaxArticle?: Article | undefined;\n extraTaxArticle?: Article | undefined;\n participationTaxArticle?: Article | undefined;\n subActivityTranslations?: SubActivityTranslation[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n subActivitiesJudges?: SubActivityJudge[] | undefined;\n expos?: Expo[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ISubActivity) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subActivityId = _data[\"subActivityId\"];\n this.activityId = _data[\"activityId\"];\n this.remark = _data[\"remark\"];\n this.clubMatch = _data[\"clubMatch\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.fciTax = _data[\"fciTax\"];\n this.participationFciTax = _data[\"participationFciTax\"];\n this.showOnPortal = _data[\"showOnPortal\"];\n this.showType = _data[\"showType\"];\n this.billingType = _data[\"billingType\"];\n this.unitPricePerDogArticleId = _data[\"unitPricePerDogArticleId\"];\n this.unitFciPricePerDogArticleId = _data[\"unitFciPricePerDogArticleId\"];\n this.fciTaxArticleId = _data[\"fciTaxArticleId\"];\n this.cacTaxArticleId = _data[\"cacTaxArticleId\"];\n this.classicTaxArticleId = _data[\"classicTaxArticleId\"];\n this.extraTaxArticleId = _data[\"extraTaxArticleId\"];\n this.participationTaxArticleId = _data[\"participationTaxArticleId\"];\n this.participationFciTaxArticleId = _data[\"participationFciTaxArticleId\"];\n this.documentType = _data[\"documentType\"];\n this.cacCacibDocumentTypes = _data[\"cacCacibDocumentTypes\"];\n this.cacDocumentType = _data[\"cacDocumentType\"];\n this.activity = _data[\"activity\"] ? Activity.fromJS(_data[\"activity\"]) : undefined;\n this.participationFciTaxArticle = _data[\"participationFciTaxArticle\"] ? Article.fromJS(_data[\"participationFciTaxArticle\"]) : undefined;\n this.unitPricePerDogArticle = _data[\"unitPricePerDogArticle\"] ? Article.fromJS(_data[\"unitPricePerDogArticle\"]) : undefined;\n this.unitFciPricePerDogArticle = _data[\"unitFciPricePerDogArticle\"] ? Article.fromJS(_data[\"unitFciPricePerDogArticle\"]) : undefined;\n this.fciTaxArticle = _data[\"fciTaxArticle\"] ? Article.fromJS(_data[\"fciTaxArticle\"]) : undefined;\n this.cacTaxArticle = _data[\"cacTaxArticle\"] ? Article.fromJS(_data[\"cacTaxArticle\"]) : undefined;\n this.classicTaxArticle = _data[\"classicTaxArticle\"] ? Article.fromJS(_data[\"classicTaxArticle\"]) : undefined;\n this.extraTaxArticle = _data[\"extraTaxArticle\"] ? Article.fromJS(_data[\"extraTaxArticle\"]) : undefined;\n this.participationTaxArticle = _data[\"participationTaxArticle\"] ? Article.fromJS(_data[\"participationTaxArticle\"]) : undefined;\n if (Array.isArray(_data[\"subActivityTranslations\"])) {\n this.subActivityTranslations = [] as any;\n for (let item of _data[\"subActivityTranslations\"])\n this.subActivityTranslations!.push(SubActivityTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionRequests\"])) {\n this.competitionRequests = [] as any;\n for (let item of _data[\"competitionRequests\"])\n this.competitionRequests!.push(CompetitionRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"subActivitiesJudges\"])) {\n this.subActivitiesJudges = [] as any;\n for (let item of _data[\"subActivitiesJudges\"])\n this.subActivitiesJudges!.push(SubActivityJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"expos\"])) {\n this.expos = [] as any;\n for (let item of _data[\"expos\"])\n this.expos!.push(Expo.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): SubActivity {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivity();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subActivityId\"] = this.subActivityId;\n data[\"activityId\"] = this.activityId;\n data[\"remark\"] = this.remark;\n data[\"clubMatch\"] = this.clubMatch;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"fciTax\"] = this.fciTax;\n data[\"participationFciTax\"] = this.participationFciTax;\n data[\"showOnPortal\"] = this.showOnPortal;\n data[\"showType\"] = this.showType;\n data[\"billingType\"] = this.billingType;\n data[\"unitPricePerDogArticleId\"] = this.unitPricePerDogArticleId;\n data[\"unitFciPricePerDogArticleId\"] = this.unitFciPricePerDogArticleId;\n data[\"fciTaxArticleId\"] = this.fciTaxArticleId;\n data[\"cacTaxArticleId\"] = this.cacTaxArticleId;\n data[\"classicTaxArticleId\"] = this.classicTaxArticleId;\n data[\"extraTaxArticleId\"] = this.extraTaxArticleId;\n data[\"participationTaxArticleId\"] = this.participationTaxArticleId;\n data[\"participationFciTaxArticleId\"] = this.participationFciTaxArticleId;\n data[\"documentType\"] = this.documentType;\n data[\"cacCacibDocumentTypes\"] = this.cacCacibDocumentTypes;\n data[\"cacDocumentType\"] = this.cacDocumentType;\n data[\"activity\"] = this.activity ? this.activity.toJSON() : undefined;\n data[\"participationFciTaxArticle\"] = this.participationFciTaxArticle ? this.participationFciTaxArticle.toJSON() : undefined;\n data[\"unitPricePerDogArticle\"] = this.unitPricePerDogArticle ? this.unitPricePerDogArticle.toJSON() : undefined;\n data[\"unitFciPricePerDogArticle\"] = this.unitFciPricePerDogArticle ? this.unitFciPricePerDogArticle.toJSON() : undefined;\n data[\"fciTaxArticle\"] = this.fciTaxArticle ? this.fciTaxArticle.toJSON() : undefined;\n data[\"cacTaxArticle\"] = this.cacTaxArticle ? this.cacTaxArticle.toJSON() : undefined;\n data[\"classicTaxArticle\"] = this.classicTaxArticle ? this.classicTaxArticle.toJSON() : undefined;\n data[\"extraTaxArticle\"] = this.extraTaxArticle ? this.extraTaxArticle.toJSON() : undefined;\n data[\"participationTaxArticle\"] = this.participationTaxArticle ? this.participationTaxArticle.toJSON() : undefined;\n if (Array.isArray(this.subActivityTranslations)) {\n data[\"subActivityTranslations\"] = [];\n for (let item of this.subActivityTranslations)\n data[\"subActivityTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionRequests)) {\n data[\"competitionRequests\"] = [];\n for (let item of this.competitionRequests)\n data[\"competitionRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.subActivitiesJudges)) {\n data[\"subActivitiesJudges\"] = [];\n for (let item of this.subActivitiesJudges)\n data[\"subActivitiesJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.expos)) {\n data[\"expos\"] = [];\n for (let item of this.expos)\n data[\"expos\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ISubActivity {\n subActivityId?: number;\n activityId?: number;\n remark?: string | undefined;\n clubMatch?: boolean;\n cegekaId?: string | undefined;\n fciTax?: boolean;\n participationFciTax?: boolean;\n showOnPortal?: boolean;\n showType?: string | undefined;\n billingType?: EBillingType | undefined;\n unitPricePerDogArticleId?: number | undefined;\n unitFciPricePerDogArticleId?: number | undefined;\n fciTaxArticleId?: number | undefined;\n cacTaxArticleId?: number | undefined;\n classicTaxArticleId?: number | undefined;\n extraTaxArticleId?: number | undefined;\n participationTaxArticleId?: number | undefined;\n participationFciTaxArticleId?: number | undefined;\n documentType?: ECompetitionDocumentType | undefined;\n cacCacibDocumentTypes?: ECacDocumentType | undefined;\n cacDocumentType?: ESectionCacType | undefined;\n activity?: Activity | undefined;\n participationFciTaxArticle?: Article | undefined;\n unitPricePerDogArticle?: Article | undefined;\n unitFciPricePerDogArticle?: Article | undefined;\n fciTaxArticle?: Article | undefined;\n cacTaxArticle?: Article | undefined;\n classicTaxArticle?: Article | undefined;\n extraTaxArticle?: Article | undefined;\n participationTaxArticle?: Article | undefined;\n subActivityTranslations?: SubActivityTranslation[] | undefined;\n competitionRequests?: CompetitionRequest[] | undefined;\n subActivitiesJudges?: SubActivityJudge[] | undefined;\n expos?: Expo[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EBillingType {\n CAC = \"CAC\",\n YoungAndVeteran = \"YoungAndVeteran\",\n NoCAC = \"NoCAC\",\n Other = \"Other\",\n}\n\nexport enum ECompetitionDocumentType {\n CAC = \"CAC\",\n CAC_GROUP = \"CAC_GROUP\",\n CAC_IAG = \"CAC_IAG\",\n CAC_IO4D = \"CAC_IO4D\",\n CLUB_MATCH_4A = \"CLUB_MATCH_4A\",\n CAC_IT_WITH_SEVERAL_SECTIONS = \"CAC_IT_WITH_SEVERAL_SECTIONS\",\n TEMP_CAC_CACIB_GRANTED = \"TEMP_CAC_CACIB_GRANTED\",\n TEMP_CAC_CACIB = \"TEMP_CAC_CACIB\",\n CAC_SPECIAL_BREEDS = \"CAC_SPECIAL_BREEDS\",\n CAC_IOB4D = \"CAC_IOB4D\",\n COURSING_RACING_CACBL = \"COURSING_RACING_CACBL\",\n COURSING_RACING_CACBI = \"COURSING_RACING_CACBI\",\n COURSING_RACING = \"COURSING_RACING\",\n SPECIAL_BREEDS_COURSING = \"SPECIAL_BREEDS_COURSING\",\n WGH = \"WGH\",\n COMPETITION_GRANTED = \"COMPETITION_GRANTED\",\n DEFINITIVE_CAC_CACIB = \"DEFINITIVE_CAC_CACIB\",\n COURSING_RACING_CACIL = \"COURSING_RACING_CACIL\",\n CAC_CACIB = \"CAC_CACIB\",\n}\n\nexport enum ECacDocumentType {\n TEMP_CAC_CACIB = \"TEMP_CAC_CACIB\",\n CacSection1B_1D = \"CacSection1B_1D\",\n CacSection1C = \"CacSection1C\",\n}\n\nexport enum ESectionCacType {\n CacSection1C = \"CacSection1C\",\n CacSections1B_1D = \"CacSections1B_1D\",\n}\n\nexport class SubActivityTranslation implements ISubActivityTranslation {\n subActivityTranslationId?: number;\n subActivityId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ISubActivityTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subActivityTranslationId = _data[\"subActivityTranslationId\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): SubActivityTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivityTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subActivityTranslationId\"] = this.subActivityTranslationId;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ISubActivityTranslation {\n subActivityTranslationId?: number;\n subActivityId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CompetitionRequest implements ICompetitionRequest {\n competitionRequestId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n catalogReceptionDate?: Date | undefined;\n numberParticipants?: number;\n foreignCity?: string | undefined;\n clubEmail?: string | undefined;\n extra?: string | undefined;\n requestId?: number;\n sectionId?: number | undefined;\n subActivityId?: number;\n countryId?: number | undefined;\n postalCodeId?: number | undefined;\n street?: string | undefined;\n streetNumber?: string | undefined;\n clubId?: number;\n shouldDouble?: boolean;\n crufts?: boolean;\n myDogShowAuthorized?: boolean;\n useTablet?: boolean;\n myDogShowBilling?: boolean;\n personId?: number | undefined;\n person?: Person | undefined;\n request?: Request | undefined;\n section?: Section | undefined;\n club?: Club | undefined;\n subActivity?: SubActivity | undefined;\n country?: Country | undefined;\n postalCode?: PostalCode | undefined;\n competition?: Competition | undefined;\n competitionsJudges?: CompetitionJudge[] | undefined;\n competitionBreedGroups?: CompetitionBreedGroup[] | undefined;\n competitionBreeds?: CompetitionBreed[] | undefined;\n competitionCommissioners?: CompetitionCommissioner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICompetitionRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.catalogReceptionDate = _data[\"catalogReceptionDate\"] ? new Date(_data[\"catalogReceptionDate\"].toString()) : undefined;\n this.numberParticipants = _data[\"numberParticipants\"];\n this.foreignCity = _data[\"foreignCity\"];\n this.clubEmail = _data[\"clubEmail\"];\n this.extra = _data[\"extra\"];\n this.requestId = _data[\"requestId\"];\n this.sectionId = _data[\"sectionId\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.countryId = _data[\"countryId\"];\n this.postalCodeId = _data[\"postalCodeId\"];\n this.street = _data[\"street\"];\n this.streetNumber = _data[\"streetNumber\"];\n this.clubId = _data[\"clubId\"];\n this.shouldDouble = _data[\"shouldDouble\"];\n this.crufts = _data[\"crufts\"];\n this.myDogShowAuthorized = _data[\"myDogShowAuthorized\"];\n this.useTablet = _data[\"useTablet\"];\n this.myDogShowBilling = _data[\"myDogShowBilling\"];\n this.personId = _data[\"personId\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.section = _data[\"section\"] ? Section.fromJS(_data[\"section\"]) : undefined;\n this.club = _data[\"club\"] ? Club.fromJS(_data[\"club\"]) : undefined;\n this.subActivity = _data[\"subActivity\"] ? SubActivity.fromJS(_data[\"subActivity\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.postalCode = _data[\"postalCode\"] ? PostalCode.fromJS(_data[\"postalCode\"]) : undefined;\n this.competition = _data[\"competition\"] ? Competition.fromJS(_data[\"competition\"]) : undefined;\n if (Array.isArray(_data[\"competitionsJudges\"])) {\n this.competitionsJudges = [] as any;\n for (let item of _data[\"competitionsJudges\"])\n this.competitionsJudges!.push(CompetitionJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionBreedGroups\"])) {\n this.competitionBreedGroups = [] as any;\n for (let item of _data[\"competitionBreedGroups\"])\n this.competitionBreedGroups!.push(CompetitionBreedGroup.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionBreeds\"])) {\n this.competitionBreeds = [] as any;\n for (let item of _data[\"competitionBreeds\"])\n this.competitionBreeds!.push(CompetitionBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionCommissioners\"])) {\n this.competitionCommissioners = [] as any;\n for (let item of _data[\"competitionCommissioners\"])\n this.competitionCommissioners!.push(CompetitionCommissioner.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CompetitionRequest {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"catalogReceptionDate\"] = this.catalogReceptionDate ? this.catalogReceptionDate.toISOString() : undefined;\n data[\"numberParticipants\"] = this.numberParticipants;\n data[\"foreignCity\"] = this.foreignCity;\n data[\"clubEmail\"] = this.clubEmail;\n data[\"extra\"] = this.extra;\n data[\"requestId\"] = this.requestId;\n data[\"sectionId\"] = this.sectionId;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"countryId\"] = this.countryId;\n data[\"postalCodeId\"] = this.postalCodeId;\n data[\"street\"] = this.street;\n data[\"streetNumber\"] = this.streetNumber;\n data[\"clubId\"] = this.clubId;\n data[\"shouldDouble\"] = this.shouldDouble;\n data[\"crufts\"] = this.crufts;\n data[\"myDogShowAuthorized\"] = this.myDogShowAuthorized;\n data[\"useTablet\"] = this.useTablet;\n data[\"myDogShowBilling\"] = this.myDogShowBilling;\n data[\"personId\"] = this.personId;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"section\"] = this.section ? this.section.toJSON() : undefined;\n data[\"club\"] = this.club ? this.club.toJSON() : undefined;\n data[\"subActivity\"] = this.subActivity ? this.subActivity.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"postalCode\"] = this.postalCode ? this.postalCode.toJSON() : undefined;\n data[\"competition\"] = this.competition ? this.competition.toJSON() : undefined;\n if (Array.isArray(this.competitionsJudges)) {\n data[\"competitionsJudges\"] = [];\n for (let item of this.competitionsJudges)\n data[\"competitionsJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionBreedGroups)) {\n data[\"competitionBreedGroups\"] = [];\n for (let item of this.competitionBreedGroups)\n data[\"competitionBreedGroups\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionBreeds)) {\n data[\"competitionBreeds\"] = [];\n for (let item of this.competitionBreeds)\n data[\"competitionBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionCommissioners)) {\n data[\"competitionCommissioners\"] = [];\n for (let item of this.competitionCommissioners)\n data[\"competitionCommissioners\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICompetitionRequest {\n competitionRequestId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n catalogReceptionDate?: Date | undefined;\n numberParticipants?: number;\n foreignCity?: string | undefined;\n clubEmail?: string | undefined;\n extra?: string | undefined;\n requestId?: number;\n sectionId?: number | undefined;\n subActivityId?: number;\n countryId?: number | undefined;\n postalCodeId?: number | undefined;\n street?: string | undefined;\n streetNumber?: string | undefined;\n clubId?: number;\n shouldDouble?: boolean;\n crufts?: boolean;\n myDogShowAuthorized?: boolean;\n useTablet?: boolean;\n myDogShowBilling?: boolean;\n personId?: number | undefined;\n person?: Person | undefined;\n request?: Request | undefined;\n section?: Section | undefined;\n club?: Club | undefined;\n subActivity?: SubActivity | undefined;\n country?: Country | undefined;\n postalCode?: PostalCode | undefined;\n competition?: Competition | undefined;\n competitionsJudges?: CompetitionJudge[] | undefined;\n competitionBreedGroups?: CompetitionBreedGroup[] | undefined;\n competitionBreeds?: CompetitionBreed[] | undefined;\n competitionCommissioners?: CompetitionCommissioner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class PostalCode implements IPostalCode {\n postalCodeId?: number;\n code?: number;\n locality?: string | undefined;\n isLinked?: boolean;\n township?: string | undefined;\n province?: string | undefined;\n isWallonia?: boolean;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IPostalCode) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.postalCodeId = _data[\"postalCodeId\"];\n this.code = _data[\"code\"];\n this.locality = _data[\"locality\"];\n this.isLinked = _data[\"isLinked\"];\n this.township = _data[\"township\"];\n this.province = _data[\"province\"];\n this.isWallonia = _data[\"isWallonia\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): PostalCode {\n data = typeof data === 'object' ? data : {};\n let result = new PostalCode();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"postalCodeId\"] = this.postalCodeId;\n data[\"code\"] = this.code;\n data[\"locality\"] = this.locality;\n data[\"isLinked\"] = this.isLinked;\n data[\"township\"] = this.township;\n data[\"province\"] = this.province;\n data[\"isWallonia\"] = this.isWallonia;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IPostalCode {\n postalCodeId?: number;\n code?: number;\n locality?: string | undefined;\n isLinked?: boolean;\n township?: string | undefined;\n province?: string | undefined;\n isWallonia?: boolean;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Competition implements ICompetition {\n competitionId?: number;\n competitionRequestId?: number;\n competitionStatusId?: number | undefined;\n competitionName?: string | undefined;\n hallName?: string | undefined;\n gpsCoords?: string | undefined;\n defaultTimePerDog?: number | undefined;\n dateReminderParticipationRequest?: Date | undefined;\n dateEndParticipationRequest?: Date | undefined;\n dateReminderCompetition?: Date | undefined;\n dateInformationCompetition?: Date | undefined;\n dateDeadlineCv?: Date | undefined;\n dateDeadlinePhoto?: Date | undefined;\n competitionRequest?: CompetitionRequest | undefined;\n competitionStatus?: CompetitionStatus | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n competitionDays?: CompetitionDay[] | undefined;\n competitionVolunteerProfiles?: CompetitionVolunteerProfile[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n isImporting?: boolean;\n\n constructor(data?: ICompetition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionId = _data[\"competitionId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.competitionStatusId = _data[\"competitionStatusId\"];\n this.competitionName = _data[\"competitionName\"];\n this.hallName = _data[\"hallName\"];\n this.gpsCoords = _data[\"gpsCoords\"];\n this.defaultTimePerDog = _data[\"defaultTimePerDog\"];\n this.dateReminderParticipationRequest = _data[\"dateReminderParticipationRequest\"] ? new Date(_data[\"dateReminderParticipationRequest\"].toString()) : undefined;\n this.dateEndParticipationRequest = _data[\"dateEndParticipationRequest\"] ? new Date(_data[\"dateEndParticipationRequest\"].toString()) : undefined;\n this.dateReminderCompetition = _data[\"dateReminderCompetition\"] ? new Date(_data[\"dateReminderCompetition\"].toString()) : undefined;\n this.dateInformationCompetition = _data[\"dateInformationCompetition\"] ? new Date(_data[\"dateInformationCompetition\"].toString()) : undefined;\n this.dateDeadlineCv = _data[\"dateDeadlineCv\"] ? new Date(_data[\"dateDeadlineCv\"].toString()) : undefined;\n this.dateDeadlinePhoto = _data[\"dateDeadlinePhoto\"] ? new Date(_data[\"dateDeadlinePhoto\"].toString()) : undefined;\n this.competitionRequest = _data[\"competitionRequest\"] ? CompetitionRequest.fromJS(_data[\"competitionRequest\"]) : undefined;\n this.competitionStatus = _data[\"competitionStatus\"] ? CompetitionStatus.fromJS(_data[\"competitionStatus\"]) : undefined;\n if (Array.isArray(_data[\"competitionResults\"])) {\n this.competitionResults = [] as any;\n for (let item of _data[\"competitionResults\"])\n this.competitionResults!.push(CompetitionResult.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionDays\"])) {\n this.competitionDays = [] as any;\n for (let item of _data[\"competitionDays\"])\n this.competitionDays!.push(CompetitionDay.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionVolunteerProfiles\"])) {\n this.competitionVolunteerProfiles = [] as any;\n for (let item of _data[\"competitionVolunteerProfiles\"])\n this.competitionVolunteerProfiles!.push(CompetitionVolunteerProfile.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.isImporting = _data[\"isImporting\"];\n }\n }\n\n static fromJS(data: any): Competition {\n data = typeof data === 'object' ? data : {};\n let result = new Competition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionId\"] = this.competitionId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"competitionStatusId\"] = this.competitionStatusId;\n data[\"competitionName\"] = this.competitionName;\n data[\"hallName\"] = this.hallName;\n data[\"gpsCoords\"] = this.gpsCoords;\n data[\"defaultTimePerDog\"] = this.defaultTimePerDog;\n data[\"dateReminderParticipationRequest\"] = this.dateReminderParticipationRequest ? this.dateReminderParticipationRequest.toISOString() : undefined;\n data[\"dateEndParticipationRequest\"] = this.dateEndParticipationRequest ? this.dateEndParticipationRequest.toISOString() : undefined;\n data[\"dateReminderCompetition\"] = this.dateReminderCompetition ? this.dateReminderCompetition.toISOString() : undefined;\n data[\"dateInformationCompetition\"] = this.dateInformationCompetition ? this.dateInformationCompetition.toISOString() : undefined;\n data[\"dateDeadlineCv\"] = this.dateDeadlineCv ? this.dateDeadlineCv.toISOString() : undefined;\n data[\"dateDeadlinePhoto\"] = this.dateDeadlinePhoto ? this.dateDeadlinePhoto.toISOString() : undefined;\n data[\"competitionRequest\"] = this.competitionRequest ? this.competitionRequest.toJSON() : undefined;\n data[\"competitionStatus\"] = this.competitionStatus ? this.competitionStatus.toJSON() : undefined;\n if (Array.isArray(this.competitionResults)) {\n data[\"competitionResults\"] = [];\n for (let item of this.competitionResults)\n data[\"competitionResults\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionDays)) {\n data[\"competitionDays\"] = [];\n for (let item of this.competitionDays)\n data[\"competitionDays\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionVolunteerProfiles)) {\n data[\"competitionVolunteerProfiles\"] = [];\n for (let item of this.competitionVolunteerProfiles)\n data[\"competitionVolunteerProfiles\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"isImporting\"] = this.isImporting;\n return data;\n }\n}\n\nexport interface ICompetition {\n competitionId?: number;\n competitionRequestId?: number;\n competitionStatusId?: number | undefined;\n competitionName?: string | undefined;\n hallName?: string | undefined;\n gpsCoords?: string | undefined;\n defaultTimePerDog?: number | undefined;\n dateReminderParticipationRequest?: Date | undefined;\n dateEndParticipationRequest?: Date | undefined;\n dateReminderCompetition?: Date | undefined;\n dateInformationCompetition?: Date | undefined;\n dateDeadlineCv?: Date | undefined;\n dateDeadlinePhoto?: Date | undefined;\n competitionRequest?: CompetitionRequest | undefined;\n competitionStatus?: CompetitionStatus | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n competitionDays?: CompetitionDay[] | undefined;\n competitionVolunteerProfiles?: CompetitionVolunteerProfile[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n isImporting?: boolean;\n}\n\nexport class CompetitionStatus implements ICompetitionStatus {\n competitionStatusId?: number;\n competitionStatusCode?: ECompetitionStatus;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n competitionStatusTranslations?: CompetitionStatusTranslation[] | undefined;\n competitions?: Competition[] | undefined;\n\n constructor(data?: ICompetitionStatus) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionStatusId = _data[\"competitionStatusId\"];\n this.competitionStatusCode = _data[\"competitionStatusCode\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"competitionStatusTranslations\"])) {\n this.competitionStatusTranslations = [] as any;\n for (let item of _data[\"competitionStatusTranslations\"])\n this.competitionStatusTranslations!.push(CompetitionStatusTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"competitions\"])) {\n this.competitions = [] as any;\n for (let item of _data[\"competitions\"])\n this.competitions!.push(Competition.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CompetitionStatus {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionStatus();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionStatusId\"] = this.competitionStatusId;\n data[\"competitionStatusCode\"] = this.competitionStatusCode;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.competitionStatusTranslations)) {\n data[\"competitionStatusTranslations\"] = [];\n for (let item of this.competitionStatusTranslations)\n data[\"competitionStatusTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitions)) {\n data[\"competitions\"] = [];\n for (let item of this.competitions)\n data[\"competitions\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICompetitionStatus {\n competitionStatusId?: number;\n competitionStatusCode?: ECompetitionStatus;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n competitionStatusTranslations?: CompetitionStatusTranslation[] | undefined;\n competitions?: Competition[] | undefined;\n}\n\nexport enum ECompetitionStatus {\n Configuration = \"Configuration\",\n CandidateDefinition = \"CandidateDefinition\",\n AwaitingCandidateResponse = \"AwaitingCandidateResponse\",\n ResponseFromCandidatesToBeProcessed = \"ResponseFromCandidatesToBeProcessed\",\n SRSHValidation = \"SRSHValidation\",\n RingsConfiguration = \"RingsConfiguration\",\n InProgress = \"InProgress\",\n AttendanceToDo = \"AttendanceToDo\",\n Finished = \"Finished\",\n NotOpened = \"NotOpened\",\n}\n\nexport class CompetitionStatusTranslation implements ICompetitionStatusTranslation {\n competitionStatusTranslationId?: number;\n competitionStatusId?: number;\n languageId?: number;\n text?: string | undefined;\n competitionStatus?: CompetitionStatus | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICompetitionStatusTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionStatusTranslationId = _data[\"competitionStatusTranslationId\"];\n this.competitionStatusId = _data[\"competitionStatusId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.competitionStatus = _data[\"competitionStatus\"] ? CompetitionStatus.fromJS(_data[\"competitionStatus\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CompetitionStatusTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionStatusTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionStatusTranslationId\"] = this.competitionStatusTranslationId;\n data[\"competitionStatusId\"] = this.competitionStatusId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"competitionStatus\"] = this.competitionStatus ? this.competitionStatus.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICompetitionStatusTranslation {\n competitionStatusTranslationId?: number;\n competitionStatusId?: number;\n languageId?: number;\n text?: string | undefined;\n competitionStatus?: CompetitionStatus | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CompetitionResult implements ICompetitionResult {\n competitionResultId?: number;\n competitionId?: number | undefined;\n dogId?: number;\n qualificationId?: number | undefined;\n dogTitleId?: number | undefined;\n judgeId?: number | undefined;\n expoId?: number | undefined;\n comment?: string | undefined;\n result?: number | undefined;\n catalogNumber?: number | undefined;\n showClass?: string | undefined;\n standardConformed?: boolean | undefined;\n bestOfBreed?: boolean;\n bestOfSex?: boolean;\n bestInShow?: boolean;\n bestInGroup?: boolean;\n bestVeteran?: boolean;\n bestWorkDog?: boolean;\n bestYouth?: boolean;\n bestMinorPuppy?: boolean;\n bestPuppy?: boolean;\n belgianWinner?: boolean;\n beneluxWinner?: boolean;\n beneluxYouthWinner?: boolean;\n beneluxVeteranWinner?: boolean;\n europeanWinner?: boolean;\n crufts?: boolean;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n cacbl?: boolean;\n cacblReserve?: boolean;\n cacgpo?: boolean;\n cacgpoReserve?: boolean;\n caciag?: boolean;\n caciagReserve?: boolean;\n cacil?: boolean;\n cacilReserve?: boolean;\n caciob?: boolean;\n caciobReserve?: boolean;\n cacit?: boolean;\n cacitReserve?: boolean;\n competition?: Competition | undefined;\n dog?: Dog | undefined;\n qualification?: Qualification | undefined;\n dogTitle?: DogTitle | undefined;\n judge?: Judge | undefined;\n expo?: Expo | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: ICompetitionResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionResultId = _data[\"competitionResultId\"];\n this.competitionId = _data[\"competitionId\"];\n this.dogId = _data[\"dogId\"];\n this.qualificationId = _data[\"qualificationId\"];\n this.dogTitleId = _data[\"dogTitleId\"];\n this.judgeId = _data[\"judgeId\"];\n this.expoId = _data[\"expoId\"];\n this.comment = _data[\"comment\"];\n this.result = _data[\"result\"];\n this.catalogNumber = _data[\"catalogNumber\"];\n this.showClass = _data[\"showClass\"];\n this.standardConformed = _data[\"standardConformed\"];\n this.bestOfBreed = _data[\"bestOfBreed\"];\n this.bestOfSex = _data[\"bestOfSex\"];\n this.bestInShow = _data[\"bestInShow\"];\n this.bestInGroup = _data[\"bestInGroup\"];\n this.bestVeteran = _data[\"bestVeteran\"];\n this.bestWorkDog = _data[\"bestWorkDog\"];\n this.bestYouth = _data[\"bestYouth\"];\n this.bestMinorPuppy = _data[\"bestMinorPuppy\"];\n this.bestPuppy = _data[\"bestPuppy\"];\n this.belgianWinner = _data[\"belgianWinner\"];\n this.beneluxWinner = _data[\"beneluxWinner\"];\n this.beneluxYouthWinner = _data[\"beneluxYouthWinner\"];\n this.beneluxVeteranWinner = _data[\"beneluxVeteranWinner\"];\n this.europeanWinner = _data[\"europeanWinner\"];\n this.crufts = _data[\"crufts\"];\n this.cac = _data[\"cac\"];\n this.cacReserve = _data[\"cacReserve\"];\n this.cacib = _data[\"cacib\"];\n this.cacibReserve = _data[\"cacibReserve\"];\n this.cacbl = _data[\"cacbl\"];\n this.cacblReserve = _data[\"cacblReserve\"];\n this.cacgpo = _data[\"cacgpo\"];\n this.cacgpoReserve = _data[\"cacgpoReserve\"];\n this.caciag = _data[\"caciag\"];\n this.caciagReserve = _data[\"caciagReserve\"];\n this.cacil = _data[\"cacil\"];\n this.cacilReserve = _data[\"cacilReserve\"];\n this.caciob = _data[\"caciob\"];\n this.caciobReserve = _data[\"caciobReserve\"];\n this.cacit = _data[\"cacit\"];\n this.cacitReserve = _data[\"cacitReserve\"];\n this.competition = _data[\"competition\"] ? Competition.fromJS(_data[\"competition\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.qualification = _data[\"qualification\"] ? Qualification.fromJS(_data[\"qualification\"]) : undefined;\n this.dogTitle = _data[\"dogTitle\"] ? DogTitle.fromJS(_data[\"dogTitle\"]) : undefined;\n this.judge = _data[\"judge\"] ? Judge.fromJS(_data[\"judge\"]) : undefined;\n this.expo = _data[\"expo\"] ? Expo.fromJS(_data[\"expo\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): CompetitionResult {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionResultId\"] = this.competitionResultId;\n data[\"competitionId\"] = this.competitionId;\n data[\"dogId\"] = this.dogId;\n data[\"qualificationId\"] = this.qualificationId;\n data[\"dogTitleId\"] = this.dogTitleId;\n data[\"judgeId\"] = this.judgeId;\n data[\"expoId\"] = this.expoId;\n data[\"comment\"] = this.comment;\n data[\"result\"] = this.result;\n data[\"catalogNumber\"] = this.catalogNumber;\n data[\"showClass\"] = this.showClass;\n data[\"standardConformed\"] = this.standardConformed;\n data[\"bestOfBreed\"] = this.bestOfBreed;\n data[\"bestOfSex\"] = this.bestOfSex;\n data[\"bestInShow\"] = this.bestInShow;\n data[\"bestInGroup\"] = this.bestInGroup;\n data[\"bestVeteran\"] = this.bestVeteran;\n data[\"bestWorkDog\"] = this.bestWorkDog;\n data[\"bestYouth\"] = this.bestYouth;\n data[\"bestMinorPuppy\"] = this.bestMinorPuppy;\n data[\"bestPuppy\"] = this.bestPuppy;\n data[\"belgianWinner\"] = this.belgianWinner;\n data[\"beneluxWinner\"] = this.beneluxWinner;\n data[\"beneluxYouthWinner\"] = this.beneluxYouthWinner;\n data[\"beneluxVeteranWinner\"] = this.beneluxVeteranWinner;\n data[\"europeanWinner\"] = this.europeanWinner;\n data[\"crufts\"] = this.crufts;\n data[\"cac\"] = this.cac;\n data[\"cacReserve\"] = this.cacReserve;\n data[\"cacib\"] = this.cacib;\n data[\"cacibReserve\"] = this.cacibReserve;\n data[\"cacbl\"] = this.cacbl;\n data[\"cacblReserve\"] = this.cacblReserve;\n data[\"cacgpo\"] = this.cacgpo;\n data[\"cacgpoReserve\"] = this.cacgpoReserve;\n data[\"caciag\"] = this.caciag;\n data[\"caciagReserve\"] = this.caciagReserve;\n data[\"cacil\"] = this.cacil;\n data[\"cacilReserve\"] = this.cacilReserve;\n data[\"caciob\"] = this.caciob;\n data[\"caciobReserve\"] = this.caciobReserve;\n data[\"cacit\"] = this.cacit;\n data[\"cacitReserve\"] = this.cacitReserve;\n data[\"competition\"] = this.competition ? this.competition.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"qualification\"] = this.qualification ? this.qualification.toJSON() : undefined;\n data[\"dogTitle\"] = this.dogTitle ? this.dogTitle.toJSON() : undefined;\n data[\"judge\"] = this.judge ? this.judge.toJSON() : undefined;\n data[\"expo\"] = this.expo ? this.expo.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface ICompetitionResult {\n competitionResultId?: number;\n competitionId?: number | undefined;\n dogId?: number;\n qualificationId?: number | undefined;\n dogTitleId?: number | undefined;\n judgeId?: number | undefined;\n expoId?: number | undefined;\n comment?: string | undefined;\n result?: number | undefined;\n catalogNumber?: number | undefined;\n showClass?: string | undefined;\n standardConformed?: boolean | undefined;\n bestOfBreed?: boolean;\n bestOfSex?: boolean;\n bestInShow?: boolean;\n bestInGroup?: boolean;\n bestVeteran?: boolean;\n bestWorkDog?: boolean;\n bestYouth?: boolean;\n bestMinorPuppy?: boolean;\n bestPuppy?: boolean;\n belgianWinner?: boolean;\n beneluxWinner?: boolean;\n beneluxYouthWinner?: boolean;\n beneluxVeteranWinner?: boolean;\n europeanWinner?: boolean;\n crufts?: boolean;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n cacbl?: boolean;\n cacblReserve?: boolean;\n cacgpo?: boolean;\n cacgpoReserve?: boolean;\n caciag?: boolean;\n caciagReserve?: boolean;\n cacil?: boolean;\n cacilReserve?: boolean;\n caciob?: boolean;\n caciobReserve?: boolean;\n cacit?: boolean;\n cacitReserve?: boolean;\n competition?: Competition | undefined;\n dog?: Dog | undefined;\n qualification?: Qualification | undefined;\n dogTitle?: DogTitle | undefined;\n judge?: Judge | undefined;\n expo?: Expo | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n}\n\nexport class Qualification implements IQualification {\n qualificationId?: number;\n code?: EQualification;\n competitionResults?: CompetitionResult[] | undefined;\n qualificationTranslations?: QualificationTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IQualification) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.qualificationId = _data[\"qualificationId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"competitionResults\"])) {\n this.competitionResults = [] as any;\n for (let item of _data[\"competitionResults\"])\n this.competitionResults!.push(CompetitionResult.fromJS(item));\n }\n if (Array.isArray(_data[\"qualificationTranslations\"])) {\n this.qualificationTranslations = [] as any;\n for (let item of _data[\"qualificationTranslations\"])\n this.qualificationTranslations!.push(QualificationTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Qualification {\n data = typeof data === 'object' ? data : {};\n let result = new Qualification();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"qualificationId\"] = this.qualificationId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.competitionResults)) {\n data[\"competitionResults\"] = [];\n for (let item of this.competitionResults)\n data[\"competitionResults\"].push(item.toJSON());\n }\n if (Array.isArray(this.qualificationTranslations)) {\n data[\"qualificationTranslations\"] = [];\n for (let item of this.qualificationTranslations)\n data[\"qualificationTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IQualification {\n qualificationId?: number;\n code?: EQualification;\n competitionResults?: CompetitionResult[] | undefined;\n qualificationTranslations?: QualificationTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EQualification {\n ABS = \"ABS\",\n B = \"B\",\n DK = \"DK\",\n E = \"E\",\n I = \"I\",\n KNG = \"KNG\",\n P = \"P\",\n S = \"S\",\n TB = \"TB\",\n TP = \"TP\",\n}\n\nexport class QualificationTranslation implements IQualificationTranslation {\n qualificationTranslationId?: number;\n qualificationId?: number;\n languageId?: number;\n text?: string | undefined;\n qualification?: Qualification | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IQualificationTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.qualificationTranslationId = _data[\"qualificationTranslationId\"];\n this.qualificationId = _data[\"qualificationId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.qualification = _data[\"qualification\"] ? Qualification.fromJS(_data[\"qualification\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): QualificationTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new QualificationTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"qualificationTranslationId\"] = this.qualificationTranslationId;\n data[\"qualificationId\"] = this.qualificationId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"qualification\"] = this.qualification ? this.qualification.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IQualificationTranslation {\n qualificationTranslationId?: number;\n qualificationId?: number;\n languageId?: number;\n text?: string | undefined;\n qualification?: Qualification | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogTitle implements IDogTitle {\n dogTitleId?: number;\n dogId?: number;\n titleId?: number;\n year?: number | undefined;\n dog?: Dog | undefined;\n title?: Title | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogTitle) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTitleId = _data[\"dogTitleId\"];\n this.dogId = _data[\"dogId\"];\n this.titleId = _data[\"titleId\"];\n this.year = _data[\"year\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.title = _data[\"title\"] ? Title.fromJS(_data[\"title\"]) : undefined;\n if (Array.isArray(_data[\"competitionResults\"])) {\n this.competitionResults = [] as any;\n for (let item of _data[\"competitionResults\"])\n this.competitionResults!.push(CompetitionResult.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogTitle {\n data = typeof data === 'object' ? data : {};\n let result = new DogTitle();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTitleId\"] = this.dogTitleId;\n data[\"dogId\"] = this.dogId;\n data[\"titleId\"] = this.titleId;\n data[\"year\"] = this.year;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"title\"] = this.title ? this.title.toJSON() : undefined;\n if (Array.isArray(this.competitionResults)) {\n data[\"competitionResults\"] = [];\n for (let item of this.competitionResults)\n data[\"competitionResults\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogTitle {\n dogTitleId?: number;\n dogId?: number;\n titleId?: number;\n year?: number | undefined;\n dog?: Dog | undefined;\n title?: Title | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Title implements ITitle {\n titleId?: number;\n countryId?: number;\n titleTypeId?: number;\n articleId?: number | undefined;\n abreviation?: string | undefined;\n workRequired?: boolean;\n cegekaId?: string | undefined;\n country?: Country | undefined;\n titleType?: TitleType | undefined;\n canBeUsed?: boolean;\n documentTemplate?: EDocumentTemplate | undefined;\n article?: Article | undefined;\n dogsTitles?: DogTitle[] | undefined;\n titleTranslations?: TitleTranslation[] | undefined;\n titleRequests?: TitleRequest[] | undefined;\n dogTitlesTransients?: DogTitlesTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITitle) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleId = _data[\"titleId\"];\n this.countryId = _data[\"countryId\"];\n this.titleTypeId = _data[\"titleTypeId\"];\n this.articleId = _data[\"articleId\"];\n this.abreviation = _data[\"abreviation\"];\n this.workRequired = _data[\"workRequired\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.titleType = _data[\"titleType\"] ? TitleType.fromJS(_data[\"titleType\"]) : undefined;\n this.canBeUsed = _data[\"canBeUsed\"];\n this.documentTemplate = _data[\"documentTemplate\"];\n this.article = _data[\"article\"] ? Article.fromJS(_data[\"article\"]) : undefined;\n if (Array.isArray(_data[\"dogsTitles\"])) {\n this.dogsTitles = [] as any;\n for (let item of _data[\"dogsTitles\"])\n this.dogsTitles!.push(DogTitle.fromJS(item));\n }\n if (Array.isArray(_data[\"titleTranslations\"])) {\n this.titleTranslations = [] as any;\n for (let item of _data[\"titleTranslations\"])\n this.titleTranslations!.push(TitleTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"titleRequests\"])) {\n this.titleRequests = [] as any;\n for (let item of _data[\"titleRequests\"])\n this.titleRequests!.push(TitleRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTitlesTransients\"])) {\n this.dogTitlesTransients = [] as any;\n for (let item of _data[\"dogTitlesTransients\"])\n this.dogTitlesTransients!.push(DogTitlesTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Title {\n data = typeof data === 'object' ? data : {};\n let result = new Title();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleId\"] = this.titleId;\n data[\"countryId\"] = this.countryId;\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"articleId\"] = this.articleId;\n data[\"abreviation\"] = this.abreviation;\n data[\"workRequired\"] = this.workRequired;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"titleType\"] = this.titleType ? this.titleType.toJSON() : undefined;\n data[\"canBeUsed\"] = this.canBeUsed;\n data[\"documentTemplate\"] = this.documentTemplate;\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\n if (Array.isArray(this.dogsTitles)) {\n data[\"dogsTitles\"] = [];\n for (let item of this.dogsTitles)\n data[\"dogsTitles\"].push(item.toJSON());\n }\n if (Array.isArray(this.titleTranslations)) {\n data[\"titleTranslations\"] = [];\n for (let item of this.titleTranslations)\n data[\"titleTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.titleRequests)) {\n data[\"titleRequests\"] = [];\n for (let item of this.titleRequests)\n data[\"titleRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTitlesTransients)) {\n data[\"dogTitlesTransients\"] = [];\n for (let item of this.dogTitlesTransients)\n data[\"dogTitlesTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITitle {\n titleId?: number;\n countryId?: number;\n titleTypeId?: number;\n articleId?: number | undefined;\n abreviation?: string | undefined;\n workRequired?: boolean;\n cegekaId?: string | undefined;\n country?: Country | undefined;\n titleType?: TitleType | undefined;\n canBeUsed?: boolean;\n documentTemplate?: EDocumentTemplate | undefined;\n article?: Article | undefined;\n dogsTitles?: DogTitle[] | undefined;\n titleTranslations?: TitleTranslation[] | undefined;\n titleRequests?: TitleRequest[] | undefined;\n dogTitlesTransients?: DogTitlesTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TitleType implements ITitleType {\n titleTypeId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n titleTypeTranslations?: TitleTypeTranslation[] | undefined;\n titles?: Title[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITitleType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleTypeId = _data[\"titleTypeId\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n if (Array.isArray(_data[\"titleTypeTranslations\"])) {\n this.titleTypeTranslations = [] as any;\n for (let item of _data[\"titleTypeTranslations\"])\n this.titleTypeTranslations!.push(TitleTypeTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"titles\"])) {\n this.titles = [] as any;\n for (let item of _data[\"titles\"])\n this.titles!.push(Title.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TitleType {\n data = typeof data === 'object' ? data : {};\n let result = new TitleType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n if (Array.isArray(this.titleTypeTranslations)) {\n data[\"titleTypeTranslations\"] = [];\n for (let item of this.titleTypeTranslations)\n data[\"titleTypeTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.titles)) {\n data[\"titles\"] = [];\n for (let item of this.titles)\n data[\"titles\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITitleType {\n titleTypeId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n titleTypeTranslations?: TitleTypeTranslation[] | undefined;\n titles?: Title[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TitleTypeTranslation implements ITitleTypeTranslation {\n titleTypeTranslationId?: number;\n titleTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITitleTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleTypeTranslationId = _data[\"titleTypeTranslationId\"];\n this.titleTypeId = _data[\"titleTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TitleTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new TitleTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleTypeTranslationId\"] = this.titleTypeTranslationId;\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITitleTypeTranslation {\n titleTypeTranslationId?: number;\n titleTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TitleTranslation implements ITitleTranslation {\n titleTranslationId?: number;\n titleId?: number;\n languageId?: number;\n text?: string | undefined;\n title?: Title | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITitleTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleTranslationId = _data[\"titleTranslationId\"];\n this.titleId = _data[\"titleId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.title = _data[\"title\"] ? Title.fromJS(_data[\"title\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TitleTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new TitleTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleTranslationId\"] = this.titleTranslationId;\n data[\"titleId\"] = this.titleId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"title\"] = this.title ? this.title.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITitleTranslation {\n titleTranslationId?: number;\n titleId?: number;\n languageId?: number;\n text?: string | undefined;\n title?: Title | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TitleRequest implements ITitleRequest {\n titleRequestId?: number;\n requestId?: number;\n dogId?: number;\n titleId?: number;\n year?: number;\n request?: Request | undefined;\n dog?: Dog | undefined;\n title?: Title | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITitleRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleRequestId = _data[\"titleRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.titleId = _data[\"titleId\"];\n this.year = _data[\"year\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.title = _data[\"title\"] ? Title.fromJS(_data[\"title\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TitleRequest {\n data = typeof data === 'object' ? data : {};\n let result = new TitleRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleRequestId\"] = this.titleRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"titleId\"] = this.titleId;\n data[\"year\"] = this.year;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"title\"] = this.title ? this.title.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITitleRequest {\n titleRequestId?: number;\n requestId?: number;\n dogId?: number;\n titleId?: number;\n year?: number;\n request?: Request | undefined;\n dog?: Dog | undefined;\n title?: Title | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogTitlesTransient implements IDogTitlesTransient {\n dogTitlesTransientId?: number;\n dogId?: number;\n titleId?: number;\n year?: number;\n managerId?: number | undefined;\n dog?: Dog | undefined;\n title?: Title | undefined;\n manager?: User | undefined;\n closedOn?: Date | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IDogTitlesTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTitlesTransientId = _data[\"dogTitlesTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.titleId = _data[\"titleId\"];\n this.year = _data[\"year\"];\n this.managerId = _data[\"managerId\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.title = _data[\"title\"] ? Title.fromJS(_data[\"title\"]) : undefined;\n this.manager = _data[\"manager\"] ? User.fromJS(_data[\"manager\"]) : undefined;\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogTitlesTransient {\n data = typeof data === 'object' ? data : {};\n let result = new DogTitlesTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTitlesTransientId\"] = this.dogTitlesTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"titleId\"] = this.titleId;\n data[\"year\"] = this.year;\n data[\"managerId\"] = this.managerId;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"title\"] = this.title ? this.title.toJSON() : undefined;\n data[\"manager\"] = this.manager ? this.manager.toJSON() : undefined;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogTitlesTransient {\n dogTitlesTransientId?: number;\n dogId?: number;\n titleId?: number;\n year?: number;\n managerId?: number | undefined;\n dog?: Dog | undefined;\n title?: Title | undefined;\n manager?: User | undefined;\n closedOn?: Date | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class Judge implements IJudge {\n judgeId?: number;\n personId?: number;\n fciNumber?: string | undefined;\n person?: Person | undefined;\n breedsJudges?: BreedJudge[] | undefined;\n breedJudgeTransients?: BreedJudgeTransient[] | undefined;\n breedGroupsJudges?: BreedGroupJudge[] | undefined;\n subActivitiesJudges?: SubActivityJudge[] | undefined;\n judgesForClub?: JudgesForClub[] | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n competitionsJudges?: CompetitionJudge[] | undefined;\n judgeSpokenLanguages?: JudgeSpokenLanguage[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: IJudge) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.judgeId = _data[\"judgeId\"];\n this.personId = _data[\"personId\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n if (Array.isArray(_data[\"breedsJudges\"])) {\n this.breedsJudges = [] as any;\n for (let item of _data[\"breedsJudges\"])\n this.breedsJudges!.push(BreedJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"breedJudgeTransients\"])) {\n this.breedJudgeTransients = [] as any;\n for (let item of _data[\"breedJudgeTransients\"])\n this.breedJudgeTransients!.push(BreedJudgeTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"breedGroupsJudges\"])) {\n this.breedGroupsJudges = [] as any;\n for (let item of _data[\"breedGroupsJudges\"])\n this.breedGroupsJudges!.push(BreedGroupJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"subActivitiesJudges\"])) {\n this.subActivitiesJudges = [] as any;\n for (let item of _data[\"subActivitiesJudges\"])\n this.subActivitiesJudges!.push(SubActivityJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"judgesForClub\"])) {\n this.judgesForClub = [] as any;\n for (let item of _data[\"judgesForClub\"])\n this.judgesForClub!.push(JudgesForClub.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionResults\"])) {\n this.competitionResults = [] as any;\n for (let item of _data[\"competitionResults\"])\n this.competitionResults!.push(CompetitionResult.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionsJudges\"])) {\n this.competitionsJudges = [] as any;\n for (let item of _data[\"competitionsJudges\"])\n this.competitionsJudges!.push(CompetitionJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"judgeSpokenLanguages\"])) {\n this.judgeSpokenLanguages = [] as any;\n for (let item of _data[\"judgeSpokenLanguages\"])\n this.judgeSpokenLanguages!.push(JudgeSpokenLanguage.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): Judge {\n data = typeof data === 'object' ? data : {};\n let result = new Judge();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"judgeId\"] = this.judgeId;\n data[\"personId\"] = this.personId;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n if (Array.isArray(this.breedsJudges)) {\n data[\"breedsJudges\"] = [];\n for (let item of this.breedsJudges)\n data[\"breedsJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedJudgeTransients)) {\n data[\"breedJudgeTransients\"] = [];\n for (let item of this.breedJudgeTransients)\n data[\"breedJudgeTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedGroupsJudges)) {\n data[\"breedGroupsJudges\"] = [];\n for (let item of this.breedGroupsJudges)\n data[\"breedGroupsJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.subActivitiesJudges)) {\n data[\"subActivitiesJudges\"] = [];\n for (let item of this.subActivitiesJudges)\n data[\"subActivitiesJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.judgesForClub)) {\n data[\"judgesForClub\"] = [];\n for (let item of this.judgesForClub)\n data[\"judgesForClub\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionResults)) {\n data[\"competitionResults\"] = [];\n for (let item of this.competitionResults)\n data[\"competitionResults\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionsJudges)) {\n data[\"competitionsJudges\"] = [];\n for (let item of this.competitionsJudges)\n data[\"competitionsJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.judgeSpokenLanguages)) {\n data[\"judgeSpokenLanguages\"] = [];\n for (let item of this.judgeSpokenLanguages)\n data[\"judgeSpokenLanguages\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface IJudge {\n judgeId?: number;\n personId?: number;\n fciNumber?: string | undefined;\n person?: Person | undefined;\n breedsJudges?: BreedJudge[] | undefined;\n breedJudgeTransients?: BreedJudgeTransient[] | undefined;\n breedGroupsJudges?: BreedGroupJudge[] | undefined;\n subActivitiesJudges?: SubActivityJudge[] | undefined;\n judgesForClub?: JudgesForClub[] | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n competitionsJudges?: CompetitionJudge[] | undefined;\n judgeSpokenLanguages?: JudgeSpokenLanguage[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n}\n\nexport class BreedJudge implements IBreedJudge {\n breedJudgeId?: number;\n breedId?: number;\n judgeId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n breed?: Breed | undefined;\n judge?: Judge | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n\n constructor(data?: IBreedJudge) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedJudgeId = _data[\"breedJudgeId\"];\n this.breedId = _data[\"breedId\"];\n this.judgeId = _data[\"judgeId\"];\n this.judgeType = _data[\"judgeType\"];\n this.nominationDate = _data[\"nominationDate\"] ? new Date(_data[\"nominationDate\"].toString()) : undefined;\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.excludedFrom = _data[\"excludedFrom\"] ? new Date(_data[\"excludedFrom\"].toString()) : undefined;\n this.excludedTo = _data[\"excludedTo\"] ? new Date(_data[\"excludedTo\"].toString()) : undefined;\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.judge = _data[\"judge\"] ? Judge.fromJS(_data[\"judge\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"expoBreedForJudges\"])) {\n this.expoBreedForJudges = [] as any;\n for (let item of _data[\"expoBreedForJudges\"])\n this.expoBreedForJudges!.push(ExpoBreedForJudge.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): BreedJudge {\n data = typeof data === 'object' ? data : {};\n let result = new BreedJudge();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedJudgeId\"] = this.breedJudgeId;\n data[\"breedId\"] = this.breedId;\n data[\"judgeId\"] = this.judgeId;\n data[\"judgeType\"] = this.judgeType;\n data[\"nominationDate\"] = this.nominationDate ? this.nominationDate.toISOString() : undefined;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"excludedFrom\"] = this.excludedFrom ? this.excludedFrom.toISOString() : undefined;\n data[\"excludedTo\"] = this.excludedTo ? this.excludedTo.toISOString() : undefined;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"judge\"] = this.judge ? this.judge.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.expoBreedForJudges)) {\n data[\"expoBreedForJudges\"] = [];\n for (let item of this.expoBreedForJudges)\n data[\"expoBreedForJudges\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IBreedJudge {\n breedJudgeId?: number;\n breedId?: number;\n judgeId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n breed?: Breed | undefined;\n judge?: Judge | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n}\n\nexport class ExpoBreedForJudge implements IExpoBreedForJudge {\n expoBreedForJudgeId?: number;\n breedId?: number;\n competitionJudgeId?: number;\n breedJudgeTransientId?: number | undefined;\n expoId?: number;\n breed?: Breed | undefined;\n breedJudgeTransient?: BreedJudgeTransient | undefined;\n competitionJudge?: CompetitionJudge | undefined;\n expo?: Expo | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IExpoBreedForJudge) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.expoBreedForJudgeId = _data[\"expoBreedForJudgeId\"];\n this.breedId = _data[\"breedId\"];\n this.competitionJudgeId = _data[\"competitionJudgeId\"];\n this.breedJudgeTransientId = _data[\"breedJudgeTransientId\"];\n this.expoId = _data[\"expoId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.breedJudgeTransient = _data[\"breedJudgeTransient\"] ? BreedJudgeTransient.fromJS(_data[\"breedJudgeTransient\"]) : undefined;\n this.competitionJudge = _data[\"competitionJudge\"] ? CompetitionJudge.fromJS(_data[\"competitionJudge\"]) : undefined;\n this.expo = _data[\"expo\"] ? Expo.fromJS(_data[\"expo\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ExpoBreedForJudge {\n data = typeof data === 'object' ? data : {};\n let result = new ExpoBreedForJudge();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"expoBreedForJudgeId\"] = this.expoBreedForJudgeId;\n data[\"breedId\"] = this.breedId;\n data[\"competitionJudgeId\"] = this.competitionJudgeId;\n data[\"breedJudgeTransientId\"] = this.breedJudgeTransientId;\n data[\"expoId\"] = this.expoId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"breedJudgeTransient\"] = this.breedJudgeTransient ? this.breedJudgeTransient.toJSON() : undefined;\n data[\"competitionJudge\"] = this.competitionJudge ? this.competitionJudge.toJSON() : undefined;\n data[\"expo\"] = this.expo ? this.expo.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IExpoBreedForJudge {\n expoBreedForJudgeId?: number;\n breedId?: number;\n competitionJudgeId?: number;\n breedJudgeTransientId?: number | undefined;\n expoId?: number;\n breed?: Breed | undefined;\n breedJudgeTransient?: BreedJudgeTransient | undefined;\n competitionJudge?: CompetitionJudge | undefined;\n expo?: Expo | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedJudgeTransient implements IBreedJudgeTransient {\n breedJudgeTransientId?: number;\n breedId?: number;\n judgeId?: number;\n judge?: Judge | undefined;\n breed?: Breed | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedJudgeTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedJudgeTransientId = _data[\"breedJudgeTransientId\"];\n this.breedId = _data[\"breedId\"];\n this.judgeId = _data[\"judgeId\"];\n this.judge = _data[\"judge\"] ? Judge.fromJS(_data[\"judge\"]) : undefined;\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n if (Array.isArray(_data[\"expoBreedForJudges\"])) {\n this.expoBreedForJudges = [] as any;\n for (let item of _data[\"expoBreedForJudges\"])\n this.expoBreedForJudges!.push(ExpoBreedForJudge.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedJudgeTransient {\n data = typeof data === 'object' ? data : {};\n let result = new BreedJudgeTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedJudgeTransientId\"] = this.breedJudgeTransientId;\n data[\"breedId\"] = this.breedId;\n data[\"judgeId\"] = this.judgeId;\n data[\"judge\"] = this.judge ? this.judge.toJSON() : undefined;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n if (Array.isArray(this.expoBreedForJudges)) {\n data[\"expoBreedForJudges\"] = [];\n for (let item of this.expoBreedForJudges)\n data[\"expoBreedForJudges\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedJudgeTransient {\n breedJudgeTransientId?: number;\n breedId?: number;\n judgeId?: number;\n judge?: Judge | undefined;\n breed?: Breed | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CompetitionJudge implements ICompetitionJudge {\n competitionJudgeId?: number;\n judgeId?: number;\n competitionRequestId?: number;\n communicationLanguageId?: number;\n subActivityValidated?: boolean | undefined;\n breedValidated?: boolean | undefined;\n mailSent?: boolean;\n hasAccepted?: boolean;\n automatedInvitation?: boolean;\n isAutoValidated?: boolean;\n isSelected?: boolean;\n accountNumber?: string | undefined;\n otherLanguage?: string | undefined;\n comingFrom?: EJudgeComingFrom;\n comingFromText?: string | undefined;\n transportationMode?: EJudgeTransportationMode;\n transportationModeText?: string | undefined;\n judge?: Judge | undefined;\n language?: Language | undefined;\n competitionRequest?: CompetitionRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n ringDivisions?: RingDivision[] | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n\n constructor(data?: ICompetitionJudge) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionJudgeId = _data[\"competitionJudgeId\"];\n this.judgeId = _data[\"judgeId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.communicationLanguageId = _data[\"communicationLanguageId\"];\n this.subActivityValidated = _data[\"subActivityValidated\"];\n this.breedValidated = _data[\"breedValidated\"];\n this.mailSent = _data[\"mailSent\"];\n this.hasAccepted = _data[\"hasAccepted\"];\n this.automatedInvitation = _data[\"automatedInvitation\"];\n this.isAutoValidated = _data[\"isAutoValidated\"];\n this.isSelected = _data[\"isSelected\"];\n this.accountNumber = _data[\"accountNumber\"];\n this.otherLanguage = _data[\"otherLanguage\"];\n this.comingFrom = _data[\"comingFrom\"];\n this.comingFromText = _data[\"comingFromText\"];\n this.transportationMode = _data[\"transportationMode\"];\n this.transportationModeText = _data[\"transportationModeText\"];\n this.judge = _data[\"judge\"] ? Judge.fromJS(_data[\"judge\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.competitionRequest = _data[\"competitionRequest\"] ? CompetitionRequest.fromJS(_data[\"competitionRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n if (Array.isArray(_data[\"ringDivisions\"])) {\n this.ringDivisions = [] as any;\n for (let item of _data[\"ringDivisions\"])\n this.ringDivisions!.push(RingDivision.fromJS(item));\n }\n if (Array.isArray(_data[\"expoBreedForJudges\"])) {\n this.expoBreedForJudges = [] as any;\n for (let item of _data[\"expoBreedForJudges\"])\n this.expoBreedForJudges!.push(ExpoBreedForJudge.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CompetitionJudge {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionJudge();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionJudgeId\"] = this.competitionJudgeId;\n data[\"judgeId\"] = this.judgeId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"communicationLanguageId\"] = this.communicationLanguageId;\n data[\"subActivityValidated\"] = this.subActivityValidated;\n data[\"breedValidated\"] = this.breedValidated;\n data[\"mailSent\"] = this.mailSent;\n data[\"hasAccepted\"] = this.hasAccepted;\n data[\"automatedInvitation\"] = this.automatedInvitation;\n data[\"isAutoValidated\"] = this.isAutoValidated;\n data[\"isSelected\"] = this.isSelected;\n data[\"accountNumber\"] = this.accountNumber;\n data[\"otherLanguage\"] = this.otherLanguage;\n data[\"comingFrom\"] = this.comingFrom;\n data[\"comingFromText\"] = this.comingFromText;\n data[\"transportationMode\"] = this.transportationMode;\n data[\"transportationModeText\"] = this.transportationModeText;\n data[\"judge\"] = this.judge ? this.judge.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"competitionRequest\"] = this.competitionRequest ? this.competitionRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n if (Array.isArray(this.ringDivisions)) {\n data[\"ringDivisions\"] = [];\n for (let item of this.ringDivisions)\n data[\"ringDivisions\"].push(item.toJSON());\n }\n if (Array.isArray(this.expoBreedForJudges)) {\n data[\"expoBreedForJudges\"] = [];\n for (let item of this.expoBreedForJudges)\n data[\"expoBreedForJudges\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICompetitionJudge {\n competitionJudgeId?: number;\n judgeId?: number;\n competitionRequestId?: number;\n communicationLanguageId?: number;\n subActivityValidated?: boolean | undefined;\n breedValidated?: boolean | undefined;\n mailSent?: boolean;\n hasAccepted?: boolean;\n automatedInvitation?: boolean;\n isAutoValidated?: boolean;\n isSelected?: boolean;\n accountNumber?: string | undefined;\n otherLanguage?: string | undefined;\n comingFrom?: EJudgeComingFrom;\n comingFromText?: string | undefined;\n transportationMode?: EJudgeTransportationMode;\n transportationModeText?: string | undefined;\n judge?: Judge | undefined;\n language?: Language | undefined;\n competitionRequest?: CompetitionRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n ringDivisions?: RingDivision[] | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n}\n\nexport enum EJudgeComingFrom {\n Home = \"Home\",\n Other = \"Other\",\n}\n\nexport enum EJudgeTransportationMode {\n Plane = \"Plane\",\n Train = \"Train\",\n Other = \"Other\",\n}\n\nexport class RingDivision implements IRingDivision {\n ringDivisionId?: number;\n letter?: string;\n ringId?: number;\n timePerDog?: number;\n competitionJudgeId?: number | undefined;\n competitionJudgePresent?: boolean;\n startTime?: string | undefined;\n comissionerArrivalTime?: string | undefined;\n ring?: Ring | undefined;\n competitionJudge?: CompetitionJudge | undefined;\n ringDivisionCompetitionCommissioners?: RingDivisionCompetitionCommissioner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRingDivision) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.ringDivisionId = _data[\"ringDivisionId\"];\n this.letter = _data[\"letter\"];\n this.ringId = _data[\"ringId\"];\n this.timePerDog = _data[\"timePerDog\"];\n this.competitionJudgeId = _data[\"competitionJudgeId\"];\n this.competitionJudgePresent = _data[\"competitionJudgePresent\"];\n this.startTime = _data[\"startTime\"];\n this.comissionerArrivalTime = _data[\"comissionerArrivalTime\"];\n this.ring = _data[\"ring\"] ? Ring.fromJS(_data[\"ring\"]) : undefined;\n this.competitionJudge = _data[\"competitionJudge\"] ? CompetitionJudge.fromJS(_data[\"competitionJudge\"]) : undefined;\n if (Array.isArray(_data[\"ringDivisionCompetitionCommissioners\"])) {\n this.ringDivisionCompetitionCommissioners = [] as any;\n for (let item of _data[\"ringDivisionCompetitionCommissioners\"])\n this.ringDivisionCompetitionCommissioners!.push(RingDivisionCompetitionCommissioner.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): RingDivision {\n data = typeof data === 'object' ? data : {};\n let result = new RingDivision();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"ringDivisionId\"] = this.ringDivisionId;\n data[\"letter\"] = this.letter;\n data[\"ringId\"] = this.ringId;\n data[\"timePerDog\"] = this.timePerDog;\n data[\"competitionJudgeId\"] = this.competitionJudgeId;\n data[\"competitionJudgePresent\"] = this.competitionJudgePresent;\n data[\"startTime\"] = this.startTime;\n data[\"comissionerArrivalTime\"] = this.comissionerArrivalTime;\n data[\"ring\"] = this.ring ? this.ring.toJSON() : undefined;\n data[\"competitionJudge\"] = this.competitionJudge ? this.competitionJudge.toJSON() : undefined;\n if (Array.isArray(this.ringDivisionCompetitionCommissioners)) {\n data[\"ringDivisionCompetitionCommissioners\"] = [];\n for (let item of this.ringDivisionCompetitionCommissioners)\n data[\"ringDivisionCompetitionCommissioners\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRingDivision {\n ringDivisionId?: number;\n letter?: string;\n ringId?: number;\n timePerDog?: number;\n competitionJudgeId?: number | undefined;\n competitionJudgePresent?: boolean;\n startTime?: string | undefined;\n comissionerArrivalTime?: string | undefined;\n ring?: Ring | undefined;\n competitionJudge?: CompetitionJudge | undefined;\n ringDivisionCompetitionCommissioners?: RingDivisionCompetitionCommissioner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Ring implements IRing {\n ringId?: number;\n ringNumber?: number;\n expoId?: number;\n hallName?: string | undefined;\n ringDivisions?: RingDivision[] | undefined;\n expo?: Expo | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRing) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.ringId = _data[\"ringId\"];\n this.ringNumber = _data[\"ringNumber\"];\n this.expoId = _data[\"expoId\"];\n this.hallName = _data[\"hallName\"];\n if (Array.isArray(_data[\"ringDivisions\"])) {\n this.ringDivisions = [] as any;\n for (let item of _data[\"ringDivisions\"])\n this.ringDivisions!.push(RingDivision.fromJS(item));\n }\n this.expo = _data[\"expo\"] ? Expo.fromJS(_data[\"expo\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Ring {\n data = typeof data === 'object' ? data : {};\n let result = new Ring();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"ringId\"] = this.ringId;\n data[\"ringNumber\"] = this.ringNumber;\n data[\"expoId\"] = this.expoId;\n data[\"hallName\"] = this.hallName;\n if (Array.isArray(this.ringDivisions)) {\n data[\"ringDivisions\"] = [];\n for (let item of this.ringDivisions)\n data[\"ringDivisions\"].push(item.toJSON());\n }\n data[\"expo\"] = this.expo ? this.expo.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRing {\n ringId?: number;\n ringNumber?: number;\n expoId?: number;\n hallName?: string | undefined;\n ringDivisions?: RingDivision[] | undefined;\n expo?: Expo | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Expo implements IExpo {\n expoId?: number;\n subActivityId?: number;\n competitionDayId?: number;\n name?: string | undefined;\n cruft?: boolean;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n subActivity?: SubActivity | undefined;\n competitionDay?: CompetitionDay | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n rings?: Ring[] | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n\n constructor(data?: IExpo) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.expoId = _data[\"expoId\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.competitionDayId = _data[\"competitionDayId\"];\n this.name = _data[\"name\"];\n this.cruft = _data[\"cruft\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.subActivity = _data[\"subActivity\"] ? SubActivity.fromJS(_data[\"subActivity\"]) : undefined;\n this.competitionDay = _data[\"competitionDay\"] ? CompetitionDay.fromJS(_data[\"competitionDay\"]) : undefined;\n if (Array.isArray(_data[\"expoBreedForJudges\"])) {\n this.expoBreedForJudges = [] as any;\n for (let item of _data[\"expoBreedForJudges\"])\n this.expoBreedForJudges!.push(ExpoBreedForJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"rings\"])) {\n this.rings = [] as any;\n for (let item of _data[\"rings\"])\n this.rings!.push(Ring.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionResults\"])) {\n this.competitionResults = [] as any;\n for (let item of _data[\"competitionResults\"])\n this.competitionResults!.push(CompetitionResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Expo {\n data = typeof data === 'object' ? data : {};\n let result = new Expo();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"expoId\"] = this.expoId;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"competitionDayId\"] = this.competitionDayId;\n data[\"name\"] = this.name;\n data[\"cruft\"] = this.cruft;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"subActivity\"] = this.subActivity ? this.subActivity.toJSON() : undefined;\n data[\"competitionDay\"] = this.competitionDay ? this.competitionDay.toJSON() : undefined;\n if (Array.isArray(this.expoBreedForJudges)) {\n data[\"expoBreedForJudges\"] = [];\n for (let item of this.expoBreedForJudges)\n data[\"expoBreedForJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.rings)) {\n data[\"rings\"] = [];\n for (let item of this.rings)\n data[\"rings\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionResults)) {\n data[\"competitionResults\"] = [];\n for (let item of this.competitionResults)\n data[\"competitionResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IExpo {\n expoId?: number;\n subActivityId?: number;\n competitionDayId?: number;\n name?: string | undefined;\n cruft?: boolean;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n subActivity?: SubActivity | undefined;\n competitionDay?: CompetitionDay | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n rings?: Ring[] | undefined;\n competitionResults?: CompetitionResult[] | undefined;\n}\n\nexport class CompetitionDay implements ICompetitionDay {\n competitionDayId?: number;\n competitionId?: number;\n dayDate?: Date;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n expos?: Expo[] | undefined;\n competition?: Competition | undefined;\n competitionCommissionerCompetitionDays?: CompetitionCommissionerCompetitionDay[] | undefined;\n\n constructor(data?: ICompetitionDay) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionDayId = _data[\"competitionDayId\"];\n this.competitionId = _data[\"competitionId\"];\n this.dayDate = _data[\"dayDate\"] ? new Date(_data[\"dayDate\"].toString()) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"expos\"])) {\n this.expos = [] as any;\n for (let item of _data[\"expos\"])\n this.expos!.push(Expo.fromJS(item));\n }\n this.competition = _data[\"competition\"] ? Competition.fromJS(_data[\"competition\"]) : undefined;\n if (Array.isArray(_data[\"competitionCommissionerCompetitionDays\"])) {\n this.competitionCommissionerCompetitionDays = [] as any;\n for (let item of _data[\"competitionCommissionerCompetitionDays\"])\n this.competitionCommissionerCompetitionDays!.push(CompetitionCommissionerCompetitionDay.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CompetitionDay {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionDay();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionDayId\"] = this.competitionDayId;\n data[\"competitionId\"] = this.competitionId;\n data[\"dayDate\"] = this.dayDate ? this.dayDate.toISOString() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.expos)) {\n data[\"expos\"] = [];\n for (let item of this.expos)\n data[\"expos\"].push(item.toJSON());\n }\n data[\"competition\"] = this.competition ? this.competition.toJSON() : undefined;\n if (Array.isArray(this.competitionCommissionerCompetitionDays)) {\n data[\"competitionCommissionerCompetitionDays\"] = [];\n for (let item of this.competitionCommissionerCompetitionDays)\n data[\"competitionCommissionerCompetitionDays\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICompetitionDay {\n competitionDayId?: number;\n competitionId?: number;\n dayDate?: Date;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n expos?: Expo[] | undefined;\n competition?: Competition | undefined;\n competitionCommissionerCompetitionDays?: CompetitionCommissionerCompetitionDay[] | undefined;\n}\n\nexport class CompetitionCommissionerCompetitionDay implements ICompetitionCommissionerCompetitionDay {\n competitionCommissionerCompetitionDayId?: number;\n competitionCommissionerId?: number;\n competitionDayId?: number;\n competitionCommissioner?: CompetitionCommissioner | undefined;\n competitionDay?: CompetitionDay | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICompetitionCommissionerCompetitionDay) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionCommissionerCompetitionDayId = _data[\"competitionCommissionerCompetitionDayId\"];\n this.competitionCommissionerId = _data[\"competitionCommissionerId\"];\n this.competitionDayId = _data[\"competitionDayId\"];\n this.competitionCommissioner = _data[\"competitionCommissioner\"] ? CompetitionCommissioner.fromJS(_data[\"competitionCommissioner\"]) : undefined;\n this.competitionDay = _data[\"competitionDay\"] ? CompetitionDay.fromJS(_data[\"competitionDay\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CompetitionCommissionerCompetitionDay {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionCommissionerCompetitionDay();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionCommissionerCompetitionDayId\"] = this.competitionCommissionerCompetitionDayId;\n data[\"competitionCommissionerId\"] = this.competitionCommissionerId;\n data[\"competitionDayId\"] = this.competitionDayId;\n data[\"competitionCommissioner\"] = this.competitionCommissioner ? this.competitionCommissioner.toJSON() : undefined;\n data[\"competitionDay\"] = this.competitionDay ? this.competitionDay.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICompetitionCommissionerCompetitionDay {\n competitionCommissionerCompetitionDayId?: number;\n competitionCommissionerId?: number;\n competitionDayId?: number;\n competitionCommissioner?: CompetitionCommissioner | undefined;\n competitionDay?: CompetitionDay | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class RingDivisionCompetitionCommissioner implements IRingDivisionCompetitionCommissioner {\n ringDivisionCompetitionCommissionerId?: number;\n ringDivisionId?: number;\n competitionCommissionerId?: number;\n competitionCommissionerPresent?: boolean;\n ringDivision?: RingDivision | undefined;\n competitionCommissioner?: CompetitionCommissioner | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRingDivisionCompetitionCommissioner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.ringDivisionCompetitionCommissionerId = _data[\"ringDivisionCompetitionCommissionerId\"];\n this.ringDivisionId = _data[\"ringDivisionId\"];\n this.competitionCommissionerId = _data[\"competitionCommissionerId\"];\n this.competitionCommissionerPresent = _data[\"competitionCommissionerPresent\"];\n this.ringDivision = _data[\"ringDivision\"] ? RingDivision.fromJS(_data[\"ringDivision\"]) : undefined;\n this.competitionCommissioner = _data[\"competitionCommissioner\"] ? CompetitionCommissioner.fromJS(_data[\"competitionCommissioner\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): RingDivisionCompetitionCommissioner {\n data = typeof data === 'object' ? data : {};\n let result = new RingDivisionCompetitionCommissioner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"ringDivisionCompetitionCommissionerId\"] = this.ringDivisionCompetitionCommissionerId;\n data[\"ringDivisionId\"] = this.ringDivisionId;\n data[\"competitionCommissionerId\"] = this.competitionCommissionerId;\n data[\"competitionCommissionerPresent\"] = this.competitionCommissionerPresent;\n data[\"ringDivision\"] = this.ringDivision ? this.ringDivision.toJSON() : undefined;\n data[\"competitionCommissioner\"] = this.competitionCommissioner ? this.competitionCommissioner.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRingDivisionCompetitionCommissioner {\n ringDivisionCompetitionCommissionerId?: number;\n ringDivisionId?: number;\n competitionCommissionerId?: number;\n competitionCommissionerPresent?: boolean;\n ringDivision?: RingDivision | undefined;\n competitionCommissioner?: CompetitionCommissioner | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedGroupJudge implements IBreedGroupJudge {\n breedGroupJudgeId?: number;\n judgeId?: number;\n breedGroupId?: number;\n judge?: Judge | undefined;\n breedGroup?: BreedGroup | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n\n constructor(data?: IBreedGroupJudge) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupJudgeId = _data[\"breedGroupJudgeId\"];\n this.judgeId = _data[\"judgeId\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.judge = _data[\"judge\"] ? Judge.fromJS(_data[\"judge\"]) : undefined;\n this.breedGroup = _data[\"breedGroup\"] ? BreedGroup.fromJS(_data[\"breedGroup\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"expoBreedForJudges\"])) {\n this.expoBreedForJudges = [] as any;\n for (let item of _data[\"expoBreedForJudges\"])\n this.expoBreedForJudges!.push(ExpoBreedForJudge.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): BreedGroupJudge {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupJudge();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupJudgeId\"] = this.breedGroupJudgeId;\n data[\"judgeId\"] = this.judgeId;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"judge\"] = this.judge ? this.judge.toJSON() : undefined;\n data[\"breedGroup\"] = this.breedGroup ? this.breedGroup.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.expoBreedForJudges)) {\n data[\"expoBreedForJudges\"] = [];\n for (let item of this.expoBreedForJudges)\n data[\"expoBreedForJudges\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IBreedGroupJudge {\n breedGroupJudgeId?: number;\n judgeId?: number;\n breedGroupId?: number;\n judge?: Judge | undefined;\n breedGroup?: BreedGroup | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n expoBreedForJudges?: ExpoBreedForJudge[] | undefined;\n}\n\nexport class BreedGroup implements IBreedGroup {\n breedGroupId?: number;\n breedGroupNumber?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n breeds?: Breed[] | undefined;\n breedGroupTranslations?: BreedGroupTranslation[] | undefined;\n breedGroupsJudges?: BreedGroupJudge[] | undefined;\n competitionBreedGroups?: CompetitionBreedGroup[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedGroup) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupId = _data[\"breedGroupId\"];\n this.breedGroupNumber = _data[\"breedGroupNumber\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n if (Array.isArray(_data[\"breeds\"])) {\n this.breeds = [] as any;\n for (let item of _data[\"breeds\"])\n this.breeds!.push(Breed.fromJS(item));\n }\n if (Array.isArray(_data[\"breedGroupTranslations\"])) {\n this.breedGroupTranslations = [] as any;\n for (let item of _data[\"breedGroupTranslations\"])\n this.breedGroupTranslations!.push(BreedGroupTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"breedGroupsJudges\"])) {\n this.breedGroupsJudges = [] as any;\n for (let item of _data[\"breedGroupsJudges\"])\n this.breedGroupsJudges!.push(BreedGroupJudge.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionBreedGroups\"])) {\n this.competitionBreedGroups = [] as any;\n for (let item of _data[\"competitionBreedGroups\"])\n this.competitionBreedGroups!.push(CompetitionBreedGroup.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedGroup {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroup();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"breedGroupNumber\"] = this.breedGroupNumber;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n if (Array.isArray(this.breeds)) {\n data[\"breeds\"] = [];\n for (let item of this.breeds)\n data[\"breeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedGroupTranslations)) {\n data[\"breedGroupTranslations\"] = [];\n for (let item of this.breedGroupTranslations)\n data[\"breedGroupTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.breedGroupsJudges)) {\n data[\"breedGroupsJudges\"] = [];\n for (let item of this.breedGroupsJudges)\n data[\"breedGroupsJudges\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionBreedGroups)) {\n data[\"competitionBreedGroups\"] = [];\n for (let item of this.competitionBreedGroups)\n data[\"competitionBreedGroups\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedGroup {\n breedGroupId?: number;\n breedGroupNumber?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n breeds?: Breed[] | undefined;\n breedGroupTranslations?: BreedGroupTranslation[] | undefined;\n breedGroupsJudges?: BreedGroupJudge[] | undefined;\n competitionBreedGroups?: CompetitionBreedGroup[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedGroupTranslation implements IBreedGroupTranslation {\n breedGroupTranslationId?: number;\n breedGroupId?: number;\n languageId?: number;\n text?: string | undefined;\n breedGroup?: BreedGroup | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedGroupTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedGroupTranslationId = _data[\"breedGroupTranslationId\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.breedGroup = _data[\"breedGroup\"] ? BreedGroup.fromJS(_data[\"breedGroup\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedGroupTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedGroupTranslationId\"] = this.breedGroupTranslationId;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"breedGroup\"] = this.breedGroup ? this.breedGroup.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedGroupTranslation {\n breedGroupTranslationId?: number;\n breedGroupId?: number;\n languageId?: number;\n text?: string | undefined;\n breedGroup?: BreedGroup | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CompetitionBreedGroup implements ICompetitionBreedGroup {\n competitionBreedGroupId?: number;\n breedGroupId?: number;\n competitionRequestId?: number;\n competitionRequest?: CompetitionRequest | undefined;\n breedGroup?: BreedGroup | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICompetitionBreedGroup) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionBreedGroupId = _data[\"competitionBreedGroupId\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.competitionRequest = _data[\"competitionRequest\"] ? CompetitionRequest.fromJS(_data[\"competitionRequest\"]) : undefined;\n this.breedGroup = _data[\"breedGroup\"] ? BreedGroup.fromJS(_data[\"breedGroup\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CompetitionBreedGroup {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionBreedGroup();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionBreedGroupId\"] = this.competitionBreedGroupId;\n data[\"breedGroupId\"] = this.breedGroupId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"competitionRequest\"] = this.competitionRequest ? this.competitionRequest.toJSON() : undefined;\n data[\"breedGroup\"] = this.breedGroup ? this.breedGroup.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICompetitionBreedGroup {\n competitionBreedGroupId?: number;\n breedGroupId?: number;\n competitionRequestId?: number;\n competitionRequest?: CompetitionRequest | undefined;\n breedGroup?: BreedGroup | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class SubActivityJudge implements ISubActivityJudge {\n subActivityJudgeId?: number;\n judgeId?: number;\n subActivityId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n judge?: Judge | undefined;\n subActivity?: SubActivity | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ISubActivityJudge) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subActivityJudgeId = _data[\"subActivityJudgeId\"];\n this.judgeId = _data[\"judgeId\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.judgeType = _data[\"judgeType\"];\n this.nominationDate = _data[\"nominationDate\"] ? new Date(_data[\"nominationDate\"].toString()) : undefined;\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.excludedFrom = _data[\"excludedFrom\"] ? new Date(_data[\"excludedFrom\"].toString()) : undefined;\n this.excludedTo = _data[\"excludedTo\"] ? new Date(_data[\"excludedTo\"].toString()) : undefined;\n this.judge = _data[\"judge\"] ? Judge.fromJS(_data[\"judge\"]) : undefined;\n this.subActivity = _data[\"subActivity\"] ? SubActivity.fromJS(_data[\"subActivity\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): SubActivityJudge {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivityJudge();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subActivityJudgeId\"] = this.subActivityJudgeId;\n data[\"judgeId\"] = this.judgeId;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"judgeType\"] = this.judgeType;\n data[\"nominationDate\"] = this.nominationDate ? this.nominationDate.toISOString() : undefined;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"excludedFrom\"] = this.excludedFrom ? this.excludedFrom.toISOString() : undefined;\n data[\"excludedTo\"] = this.excludedTo ? this.excludedTo.toISOString() : undefined;\n data[\"judge\"] = this.judge ? this.judge.toJSON() : undefined;\n data[\"subActivity\"] = this.subActivity ? this.subActivity.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ISubActivityJudge {\n subActivityJudgeId?: number;\n judgeId?: number;\n subActivityId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n judge?: Judge | undefined;\n subActivity?: SubActivity | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class JudgesForClub implements IJudgesForClub {\n judgesForClubId?: number;\n clubId?: number;\n judgeId?: number;\n isAptForBeauty?: boolean;\n isAptForWork?: boolean;\n club?: Club | undefined;\n judge?: Judge | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IJudgesForClub) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.judgesForClubId = _data[\"judgesForClubId\"];\n this.clubId = _data[\"clubId\"];\n this.judgeId = _data[\"judgeId\"];\n this.isAptForBeauty = _data[\"isAptForBeauty\"];\n this.isAptForWork = _data[\"isAptForWork\"];\n this.club = _data[\"club\"] ? Club.fromJS(_data[\"club\"]) : undefined;\n this.judge = _data[\"judge\"] ? Judge.fromJS(_data[\"judge\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): JudgesForClub {\n data = typeof data === 'object' ? data : {};\n let result = new JudgesForClub();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"judgesForClubId\"] = this.judgesForClubId;\n data[\"clubId\"] = this.clubId;\n data[\"judgeId\"] = this.judgeId;\n data[\"isAptForBeauty\"] = this.isAptForBeauty;\n data[\"isAptForWork\"] = this.isAptForWork;\n data[\"club\"] = this.club ? this.club.toJSON() : undefined;\n data[\"judge\"] = this.judge ? this.judge.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IJudgesForClub {\n judgesForClubId?: number;\n clubId?: number;\n judgeId?: number;\n isAptForBeauty?: boolean;\n isAptForWork?: boolean;\n club?: Club | undefined;\n judge?: Judge | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class JudgeSpokenLanguage implements IJudgeSpokenLanguage {\n judgeSpokenLanguageId?: number;\n judgeId?: number;\n languageId?: number;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n judge?: Judge | undefined;\n language?: Language | undefined;\n\n constructor(data?: IJudgeSpokenLanguage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.judgeSpokenLanguageId = _data[\"judgeSpokenLanguageId\"];\n this.judgeId = _data[\"judgeId\"];\n this.languageId = _data[\"languageId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.judge = _data[\"judge\"] ? Judge.fromJS(_data[\"judge\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n }\n }\n\n static fromJS(data: any): JudgeSpokenLanguage {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeSpokenLanguage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"judgeSpokenLanguageId\"] = this.judgeSpokenLanguageId;\n data[\"judgeId\"] = this.judgeId;\n data[\"languageId\"] = this.languageId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"judge\"] = this.judge ? this.judge.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IJudgeSpokenLanguage {\n judgeSpokenLanguageId?: number;\n judgeId?: number;\n languageId?: number;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n judge?: Judge | undefined;\n language?: Language | undefined;\n}\n\nexport class CompetitionVolunteerProfile implements ICompetitionVolunteerProfile {\n competitionVolunteerProfileId?: number;\n volunteerProfileId?: number;\n competitionId?: number;\n kmPaymentRate?: number | undefined;\n dayPaymentRate?: number | undefined;\n hotelFoodPayment?: number | undefined;\n minimalKmForHotel?: number | undefined;\n hotelAuthorized?: boolean;\n amountForHotelFood?: number | undefined;\n amountPerExpoDays?: number | undefined;\n amountPerTravelDays?: number | undefined;\n volunteerProfile?: VolunteerProfile | undefined;\n competition?: Competition | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICompetitionVolunteerProfile) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionVolunteerProfileId = _data[\"competitionVolunteerProfileId\"];\n this.volunteerProfileId = _data[\"volunteerProfileId\"];\n this.competitionId = _data[\"competitionId\"];\n this.kmPaymentRate = _data[\"kmPaymentRate\"];\n this.dayPaymentRate = _data[\"dayPaymentRate\"];\n this.hotelFoodPayment = _data[\"hotelFoodPayment\"];\n this.minimalKmForHotel = _data[\"minimalKmForHotel\"];\n this.hotelAuthorized = _data[\"hotelAuthorized\"];\n this.amountForHotelFood = _data[\"amountForHotelFood\"];\n this.amountPerExpoDays = _data[\"amountPerExpoDays\"];\n this.amountPerTravelDays = _data[\"amountPerTravelDays\"];\n this.volunteerProfile = _data[\"volunteerProfile\"] ? VolunteerProfile.fromJS(_data[\"volunteerProfile\"]) : undefined;\n this.competition = _data[\"competition\"] ? Competition.fromJS(_data[\"competition\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CompetitionVolunteerProfile {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionVolunteerProfile();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionVolunteerProfileId\"] = this.competitionVolunteerProfileId;\n data[\"volunteerProfileId\"] = this.volunteerProfileId;\n data[\"competitionId\"] = this.competitionId;\n data[\"kmPaymentRate\"] = this.kmPaymentRate;\n data[\"dayPaymentRate\"] = this.dayPaymentRate;\n data[\"hotelFoodPayment\"] = this.hotelFoodPayment;\n data[\"minimalKmForHotel\"] = this.minimalKmForHotel;\n data[\"hotelAuthorized\"] = this.hotelAuthorized;\n data[\"amountForHotelFood\"] = this.amountForHotelFood;\n data[\"amountPerExpoDays\"] = this.amountPerExpoDays;\n data[\"amountPerTravelDays\"] = this.amountPerTravelDays;\n data[\"volunteerProfile\"] = this.volunteerProfile ? this.volunteerProfile.toJSON() : undefined;\n data[\"competition\"] = this.competition ? this.competition.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICompetitionVolunteerProfile {\n competitionVolunteerProfileId?: number;\n volunteerProfileId?: number;\n competitionId?: number;\n kmPaymentRate?: number | undefined;\n dayPaymentRate?: number | undefined;\n hotelFoodPayment?: number | undefined;\n minimalKmForHotel?: number | undefined;\n hotelAuthorized?: boolean;\n amountForHotelFood?: number | undefined;\n amountPerExpoDays?: number | undefined;\n amountPerTravelDays?: number | undefined;\n volunteerProfile?: VolunteerProfile | undefined;\n competition?: Competition | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class VolunteerProfile implements IVolunteerProfile {\n volunteerProfileId?: number;\n code?: EVolunteerProfile;\n volunteerProfileTranslations?: VolunteerProfileTranslation[] | undefined;\n competitionVolunteerProfiles?: CompetitionVolunteerProfile[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IVolunteerProfile) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.volunteerProfileId = _data[\"volunteerProfileId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"volunteerProfileTranslations\"])) {\n this.volunteerProfileTranslations = [] as any;\n for (let item of _data[\"volunteerProfileTranslations\"])\n this.volunteerProfileTranslations!.push(VolunteerProfileTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"competitionVolunteerProfiles\"])) {\n this.competitionVolunteerProfiles = [] as any;\n for (let item of _data[\"competitionVolunteerProfiles\"])\n this.competitionVolunteerProfiles!.push(CompetitionVolunteerProfile.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): VolunteerProfile {\n data = typeof data === 'object' ? data : {};\n let result = new VolunteerProfile();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"volunteerProfileId\"] = this.volunteerProfileId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.volunteerProfileTranslations)) {\n data[\"volunteerProfileTranslations\"] = [];\n for (let item of this.volunteerProfileTranslations)\n data[\"volunteerProfileTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.competitionVolunteerProfiles)) {\n data[\"competitionVolunteerProfiles\"] = [];\n for (let item of this.competitionVolunteerProfiles)\n data[\"competitionVolunteerProfiles\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IVolunteerProfile {\n volunteerProfileId?: number;\n code?: EVolunteerProfile;\n volunteerProfileTranslations?: VolunteerProfileTranslation[] | undefined;\n competitionVolunteerProfiles?: CompetitionVolunteerProfile[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EVolunteerProfile {\n Commissioneer = \"Commissioneer\",\n Judge = \"Judge\",\n}\n\nexport class VolunteerProfileTranslation implements IVolunteerProfileTranslation {\n volunteerProfileTranslationId?: number;\n volunteerProfileId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n volunteerProfile?: VolunteerProfile | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IVolunteerProfileTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.volunteerProfileTranslationId = _data[\"volunteerProfileTranslationId\"];\n this.volunteerProfileId = _data[\"volunteerProfileId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.volunteerProfile = _data[\"volunteerProfile\"] ? VolunteerProfile.fromJS(_data[\"volunteerProfile\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): VolunteerProfileTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new VolunteerProfileTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"volunteerProfileTranslationId\"] = this.volunteerProfileTranslationId;\n data[\"volunteerProfileId\"] = this.volunteerProfileId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"volunteerProfile\"] = this.volunteerProfile ? this.volunteerProfile.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IVolunteerProfileTranslation {\n volunteerProfileTranslationId?: number;\n volunteerProfileId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n volunteerProfile?: VolunteerProfile | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CompetitionBreed implements ICompetitionBreed {\n competitionBreedId?: number;\n breedId?: number;\n competitionRequestId?: number;\n breed?: Breed | undefined;\n competitionRequest?: CompetitionRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICompetitionBreed) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionBreedId = _data[\"competitionBreedId\"];\n this.breedId = _data[\"breedId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.competitionRequest = _data[\"competitionRequest\"] ? CompetitionRequest.fromJS(_data[\"competitionRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CompetitionBreed {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionBreed();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionBreedId\"] = this.competitionBreedId;\n data[\"breedId\"] = this.breedId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"competitionRequest\"] = this.competitionRequest ? this.competitionRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICompetitionBreed {\n competitionBreedId?: number;\n breedId?: number;\n competitionRequestId?: number;\n breed?: Breed | undefined;\n competitionRequest?: CompetitionRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ActivityTranslation implements IActivityTranslation {\n activityTranslationId?: number;\n activityId?: number;\n languageId?: number;\n text?: string | undefined;\n activity?: Activity | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IActivityTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityTranslationId = _data[\"activityTranslationId\"];\n this.activityId = _data[\"activityId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.activity = _data[\"activity\"] ? Activity.fromJS(_data[\"activity\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ActivityTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new ActivityTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityTranslationId\"] = this.activityTranslationId;\n data[\"activityId\"] = this.activityId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"activity\"] = this.activity ? this.activity.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IActivityTranslation {\n activityTranslationId?: number;\n activityId?: number;\n languageId?: number;\n text?: string | undefined;\n activity?: Activity | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ClubContact implements IClubContact {\n clubContactId?: number;\n clubId?: number;\n clubRoleId?: number;\n personId?: number;\n club?: Club | undefined;\n clubRole?: ClubRole | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IClubContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubContactId = _data[\"clubContactId\"];\n this.clubId = _data[\"clubId\"];\n this.clubRoleId = _data[\"clubRoleId\"];\n this.personId = _data[\"personId\"];\n this.club = _data[\"club\"] ? Club.fromJS(_data[\"club\"]) : undefined;\n this.clubRole = _data[\"clubRole\"] ? ClubRole.fromJS(_data[\"clubRole\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ClubContact {\n data = typeof data === 'object' ? data : {};\n let result = new ClubContact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubContactId\"] = this.clubContactId;\n data[\"clubId\"] = this.clubId;\n data[\"clubRoleId\"] = this.clubRoleId;\n data[\"personId\"] = this.personId;\n data[\"club\"] = this.club ? this.club.toJSON() : undefined;\n data[\"clubRole\"] = this.clubRole ? this.clubRole.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IClubContact {\n clubContactId?: number;\n clubId?: number;\n clubRoleId?: number;\n personId?: number;\n club?: Club | undefined;\n clubRole?: ClubRole | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ClubRole implements IClubRole {\n clubRoleId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n clubRoleCode?: EClubRoles;\n clubsContacts?: ClubContact[] | undefined;\n clubRoleTranslations?: ClubRoleTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IClubRole) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubRoleId = _data[\"clubRoleId\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.clubRoleCode = _data[\"clubRoleCode\"];\n if (Array.isArray(_data[\"clubsContacts\"])) {\n this.clubsContacts = [] as any;\n for (let item of _data[\"clubsContacts\"])\n this.clubsContacts!.push(ClubContact.fromJS(item));\n }\n if (Array.isArray(_data[\"clubRoleTranslations\"])) {\n this.clubRoleTranslations = [] as any;\n for (let item of _data[\"clubRoleTranslations\"])\n this.clubRoleTranslations!.push(ClubRoleTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ClubRole {\n data = typeof data === 'object' ? data : {};\n let result = new ClubRole();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubRoleId\"] = this.clubRoleId;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"clubRoleCode\"] = this.clubRoleCode;\n if (Array.isArray(this.clubsContacts)) {\n data[\"clubsContacts\"] = [];\n for (let item of this.clubsContacts)\n data[\"clubsContacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.clubRoleTranslations)) {\n data[\"clubRoleTranslations\"] = [];\n for (let item of this.clubRoleTranslations)\n data[\"clubRoleTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IClubRole {\n clubRoleId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n clubRoleCode?: EClubRoles;\n clubsContacts?: ClubContact[] | undefined;\n clubRoleTranslations?: ClubRoleTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EClubRoles {\n CONTACT_CLUB = \"CONTACT_CLUB\",\n SECRETARY = \"SECRETARY\",\n CHAIRMAN = \"CHAIRMAN\",\n TREASURER = \"TREASURER\",\n GENERAL_SECRETARY = \"GENERAL_SECRETARY\",\n DEPUTY_SECRETARY = \"DEPUTY_SECRETARY\",\n MATCH_SECRETARY = \"MATCH_SECRETARY\",\n}\n\nexport class ClubRoleTranslation implements IClubRoleTranslation {\n clubRoleTranslationId?: number;\n clubRoleId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n clubRole?: ClubRole | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IClubRoleTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubRoleTranslationId = _data[\"clubRoleTranslationId\"];\n this.clubRoleId = _data[\"clubRoleId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.clubRole = _data[\"clubRole\"] ? ClubRole.fromJS(_data[\"clubRole\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ClubRoleTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new ClubRoleTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubRoleTranslationId\"] = this.clubRoleTranslationId;\n data[\"clubRoleId\"] = this.clubRoleId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"clubRole\"] = this.clubRole ? this.clubRole.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IClubRoleTranslation {\n clubRoleTranslationId?: number;\n clubRoleId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n clubRole?: ClubRole | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class MiscellaneousRequest implements IMiscellaneousRequest {\n miscellaneousRequestId?: number;\n requestId?: number;\n articleId?: number;\n quantity?: number;\n request?: Request | undefined;\n article?: Article | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IMiscellaneousRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.miscellaneousRequestId = _data[\"miscellaneousRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.articleId = _data[\"articleId\"];\n this.quantity = _data[\"quantity\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.article = _data[\"article\"] ? Article.fromJS(_data[\"article\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): MiscellaneousRequest {\n data = typeof data === 'object' ? data : {};\n let result = new MiscellaneousRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"miscellaneousRequestId\"] = this.miscellaneousRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"articleId\"] = this.articleId;\n data[\"quantity\"] = this.quantity;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IMiscellaneousRequest {\n miscellaneousRequestId?: number;\n requestId?: number;\n articleId?: number;\n quantity?: number;\n request?: Request | undefined;\n article?: Article | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class InvoiceItem implements IInvoiceItem {\n invoiceItemId?: number;\n invoiceId?: number;\n articleId?: number;\n creditMemoBcIdentifier?: string | undefined;\n article?: Article | undefined;\n invoice?: Invoice | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IInvoiceItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceItemId = _data[\"invoiceItemId\"];\n this.invoiceId = _data[\"invoiceId\"];\n this.articleId = _data[\"articleId\"];\n this.creditMemoBcIdentifier = _data[\"creditMemoBcIdentifier\"];\n this.article = _data[\"article\"] ? Article.fromJS(_data[\"article\"]) : undefined;\n this.invoice = _data[\"invoice\"] ? Invoice.fromJS(_data[\"invoice\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): InvoiceItem {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceItemId\"] = this.invoiceItemId;\n data[\"invoiceId\"] = this.invoiceId;\n data[\"articleId\"] = this.articleId;\n data[\"creditMemoBcIdentifier\"] = this.creditMemoBcIdentifier;\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\n data[\"invoice\"] = this.invoice ? this.invoice.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IInvoiceItem {\n invoiceItemId?: number;\n invoiceId?: number;\n articleId?: number;\n creditMemoBcIdentifier?: string | undefined;\n article?: Article | undefined;\n invoice?: Invoice | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Invoice implements IInvoice {\n invoiceId?: number;\n requestId?: number;\n invoiceBcIdentifier?: string | undefined;\n paid?: boolean;\n alreadyPrinted?: boolean;\n totalPrice?: number;\n structuredCommunication?: string | undefined;\n invoiceItems?: InvoiceItem[] | undefined;\n request?: Request | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IInvoice) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceId = _data[\"invoiceId\"];\n this.requestId = _data[\"requestId\"];\n this.invoiceBcIdentifier = _data[\"invoiceBcIdentifier\"];\n this.paid = _data[\"paid\"];\n this.alreadyPrinted = _data[\"alreadyPrinted\"];\n this.totalPrice = _data[\"totalPrice\"];\n this.structuredCommunication = _data[\"structuredCommunication\"];\n if (Array.isArray(_data[\"invoiceItems\"])) {\n this.invoiceItems = [] as any;\n for (let item of _data[\"invoiceItems\"])\n this.invoiceItems!.push(InvoiceItem.fromJS(item));\n }\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Invoice {\n data = typeof data === 'object' ? data : {};\n let result = new Invoice();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceId\"] = this.invoiceId;\n data[\"requestId\"] = this.requestId;\n data[\"invoiceBcIdentifier\"] = this.invoiceBcIdentifier;\n data[\"paid\"] = this.paid;\n data[\"alreadyPrinted\"] = this.alreadyPrinted;\n data[\"totalPrice\"] = this.totalPrice;\n data[\"structuredCommunication\"] = this.structuredCommunication;\n if (Array.isArray(this.invoiceItems)) {\n data[\"invoiceItems\"] = [];\n for (let item of this.invoiceItems)\n data[\"invoiceItems\"].push(item.toJSON());\n }\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IInvoice {\n invoiceId?: number;\n requestId?: number;\n invoiceBcIdentifier?: string | undefined;\n paid?: boolean;\n alreadyPrinted?: boolean;\n totalPrice?: number;\n structuredCommunication?: string | undefined;\n invoiceItems?: InvoiceItem[] | undefined;\n request?: Request | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthTestRequestCharacteristicTransient implements IHealthTestRequestCharacteristicTransient {\n healthTestRequestCharacteristicTransientId?: number;\n dogId?: number | undefined;\n characteristicId?: number;\n healthValueId?: number | undefined;\n value?: string | undefined;\n healthTestRequestHealthPackTransientId?: number;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n healthTestRequestHealthPackTransient?: HealthTestRequestHealthPackTransient | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IHealthTestRequestCharacteristicTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthTestRequestCharacteristicTransientId = _data[\"healthTestRequestCharacteristicTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.value = _data[\"value\"];\n this.healthTestRequestHealthPackTransientId = _data[\"healthTestRequestHealthPackTransientId\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.healthTestRequestHealthPackTransient = _data[\"healthTestRequestHealthPackTransient\"] ? HealthTestRequestHealthPackTransient.fromJS(_data[\"healthTestRequestHealthPackTransient\"]) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): HealthTestRequestCharacteristicTransient {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestRequestCharacteristicTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthTestRequestCharacteristicTransientId\"] = this.healthTestRequestCharacteristicTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"value\"] = this.value;\n data[\"healthTestRequestHealthPackTransientId\"] = this.healthTestRequestHealthPackTransientId;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"healthTestRequestHealthPackTransient\"] = this.healthTestRequestHealthPackTransient ? this.healthTestRequestHealthPackTransient.toJSON() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IHealthTestRequestCharacteristicTransient {\n healthTestRequestCharacteristicTransientId?: number;\n dogId?: number | undefined;\n characteristicId?: number;\n healthValueId?: number | undefined;\n value?: string | undefined;\n healthTestRequestHealthPackTransientId?: number;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n healthTestRequestHealthPackTransient?: HealthTestRequestHealthPackTransient | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class HealthValue implements IHealthValue {\n healthValueId?: number;\n value?: string | undefined;\n remark?: string | undefined;\n lab?: ELab | undefined;\n labTestValue?: ELabTestValues | undefined;\n okForInheritance?: boolean;\n characteristicsValues?: CharacteristicValue[] | undefined;\n dogsCharacteristicsValues?: DogCharacteristicValue[] | undefined;\n healthValueTranslations?: HealthValueTranslation[] | undefined;\n usersDysplasiasResults?: UserDysplasiaResult[] | undefined;\n healthTestRequestsTransients?: HealthTestRequestCharacteristicTransient[] | undefined;\n dogsCharacteristicsValuesTransients?: DogsCharacteristicsValuesTransient[] | undefined;\n healthTestSingleCharacteristicTransients?: HealthTestSingleCharacteristicTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthValueId = _data[\"healthValueId\"];\n this.value = _data[\"value\"];\n this.remark = _data[\"remark\"];\n this.lab = _data[\"lab\"];\n this.labTestValue = _data[\"labTestValue\"];\n this.okForInheritance = _data[\"okForInheritance\"];\n if (Array.isArray(_data[\"characteristicsValues\"])) {\n this.characteristicsValues = [] as any;\n for (let item of _data[\"characteristicsValues\"])\n this.characteristicsValues!.push(CharacteristicValue.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsCharacteristicsValues\"])) {\n this.dogsCharacteristicsValues = [] as any;\n for (let item of _data[\"dogsCharacteristicsValues\"])\n this.dogsCharacteristicsValues!.push(DogCharacteristicValue.fromJS(item));\n }\n if (Array.isArray(_data[\"healthValueTranslations\"])) {\n this.healthValueTranslations = [] as any;\n for (let item of _data[\"healthValueTranslations\"])\n this.healthValueTranslations!.push(HealthValueTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"usersDysplasiasResults\"])) {\n this.usersDysplasiasResults = [] as any;\n for (let item of _data[\"usersDysplasiasResults\"])\n this.usersDysplasiasResults!.push(UserDysplasiaResult.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestRequestsTransients\"])) {\n this.healthTestRequestsTransients = [] as any;\n for (let item of _data[\"healthTestRequestsTransients\"])\n this.healthTestRequestsTransients!.push(HealthTestRequestCharacteristicTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"dogsCharacteristicsValuesTransients\"])) {\n this.dogsCharacteristicsValuesTransients = [] as any;\n for (let item of _data[\"dogsCharacteristicsValuesTransients\"])\n this.dogsCharacteristicsValuesTransients!.push(DogsCharacteristicsValuesTransient.fromJS(item));\n }\n if (Array.isArray(_data[\"healthTestSingleCharacteristicTransients\"])) {\n this.healthTestSingleCharacteristicTransients = [] as any;\n for (let item of _data[\"healthTestSingleCharacteristicTransients\"])\n this.healthTestSingleCharacteristicTransients!.push(HealthTestSingleCharacteristicTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthValue {\n data = typeof data === 'object' ? data : {};\n let result = new HealthValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthValueId\"] = this.healthValueId;\n data[\"value\"] = this.value;\n data[\"remark\"] = this.remark;\n data[\"lab\"] = this.lab;\n data[\"labTestValue\"] = this.labTestValue;\n data[\"okForInheritance\"] = this.okForInheritance;\n if (Array.isArray(this.characteristicsValues)) {\n data[\"characteristicsValues\"] = [];\n for (let item of this.characteristicsValues)\n data[\"characteristicsValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsCharacteristicsValues)) {\n data[\"dogsCharacteristicsValues\"] = [];\n for (let item of this.dogsCharacteristicsValues)\n data[\"dogsCharacteristicsValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthValueTranslations)) {\n data[\"healthValueTranslations\"] = [];\n for (let item of this.healthValueTranslations)\n data[\"healthValueTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.usersDysplasiasResults)) {\n data[\"usersDysplasiasResults\"] = [];\n for (let item of this.usersDysplasiasResults)\n data[\"usersDysplasiasResults\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestRequestsTransients)) {\n data[\"healthTestRequestsTransients\"] = [];\n for (let item of this.healthTestRequestsTransients)\n data[\"healthTestRequestsTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogsCharacteristicsValuesTransients)) {\n data[\"dogsCharacteristicsValuesTransients\"] = [];\n for (let item of this.dogsCharacteristicsValuesTransients)\n data[\"dogsCharacteristicsValuesTransients\"].push(item.toJSON());\n }\n if (Array.isArray(this.healthTestSingleCharacteristicTransients)) {\n data[\"healthTestSingleCharacteristicTransients\"] = [];\n for (let item of this.healthTestSingleCharacteristicTransients)\n data[\"healthTestSingleCharacteristicTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthValue {\n healthValueId?: number;\n value?: string | undefined;\n remark?: string | undefined;\n lab?: ELab | undefined;\n labTestValue?: ELabTestValues | undefined;\n okForInheritance?: boolean;\n characteristicsValues?: CharacteristicValue[] | undefined;\n dogsCharacteristicsValues?: DogCharacteristicValue[] | undefined;\n healthValueTranslations?: HealthValueTranslation[] | undefined;\n usersDysplasiasResults?: UserDysplasiaResult[] | undefined;\n healthTestRequestsTransients?: HealthTestRequestCharacteristicTransient[] | undefined;\n dogsCharacteristicsValuesTransients?: DogsCharacteristicsValuesTransient[] | undefined;\n healthTestSingleCharacteristicTransients?: HealthTestSingleCharacteristicTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum ELabTestValues {\n CARRIER = \"CARRIER\",\n CLEAR = \"CLEAR\",\n AFFECTED = \"AFFECTED\",\n}\n\nexport class CharacteristicValue implements ICharacteristicValue {\n characteristicValueId?: number;\n characteristicId?: number;\n healthValueId?: number;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICharacteristicValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicValueId = _data[\"characteristicValueId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CharacteristicValue {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicValueId\"] = this.characteristicValueId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICharacteristicValue {\n characteristicValueId?: number;\n characteristicId?: number;\n healthValueId?: number;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogCharacteristicValue implements IDogCharacteristicValue {\n dogCharacteristicValueId?: number;\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n invalidatedOn?: Date | undefined;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogCharacteristicValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogCharacteristicValueId = _data[\"dogCharacteristicValueId\"];\n this.dogId = _data[\"dogId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.numericValue = _data[\"numericValue\"];\n this.alphaValue = _data[\"alphaValue\"];\n this.invalidatedOn = _data[\"invalidatedOn\"] ? new Date(_data[\"invalidatedOn\"].toString()) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogCharacteristicValue {\n data = typeof data === 'object' ? data : {};\n let result = new DogCharacteristicValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogCharacteristicValueId\"] = this.dogCharacteristicValueId;\n data[\"dogId\"] = this.dogId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"numericValue\"] = this.numericValue;\n data[\"alphaValue\"] = this.alphaValue;\n data[\"invalidatedOn\"] = this.invalidatedOn ? this.invalidatedOn.toISOString() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogCharacteristicValue {\n dogCharacteristicValueId?: number;\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n invalidatedOn?: Date | undefined;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthValueTranslation implements IHealthValueTranslation {\n healthValueTranslationId?: number;\n healthValueId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthValueTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthValueTranslationId = _data[\"healthValueTranslationId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthValueTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new HealthValueTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthValueTranslationId\"] = this.healthValueTranslationId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthValueTranslation {\n healthValueTranslationId?: number;\n healthValueId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n healthValue?: HealthValue | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogsCharacteristicsValuesTransient implements IDogsCharacteristicsValuesTransient {\n dogsCharacteristicsValuesTransientId?: number;\n dogId?: number;\n managerId?: number | undefined;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n closedOn?: Date | undefined;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n manager?: User | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogsCharacteristicsValuesTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogsCharacteristicsValuesTransientId = _data[\"dogsCharacteristicsValuesTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.managerId = _data[\"managerId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.numericValue = _data[\"numericValue\"];\n this.alphaValue = _data[\"alphaValue\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.manager = _data[\"manager\"] ? User.fromJS(_data[\"manager\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogsCharacteristicsValuesTransient {\n data = typeof data === 'object' ? data : {};\n let result = new DogsCharacteristicsValuesTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogsCharacteristicsValuesTransientId\"] = this.dogsCharacteristicsValuesTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"managerId\"] = this.managerId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"numericValue\"] = this.numericValue;\n data[\"alphaValue\"] = this.alphaValue;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"manager\"] = this.manager ? this.manager.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogsCharacteristicsValuesTransient {\n dogsCharacteristicsValuesTransientId?: number;\n dogId?: number;\n managerId?: number | undefined;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n closedOn?: Date | undefined;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n manager?: User | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthTestSingleCharacteristicTransient implements IHealthTestSingleCharacteristicTransient {\n healthTestSingleCharacteristicTransientId?: number;\n dogId?: number | undefined;\n characteristicId?: number;\n healthValueId?: number | undefined;\n value?: string | undefined;\n healthTestRequestId?: number;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n healthTestRequest?: HealthTestRequest | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IHealthTestSingleCharacteristicTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthTestSingleCharacteristicTransientId = _data[\"healthTestSingleCharacteristicTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.value = _data[\"value\"];\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.healthTestRequest = _data[\"healthTestRequest\"] ? HealthTestRequest.fromJS(_data[\"healthTestRequest\"]) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): HealthTestSingleCharacteristicTransient {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestSingleCharacteristicTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthTestSingleCharacteristicTransientId\"] = this.healthTestSingleCharacteristicTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"value\"] = this.value;\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"healthTestRequest\"] = this.healthTestRequest ? this.healthTestRequest.toJSON() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IHealthTestSingleCharacteristicTransient {\n healthTestSingleCharacteristicTransientId?: number;\n dogId?: number | undefined;\n characteristicId?: number;\n healthValueId?: number | undefined;\n value?: string | undefined;\n healthTestRequestId?: number;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n healthTestRequest?: HealthTestRequest | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class CharacteristicTranslation implements ICharacteristicTranslation {\n characteristicTranslationId?: number;\n characteristicId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n characteristic?: Characteristic | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICharacteristicTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicTranslationId = _data[\"characteristicTranslationId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CharacteristicTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicTranslationId\"] = this.characteristicTranslationId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICharacteristicTranslation {\n characteristicTranslationId?: number;\n characteristicId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n characteristic?: Characteristic | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogDysplasia implements IDogDysplasia {\n dogDysplasiaId?: number;\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n dysplasiaRequestId?: number | undefined;\n radioDate?: Date | undefined;\n evaluationDate?: Date | undefined;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n dysplasiaRequest?: DysplasiaRequest | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IDogDysplasia) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogDysplasiaId = _data[\"dogDysplasiaId\"];\n this.dogId = _data[\"dogId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.numericValue = _data[\"numericValue\"];\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.radioDate = _data[\"radioDate\"] ? new Date(_data[\"radioDate\"].toString()) : undefined;\n this.evaluationDate = _data[\"evaluationDate\"] ? new Date(_data[\"evaluationDate\"].toString()) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthValue = _data[\"healthValue\"] ? HealthValue.fromJS(_data[\"healthValue\"]) : undefined;\n this.dysplasiaRequest = _data[\"dysplasiaRequest\"] ? DysplasiaRequest.fromJS(_data[\"dysplasiaRequest\"]) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogDysplasia {\n data = typeof data === 'object' ? data : {};\n let result = new DogDysplasia();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogDysplasiaId\"] = this.dogDysplasiaId;\n data[\"dogId\"] = this.dogId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"numericValue\"] = this.numericValue;\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"radioDate\"] = this.radioDate ? this.radioDate.toISOString() : undefined;\n data[\"evaluationDate\"] = this.evaluationDate ? this.evaluationDate.toISOString() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthValue\"] = this.healthValue ? this.healthValue.toJSON() : undefined;\n data[\"dysplasiaRequest\"] = this.dysplasiaRequest ? this.dysplasiaRequest.toJSON() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogDysplasia {\n dogDysplasiaId?: number;\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n dysplasiaRequestId?: number | undefined;\n radioDate?: Date | undefined;\n evaluationDate?: Date | undefined;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthValue?: HealthValue | undefined;\n dysplasiaRequest?: DysplasiaRequest | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class DogHealthTestCharacteristicValueTransient implements IDogHealthTestCharacteristicValueTransient {\n dogHealthTestCharacteristicValueTransientId?: number;\n dogId?: number;\n healthTestRequestId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthTestRequest?: HealthTestRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogHealthTestCharacteristicValueTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogHealthTestCharacteristicValueTransientId = _data[\"dogHealthTestCharacteristicValueTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.numericValue = _data[\"numericValue\"];\n this.alphaValue = _data[\"alphaValue\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.characteristic = _data[\"characteristic\"] ? Characteristic.fromJS(_data[\"characteristic\"]) : undefined;\n this.healthTestRequest = _data[\"healthTestRequest\"] ? HealthTestRequest.fromJS(_data[\"healthTestRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogHealthTestCharacteristicValueTransient {\n data = typeof data === 'object' ? data : {};\n let result = new DogHealthTestCharacteristicValueTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogHealthTestCharacteristicValueTransientId\"] = this.dogHealthTestCharacteristicValueTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"numericValue\"] = this.numericValue;\n data[\"alphaValue\"] = this.alphaValue;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"healthTestRequest\"] = this.healthTestRequest ? this.healthTestRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogHealthTestCharacteristicValueTransient {\n dogHealthTestCharacteristicValueTransientId?: number;\n dogId?: number;\n healthTestRequestId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n dog?: Dog | undefined;\n characteristic?: Characteristic | undefined;\n healthTestRequest?: HealthTestRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class HealthPackTranslation implements IHealthPackTranslation {\n healthPackTranslationId?: number;\n text?: string | undefined;\n languageId?: number;\n healthPackId?: number;\n healthPack?: HealthPack | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IHealthPackTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthPackTranslationId = _data[\"healthPackTranslationId\"];\n this.text = _data[\"text\"];\n this.languageId = _data[\"languageId\"];\n this.healthPackId = _data[\"healthPackId\"];\n this.healthPack = _data[\"healthPack\"] ? HealthPack.fromJS(_data[\"healthPack\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): HealthPackTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPackTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackTranslationId\"] = this.healthPackTranslationId;\n data[\"text\"] = this.text;\n data[\"languageId\"] = this.languageId;\n data[\"healthPackId\"] = this.healthPackId;\n data[\"healthPack\"] = this.healthPack ? this.healthPack.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IHealthPackTranslation {\n healthPackTranslationId?: number;\n text?: string | undefined;\n languageId?: number;\n healthPackId?: number;\n healthPack?: HealthPack | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Kennel implements IKennel {\n kennelId?: number;\n name?: string | undefined;\n type?: EKennelType;\n fciNumber?: string | undefined;\n countryId?: number | undefined;\n originCountryId?: number | undefined;\n attributionDate?: Date | undefined;\n closingDate?: Date | undefined;\n publishingDate?: Date | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n previousKennelId?: number | undefined;\n country?: Country | undefined;\n originCountry?: Country | undefined;\n previousKennel?: Kennel | undefined;\n dogs?: Dog[] | undefined;\n kennelsOwnerships?: KennelOwnership[] | undefined;\n kennelsBreeds?: KennelBreed[] | undefined;\n previousKennels?: Kennel[] | undefined;\n kennelExportRequests?: KennelExportRequest[] | undefined;\n kennelNameChangeRequests?: KennelNameChangeRequest[] | undefined;\n dogBroodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n sharepointUri?: string | undefined;\n\n constructor(data?: IKennel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelId = _data[\"kennelId\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.countryId = _data[\"countryId\"];\n this.originCountryId = _data[\"originCountryId\"];\n this.attributionDate = _data[\"attributionDate\"] ? new Date(_data[\"attributionDate\"].toString()) : undefined;\n this.closingDate = _data[\"closingDate\"] ? new Date(_data[\"closingDate\"].toString()) : undefined;\n this.publishingDate = _data[\"publishingDate\"] ? new Date(_data[\"publishingDate\"].toString()) : undefined;\n this.exclusionReason = _data[\"exclusionReason\"];\n this.exclusionStartDate = _data[\"exclusionStartDate\"] ? new Date(_data[\"exclusionStartDate\"].toString()) : undefined;\n this.exclusionEndDate = _data[\"exclusionEndDate\"] ? new Date(_data[\"exclusionEndDate\"].toString()) : undefined;\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.previousKennelId = _data[\"previousKennelId\"];\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.originCountry = _data[\"originCountry\"] ? Country.fromJS(_data[\"originCountry\"]) : undefined;\n this.previousKennel = _data[\"previousKennel\"] ? Kennel.fromJS(_data[\"previousKennel\"]) : undefined;\n if (Array.isArray(_data[\"dogs\"])) {\n this.dogs = [] as any;\n for (let item of _data[\"dogs\"])\n this.dogs!.push(Dog.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelsOwnerships\"])) {\n this.kennelsOwnerships = [] as any;\n for (let item of _data[\"kennelsOwnerships\"])\n this.kennelsOwnerships!.push(KennelOwnership.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelsBreeds\"])) {\n this.kennelsBreeds = [] as any;\n for (let item of _data[\"kennelsBreeds\"])\n this.kennelsBreeds!.push(KennelBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"previousKennels\"])) {\n this.previousKennels = [] as any;\n for (let item of _data[\"previousKennels\"])\n this.previousKennels!.push(Kennel.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelExportRequests\"])) {\n this.kennelExportRequests = [] as any;\n for (let item of _data[\"kennelExportRequests\"])\n this.kennelExportRequests!.push(KennelExportRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"kennelNameChangeRequests\"])) {\n this.kennelNameChangeRequests = [] as any;\n for (let item of _data[\"kennelNameChangeRequests\"])\n this.kennelNameChangeRequests!.push(KennelNameChangeRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"dogBroodRequestsTransients\"])) {\n this.dogBroodRequestsTransients = [] as any;\n for (let item of _data[\"dogBroodRequestsTransients\"])\n this.dogBroodRequestsTransients!.push(DogBroodRequestsTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n }\n }\n\n static fromJS(data: any): Kennel {\n data = typeof data === 'object' ? data : {};\n let result = new Kennel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelId\"] = this.kennelId;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"countryId\"] = this.countryId;\n data[\"originCountryId\"] = this.originCountryId;\n data[\"attributionDate\"] = this.attributionDate ? this.attributionDate.toISOString() : undefined;\n data[\"closingDate\"] = this.closingDate ? this.closingDate.toISOString() : undefined;\n data[\"publishingDate\"] = this.publishingDate ? this.publishingDate.toISOString() : undefined;\n data[\"exclusionReason\"] = this.exclusionReason;\n data[\"exclusionStartDate\"] = this.exclusionStartDate ? this.exclusionStartDate.toISOString() : undefined;\n data[\"exclusionEndDate\"] = this.exclusionEndDate ? this.exclusionEndDate.toISOString() : undefined;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"previousKennelId\"] = this.previousKennelId;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"originCountry\"] = this.originCountry ? this.originCountry.toJSON() : undefined;\n data[\"previousKennel\"] = this.previousKennel ? this.previousKennel.toJSON() : undefined;\n if (Array.isArray(this.dogs)) {\n data[\"dogs\"] = [];\n for (let item of this.dogs)\n data[\"dogs\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelsOwnerships)) {\n data[\"kennelsOwnerships\"] = [];\n for (let item of this.kennelsOwnerships)\n data[\"kennelsOwnerships\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelsBreeds)) {\n data[\"kennelsBreeds\"] = [];\n for (let item of this.kennelsBreeds)\n data[\"kennelsBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.previousKennels)) {\n data[\"previousKennels\"] = [];\n for (let item of this.previousKennels)\n data[\"previousKennels\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelExportRequests)) {\n data[\"kennelExportRequests\"] = [];\n for (let item of this.kennelExportRequests)\n data[\"kennelExportRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.kennelNameChangeRequests)) {\n data[\"kennelNameChangeRequests\"] = [];\n for (let item of this.kennelNameChangeRequests)\n data[\"kennelNameChangeRequests\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogBroodRequestsTransients)) {\n data[\"dogBroodRequestsTransients\"] = [];\n for (let item of this.dogBroodRequestsTransients)\n data[\"dogBroodRequestsTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"sharepointUri\"] = this.sharepointUri;\n return data;\n }\n}\n\nexport interface IKennel {\n kennelId?: number;\n name?: string | undefined;\n type?: EKennelType;\n fciNumber?: string | undefined;\n countryId?: number | undefined;\n originCountryId?: number | undefined;\n attributionDate?: Date | undefined;\n closingDate?: Date | undefined;\n publishingDate?: Date | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n previousKennelId?: number | undefined;\n country?: Country | undefined;\n originCountry?: Country | undefined;\n previousKennel?: Kennel | undefined;\n dogs?: Dog[] | undefined;\n kennelsOwnerships?: KennelOwnership[] | undefined;\n kennelsBreeds?: KennelBreed[] | undefined;\n previousKennels?: Kennel[] | undefined;\n kennelExportRequests?: KennelExportRequest[] | undefined;\n kennelNameChangeRequests?: KennelNameChangeRequest[] | undefined;\n dogBroodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n sharepointUri?: string | undefined;\n}\n\nexport class KennelOwnership implements IKennelOwnership {\n kennelOwnershipId?: number;\n kennelId?: number;\n personId?: number;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n kennel?: Kennel | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: IKennelOwnership) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelOwnershipId = _data[\"kennelOwnershipId\"];\n this.kennelId = _data[\"kennelId\"];\n this.personId = _data[\"personId\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n this.kennel = _data[\"kennel\"] ? Kennel.fromJS(_data[\"kennel\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): KennelOwnership {\n data = typeof data === 'object' ? data : {};\n let result = new KennelOwnership();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelOwnershipId\"] = this.kennelOwnershipId;\n data[\"kennelId\"] = this.kennelId;\n data[\"personId\"] = this.personId;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n data[\"kennel\"] = this.kennel ? this.kennel.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface IKennelOwnership {\n kennelOwnershipId?: number;\n kennelId?: number;\n personId?: number;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n kennel?: Kennel | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n}\n\nexport class KennelBreed implements IKennelBreed {\n kennelBreedId?: number;\n breedId?: number;\n kennelId?: number;\n breed?: Breed | undefined;\n kennel?: Kennel | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IKennelBreed) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelBreedId = _data[\"kennelBreedId\"];\n this.breedId = _data[\"breedId\"];\n this.kennelId = _data[\"kennelId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.kennel = _data[\"kennel\"] ? Kennel.fromJS(_data[\"kennel\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): KennelBreed {\n data = typeof data === 'object' ? data : {};\n let result = new KennelBreed();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelBreedId\"] = this.kennelBreedId;\n data[\"breedId\"] = this.breedId;\n data[\"kennelId\"] = this.kennelId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"kennel\"] = this.kennel ? this.kennel.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IKennelBreed {\n kennelBreedId?: number;\n breedId?: number;\n kennelId?: number;\n breed?: Breed | undefined;\n kennel?: Kennel | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class KennelExportRequest implements IKennelExportRequest {\n kennelExportRequestId?: number;\n requestId?: number;\n countryId?: number;\n kennelId?: number;\n request?: Request | undefined;\n country?: Country | undefined;\n kennel?: Kennel | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IKennelExportRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelExportRequestId = _data[\"kennelExportRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.countryId = _data[\"countryId\"];\n this.kennelId = _data[\"kennelId\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.kennel = _data[\"kennel\"] ? Kennel.fromJS(_data[\"kennel\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): KennelExportRequest {\n data = typeof data === 'object' ? data : {};\n let result = new KennelExportRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelExportRequestId\"] = this.kennelExportRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"countryId\"] = this.countryId;\n data[\"kennelId\"] = this.kennelId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"kennel\"] = this.kennel ? this.kennel.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IKennelExportRequest {\n kennelExportRequestId?: number;\n requestId?: number;\n countryId?: number;\n kennelId?: number;\n request?: Request | undefined;\n country?: Country | undefined;\n kennel?: Kennel | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class KennelNameChangeRequest implements IKennelNameChangeRequest {\n kennelNameChangeRequestId?: number;\n requestId?: number;\n kennelId?: number;\n nameOffer1?: string | undefined;\n nameOffer1Type?: EKennelType;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n tries?: number;\n request?: Request | undefined;\n kennel?: Kennel | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IKennelNameChangeRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelNameChangeRequestId = _data[\"kennelNameChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.kennelId = _data[\"kennelId\"];\n this.nameOffer1 = _data[\"nameOffer1\"];\n this.nameOffer1Type = _data[\"nameOffer1Type\"];\n this.finalName = _data[\"finalName\"];\n this.finalType = _data[\"finalType\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.exportDate = _data[\"exportDate\"] ? new Date(_data[\"exportDate\"].toString()) : undefined;\n this.exportForcedValue = _data[\"exportForcedValue\"];\n this.tries = _data[\"tries\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.kennel = _data[\"kennel\"] ? Kennel.fromJS(_data[\"kennel\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): KennelNameChangeRequest {\n data = typeof data === 'object' ? data : {};\n let result = new KennelNameChangeRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelNameChangeRequestId\"] = this.kennelNameChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"kennelId\"] = this.kennelId;\n data[\"nameOffer1\"] = this.nameOffer1;\n data[\"nameOffer1Type\"] = this.nameOffer1Type;\n data[\"finalName\"] = this.finalName;\n data[\"finalType\"] = this.finalType;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"exportDate\"] = this.exportDate ? this.exportDate.toISOString() : undefined;\n data[\"exportForcedValue\"] = this.exportForcedValue;\n data[\"tries\"] = this.tries;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"kennel\"] = this.kennel ? this.kennel.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IKennelNameChangeRequest {\n kennelNameChangeRequestId?: number;\n requestId?: number;\n kennelId?: number;\n nameOffer1?: string | undefined;\n nameOffer1Type?: EKennelType;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n tries?: number;\n request?: Request | undefined;\n kennel?: Kennel | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class WorkAttestRequest implements IWorkAttestRequest {\n workAttestRequestId?: number;\n requestId?: number;\n countryId?: number;\n dogId?: number;\n competitionDate?: Date;\n competitionPoints?: string | undefined;\n competitionJudge?: string | undefined;\n competitionCity?: string | undefined;\n competitionType?: string | undefined;\n request?: Request | undefined;\n country?: Country | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IWorkAttestRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workAttestRequestId = _data[\"workAttestRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.countryId = _data[\"countryId\"];\n this.dogId = _data[\"dogId\"];\n this.competitionDate = _data[\"competitionDate\"] ? new Date(_data[\"competitionDate\"].toString()) : undefined;\n this.competitionPoints = _data[\"competitionPoints\"];\n this.competitionJudge = _data[\"competitionJudge\"];\n this.competitionCity = _data[\"competitionCity\"];\n this.competitionType = _data[\"competitionType\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): WorkAttestRequest {\n data = typeof data === 'object' ? data : {};\n let result = new WorkAttestRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workAttestRequestId\"] = this.workAttestRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"countryId\"] = this.countryId;\n data[\"dogId\"] = this.dogId;\n data[\"competitionDate\"] = this.competitionDate ? this.competitionDate.toISOString() : undefined;\n data[\"competitionPoints\"] = this.competitionPoints;\n data[\"competitionJudge\"] = this.competitionJudge;\n data[\"competitionCity\"] = this.competitionCity;\n data[\"competitionType\"] = this.competitionType;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IWorkAttestRequest {\n workAttestRequestId?: number;\n requestId?: number;\n countryId?: number;\n dogId?: number;\n competitionDate?: Date;\n competitionPoints?: string | undefined;\n competitionJudge?: string | undefined;\n competitionCity?: string | undefined;\n competitionType?: string | undefined;\n request?: Request | undefined;\n country?: Country | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CountryTranslation implements ICountryTranslation {\n countryTranslationId?: number;\n countryId?: number;\n languageId?: number;\n text?: string | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICountryTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryTranslationId = _data[\"countryTranslationId\"];\n this.countryId = _data[\"countryId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CountryTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new CountryTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryTranslationId\"] = this.countryTranslationId;\n data[\"countryId\"] = this.countryId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICountryTranslation {\n countryTranslationId?: number;\n countryId?: number;\n languageId?: number;\n text?: string | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CountryPedigreePrefix implements ICountryPedigreePrefix {\n countryPedigreePrefixId?: number;\n countryId?: number;\n prefix?: string | undefined;\n nextValue?: number;\n displayPrefix?: string | undefined;\n resetEachYear?: boolean;\n country?: Country | undefined;\n pedigrees?: Pedigree[] | undefined;\n dogBroodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: ICountryPedigreePrefix) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryPedigreePrefixId = _data[\"countryPedigreePrefixId\"];\n this.countryId = _data[\"countryId\"];\n this.prefix = _data[\"prefix\"];\n this.nextValue = _data[\"nextValue\"];\n this.displayPrefix = _data[\"displayPrefix\"];\n this.resetEachYear = _data[\"resetEachYear\"];\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n if (Array.isArray(_data[\"pedigrees\"])) {\n this.pedigrees = [] as any;\n for (let item of _data[\"pedigrees\"])\n this.pedigrees!.push(Pedigree.fromJS(item));\n }\n if (Array.isArray(_data[\"dogBroodRequestsTransients\"])) {\n this.dogBroodRequestsTransients = [] as any;\n for (let item of _data[\"dogBroodRequestsTransients\"])\n this.dogBroodRequestsTransients!.push(DogBroodRequestsTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): CountryPedigreePrefix {\n data = typeof data === 'object' ? data : {};\n let result = new CountryPedigreePrefix();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryPedigreePrefixId\"] = this.countryPedigreePrefixId;\n data[\"countryId\"] = this.countryId;\n data[\"prefix\"] = this.prefix;\n data[\"nextValue\"] = this.nextValue;\n data[\"displayPrefix\"] = this.displayPrefix;\n data[\"resetEachYear\"] = this.resetEachYear;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n if (Array.isArray(this.pedigrees)) {\n data[\"pedigrees\"] = [];\n for (let item of this.pedigrees)\n data[\"pedigrees\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogBroodRequestsTransients)) {\n data[\"dogBroodRequestsTransients\"] = [];\n for (let item of this.dogBroodRequestsTransients)\n data[\"dogBroodRequestsTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface ICountryPedigreePrefix {\n countryPedigreePrefixId?: number;\n countryId?: number;\n prefix?: string | undefined;\n nextValue?: number;\n displayPrefix?: string | undefined;\n resetEachYear?: boolean;\n country?: Country | undefined;\n pedigrees?: Pedigree[] | undefined;\n dogBroodRequestsTransients?: DogBroodRequestsTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n}\n\nexport class Pedigree implements IPedigree {\n pedigreeId?: number;\n dogId?: number;\n identifier?: string | undefined;\n countryPedigreePrefixId?: number;\n attributionDate?: Date | undefined;\n dog?: Dog | undefined;\n countryPedigreePrefix?: CountryPedigreePrefix | undefined;\n dogBroodRequestsTransient?: DogBroodRequestsTransient | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IPedigree) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeId = _data[\"pedigreeId\"];\n this.dogId = _data[\"dogId\"];\n this.identifier = _data[\"identifier\"];\n this.countryPedigreePrefixId = _data[\"countryPedigreePrefixId\"];\n this.attributionDate = _data[\"attributionDate\"] ? new Date(_data[\"attributionDate\"].toString()) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.countryPedigreePrefix = _data[\"countryPedigreePrefix\"] ? CountryPedigreePrefix.fromJS(_data[\"countryPedigreePrefix\"]) : undefined;\n this.dogBroodRequestsTransient = _data[\"dogBroodRequestsTransient\"] ? DogBroodRequestsTransient.fromJS(_data[\"dogBroodRequestsTransient\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Pedigree {\n data = typeof data === 'object' ? data : {};\n let result = new Pedigree();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeId\"] = this.pedigreeId;\n data[\"dogId\"] = this.dogId;\n data[\"identifier\"] = this.identifier;\n data[\"countryPedigreePrefixId\"] = this.countryPedigreePrefixId;\n data[\"attributionDate\"] = this.attributionDate ? this.attributionDate.toISOString() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"countryPedigreePrefix\"] = this.countryPedigreePrefix ? this.countryPedigreePrefix.toJSON() : undefined;\n data[\"dogBroodRequestsTransient\"] = this.dogBroodRequestsTransient ? this.dogBroodRequestsTransient.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IPedigree {\n pedigreeId?: number;\n dogId?: number;\n identifier?: string | undefined;\n countryPedigreePrefixId?: number;\n attributionDate?: Date | undefined;\n dog?: Dog | undefined;\n countryPedigreePrefix?: CountryPedigreePrefix | undefined;\n dogBroodRequestsTransient?: DogBroodRequestsTransient | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Clinic implements IClinic {\n clinicId?: number;\n name?: string | undefined;\n languageId?: number;\n email?: string | undefined;\n siteweb?: string | undefined;\n tva?: string | undefined;\n phoneNumber?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n clinicsVeterinaries?: ClinicVeterinary[] | undefined;\n dysplasiaRequests?: DysplasiaRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IClinic) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clinicId = _data[\"clinicId\"];\n this.name = _data[\"name\"];\n this.languageId = _data[\"languageId\"];\n this.email = _data[\"email\"];\n this.siteweb = _data[\"siteweb\"];\n this.tva = _data[\"tva\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.countryId = _data[\"countryId\"];\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n if (Array.isArray(_data[\"clinicsVeterinaries\"])) {\n this.clinicsVeterinaries = [] as any;\n for (let item of _data[\"clinicsVeterinaries\"])\n this.clinicsVeterinaries!.push(ClinicVeterinary.fromJS(item));\n }\n if (Array.isArray(_data[\"dysplasiaRequests\"])) {\n this.dysplasiaRequests = [] as any;\n for (let item of _data[\"dysplasiaRequests\"])\n this.dysplasiaRequests!.push(DysplasiaRequest.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Clinic {\n data = typeof data === 'object' ? data : {};\n let result = new Clinic();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clinicId\"] = this.clinicId;\n data[\"name\"] = this.name;\n data[\"languageId\"] = this.languageId;\n data[\"email\"] = this.email;\n data[\"siteweb\"] = this.siteweb;\n data[\"tva\"] = this.tva;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"countryId\"] = this.countryId;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n if (Array.isArray(this.clinicsVeterinaries)) {\n data[\"clinicsVeterinaries\"] = [];\n for (let item of this.clinicsVeterinaries)\n data[\"clinicsVeterinaries\"].push(item.toJSON());\n }\n if (Array.isArray(this.dysplasiaRequests)) {\n data[\"dysplasiaRequests\"] = [];\n for (let item of this.dysplasiaRequests)\n data[\"dysplasiaRequests\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IClinic {\n clinicId?: number;\n name?: string | undefined;\n languageId?: number;\n email?: string | undefined;\n siteweb?: string | undefined;\n tva?: string | undefined;\n phoneNumber?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n clinicsVeterinaries?: ClinicVeterinary[] | undefined;\n dysplasiaRequests?: DysplasiaRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ClinicVeterinary implements IClinicVeterinary {\n clinicVeterinaryId?: number;\n veterinaryId?: number;\n clinicId?: number;\n veterinary?: Veterinary | undefined;\n clinic?: Clinic | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IClinicVeterinary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clinicVeterinaryId = _data[\"clinicVeterinaryId\"];\n this.veterinaryId = _data[\"veterinaryId\"];\n this.clinicId = _data[\"clinicId\"];\n this.veterinary = _data[\"veterinary\"] ? Veterinary.fromJS(_data[\"veterinary\"]) : undefined;\n this.clinic = _data[\"clinic\"] ? Clinic.fromJS(_data[\"clinic\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ClinicVeterinary {\n data = typeof data === 'object' ? data : {};\n let result = new ClinicVeterinary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clinicVeterinaryId\"] = this.clinicVeterinaryId;\n data[\"veterinaryId\"] = this.veterinaryId;\n data[\"clinicId\"] = this.clinicId;\n data[\"veterinary\"] = this.veterinary ? this.veterinary.toJSON() : undefined;\n data[\"clinic\"] = this.clinic ? this.clinic.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IClinicVeterinary {\n clinicVeterinaryId?: number;\n veterinaryId?: number;\n clinicId?: number;\n veterinary?: Veterinary | undefined;\n clinic?: Clinic | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Veterinary implements IVeterinary {\n veterinaryId?: number;\n personId?: number;\n veterinaryNumber?: string | undefined;\n veterinaryCompany?: string | undefined;\n isActive?: boolean;\n person?: Person | undefined;\n clinicsVeterinaries?: ClinicVeterinary[] | undefined;\n dysplasiaRequests?: DysplasiaRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IVeterinary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.veterinaryId = _data[\"veterinaryId\"];\n this.personId = _data[\"personId\"];\n this.veterinaryNumber = _data[\"veterinaryNumber\"];\n this.veterinaryCompany = _data[\"veterinaryCompany\"];\n this.isActive = _data[\"isActive\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n if (Array.isArray(_data[\"clinicsVeterinaries\"])) {\n this.clinicsVeterinaries = [] as any;\n for (let item of _data[\"clinicsVeterinaries\"])\n this.clinicsVeterinaries!.push(ClinicVeterinary.fromJS(item));\n }\n if (Array.isArray(_data[\"dysplasiaRequests\"])) {\n this.dysplasiaRequests = [] as any;\n for (let item of _data[\"dysplasiaRequests\"])\n this.dysplasiaRequests!.push(DysplasiaRequest.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Veterinary {\n data = typeof data === 'object' ? data : {};\n let result = new Veterinary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"veterinaryId\"] = this.veterinaryId;\n data[\"personId\"] = this.personId;\n data[\"veterinaryNumber\"] = this.veterinaryNumber;\n data[\"veterinaryCompany\"] = this.veterinaryCompany;\n data[\"isActive\"] = this.isActive;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n if (Array.isArray(this.clinicsVeterinaries)) {\n data[\"clinicsVeterinaries\"] = [];\n for (let item of this.clinicsVeterinaries)\n data[\"clinicsVeterinaries\"].push(item.toJSON());\n }\n if (Array.isArray(this.dysplasiaRequests)) {\n data[\"dysplasiaRequests\"] = [];\n for (let item of this.dysplasiaRequests)\n data[\"dysplasiaRequests\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IVeterinary {\n veterinaryId?: number;\n personId?: number;\n veterinaryNumber?: string | undefined;\n veterinaryCompany?: string | undefined;\n isActive?: boolean;\n person?: Person | undefined;\n clinicsVeterinaries?: ClinicVeterinary[] | undefined;\n dysplasiaRequests?: DysplasiaRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class KennelImportRequest implements IKennelImportRequest {\n kennelImportRequestId?: number;\n requestId?: number;\n nameOffer?: string | undefined;\n nameOfferType?: EKennelType;\n countryId?: number | undefined;\n fciNumber?: string | undefined;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n tries?: number;\n request?: Request | undefined;\n country?: Country | undefined;\n transientKennelImportBreeds?: TransientKennelImportBreed[] | undefined;\n transientKennelImportOwners?: TransientKennelImportOwner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IKennelImportRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelImportRequestId = _data[\"kennelImportRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.nameOffer = _data[\"nameOffer\"];\n this.nameOfferType = _data[\"nameOfferType\"];\n this.countryId = _data[\"countryId\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.exportDate = _data[\"exportDate\"] ? new Date(_data[\"exportDate\"].toString()) : undefined;\n this.exportForcedValue = _data[\"exportForcedValue\"];\n this.tries = _data[\"tries\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n if (Array.isArray(_data[\"transientKennelImportBreeds\"])) {\n this.transientKennelImportBreeds = [] as any;\n for (let item of _data[\"transientKennelImportBreeds\"])\n this.transientKennelImportBreeds!.push(TransientKennelImportBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"transientKennelImportOwners\"])) {\n this.transientKennelImportOwners = [] as any;\n for (let item of _data[\"transientKennelImportOwners\"])\n this.transientKennelImportOwners!.push(TransientKennelImportOwner.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): KennelImportRequest {\n data = typeof data === 'object' ? data : {};\n let result = new KennelImportRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelImportRequestId\"] = this.kennelImportRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"nameOffer\"] = this.nameOffer;\n data[\"nameOfferType\"] = this.nameOfferType;\n data[\"countryId\"] = this.countryId;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"exportDate\"] = this.exportDate ? this.exportDate.toISOString() : undefined;\n data[\"exportForcedValue\"] = this.exportForcedValue;\n data[\"tries\"] = this.tries;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n if (Array.isArray(this.transientKennelImportBreeds)) {\n data[\"transientKennelImportBreeds\"] = [];\n for (let item of this.transientKennelImportBreeds)\n data[\"transientKennelImportBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientKennelImportOwners)) {\n data[\"transientKennelImportOwners\"] = [];\n for (let item of this.transientKennelImportOwners)\n data[\"transientKennelImportOwners\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IKennelImportRequest {\n kennelImportRequestId?: number;\n requestId?: number;\n nameOffer?: string | undefined;\n nameOfferType?: EKennelType;\n countryId?: number | undefined;\n fciNumber?: string | undefined;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n tries?: number;\n request?: Request | undefined;\n country?: Country | undefined;\n transientKennelImportBreeds?: TransientKennelImportBreed[] | undefined;\n transientKennelImportOwners?: TransientKennelImportOwner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TransientKennelImportBreed implements ITransientKennelImportBreed {\n transientKennelImportBreedId?: number;\n breedId?: number;\n kennelImportRequestId?: number;\n breed?: Breed | undefined;\n kennelImportRequest?: KennelImportRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITransientKennelImportBreed) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.transientKennelImportBreedId = _data[\"transientKennelImportBreedId\"];\n this.breedId = _data[\"breedId\"];\n this.kennelImportRequestId = _data[\"kennelImportRequestId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.kennelImportRequest = _data[\"kennelImportRequest\"] ? KennelImportRequest.fromJS(_data[\"kennelImportRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TransientKennelImportBreed {\n data = typeof data === 'object' ? data : {};\n let result = new TransientKennelImportBreed();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transientKennelImportBreedId\"] = this.transientKennelImportBreedId;\n data[\"breedId\"] = this.breedId;\n data[\"kennelImportRequestId\"] = this.kennelImportRequestId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"kennelImportRequest\"] = this.kennelImportRequest ? this.kennelImportRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITransientKennelImportBreed {\n transientKennelImportBreedId?: number;\n breedId?: number;\n kennelImportRequestId?: number;\n breed?: Breed | undefined;\n kennelImportRequest?: KennelImportRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TransientKennelImportOwner implements ITransientKennelImportOwner {\n transientKennelImportOwnerId?: number;\n personId?: number;\n kennelImportRequestId?: number;\n person?: Person | undefined;\n kennelImportRequest?: KennelImportRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITransientKennelImportOwner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.transientKennelImportOwnerId = _data[\"transientKennelImportOwnerId\"];\n this.personId = _data[\"personId\"];\n this.kennelImportRequestId = _data[\"kennelImportRequestId\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.kennelImportRequest = _data[\"kennelImportRequest\"] ? KennelImportRequest.fromJS(_data[\"kennelImportRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TransientKennelImportOwner {\n data = typeof data === 'object' ? data : {};\n let result = new TransientKennelImportOwner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transientKennelImportOwnerId\"] = this.transientKennelImportOwnerId;\n data[\"personId\"] = this.personId;\n data[\"kennelImportRequestId\"] = this.kennelImportRequestId;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"kennelImportRequest\"] = this.kennelImportRequest ? this.kennelImportRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITransientKennelImportOwner {\n transientKennelImportOwnerId?: number;\n personId?: number;\n kennelImportRequestId?: number;\n person?: Person | undefined;\n kennelImportRequest?: KennelImportRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CountryLanguage implements ICountryLanguage {\n countryLanguageId?: number;\n languageId?: number;\n countryId?: number;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n\n constructor(data?: ICountryLanguage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryLanguageId = _data[\"countryLanguageId\"];\n this.languageId = _data[\"languageId\"];\n this.countryId = _data[\"countryId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CountryLanguage {\n data = typeof data === 'object' ? data : {};\n let result = new CountryLanguage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryLanguageId\"] = this.countryLanguageId;\n data[\"languageId\"] = this.languageId;\n data[\"countryId\"] = this.countryId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICountryLanguage {\n countryLanguageId?: number;\n languageId?: number;\n countryId?: number;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n country?: Country | undefined;\n language?: Language | undefined;\n}\n\nexport class BroodRequestsFather implements IBroodRequestsFather {\n broodRequestsFatherId?: number;\n dogId?: number;\n broodRequestId?: number;\n ownerApproval?: boolean | undefined;\n broodRequest?: BroodRequest | undefined;\n dog?: Dog | undefined;\n broodRequestsFatherHistories?: BroodRequestsFatherHistories[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBroodRequestsFather) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.broodRequestsFatherId = _data[\"broodRequestsFatherId\"];\n this.dogId = _data[\"dogId\"];\n this.broodRequestId = _data[\"broodRequestId\"];\n this.ownerApproval = _data[\"ownerApproval\"];\n this.broodRequest = _data[\"broodRequest\"] ? BroodRequest.fromJS(_data[\"broodRequest\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n if (Array.isArray(_data[\"broodRequestsFatherHistories\"])) {\n this.broodRequestsFatherHistories = [] as any;\n for (let item of _data[\"broodRequestsFatherHistories\"])\n this.broodRequestsFatherHistories!.push(BroodRequestsFatherHistories.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BroodRequestsFather {\n data = typeof data === 'object' ? data : {};\n let result = new BroodRequestsFather();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"broodRequestsFatherId\"] = this.broodRequestsFatherId;\n data[\"dogId\"] = this.dogId;\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"ownerApproval\"] = this.ownerApproval;\n data[\"broodRequest\"] = this.broodRequest ? this.broodRequest.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n if (Array.isArray(this.broodRequestsFatherHistories)) {\n data[\"broodRequestsFatherHistories\"] = [];\n for (let item of this.broodRequestsFatherHistories)\n data[\"broodRequestsFatherHistories\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBroodRequestsFather {\n broodRequestsFatherId?: number;\n dogId?: number;\n broodRequestId?: number;\n ownerApproval?: boolean | undefined;\n broodRequest?: BroodRequest | undefined;\n dog?: Dog | undefined;\n broodRequestsFatherHistories?: BroodRequestsFatherHistories[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BroodRequestsFatherHistories implements IBroodRequestsFatherHistories {\n broodRequestsFatherHistoriesId?: number;\n broodRequestsFatherId?: number;\n linkedDogId?: number;\n broodRequestsFather?: BroodRequestsFather | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBroodRequestsFatherHistories) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.broodRequestsFatherHistoriesId = _data[\"broodRequestsFatherHistoriesId\"];\n this.broodRequestsFatherId = _data[\"broodRequestsFatherId\"];\n this.linkedDogId = _data[\"linkedDogId\"];\n this.broodRequestsFather = _data[\"broodRequestsFather\"] ? BroodRequestsFather.fromJS(_data[\"broodRequestsFather\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BroodRequestsFatherHistories {\n data = typeof data === 'object' ? data : {};\n let result = new BroodRequestsFatherHistories();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"broodRequestsFatherHistoriesId\"] = this.broodRequestsFatherHistoriesId;\n data[\"broodRequestsFatherId\"] = this.broodRequestsFatherId;\n data[\"linkedDogId\"] = this.linkedDogId;\n data[\"broodRequestsFather\"] = this.broodRequestsFather ? this.broodRequestsFather.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBroodRequestsFatherHistories {\n broodRequestsFatherHistoriesId?: number;\n broodRequestsFatherId?: number;\n linkedDogId?: number;\n broodRequestsFather?: BroodRequestsFather | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogConditionsForcedValue implements IDogConditionsForcedValue {\n dogConditionsForcedValueId?: number;\n dogId?: number;\n broodRequestId?: number;\n dogNeededConditionId?: number;\n dogNeededCondition?: DogNeededCondition | undefined;\n dog?: Dog | undefined;\n broodRequest?: BroodRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogConditionsForcedValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogConditionsForcedValueId = _data[\"dogConditionsForcedValueId\"];\n this.dogId = _data[\"dogId\"];\n this.broodRequestId = _data[\"broodRequestId\"];\n this.dogNeededConditionId = _data[\"dogNeededConditionId\"];\n this.dogNeededCondition = _data[\"dogNeededCondition\"] ? DogNeededCondition.fromJS(_data[\"dogNeededCondition\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.broodRequest = _data[\"broodRequest\"] ? BroodRequest.fromJS(_data[\"broodRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogConditionsForcedValue {\n data = typeof data === 'object' ? data : {};\n let result = new DogConditionsForcedValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogConditionsForcedValueId\"] = this.dogConditionsForcedValueId;\n data[\"dogId\"] = this.dogId;\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"dogNeededConditionId\"] = this.dogNeededConditionId;\n data[\"dogNeededCondition\"] = this.dogNeededCondition ? this.dogNeededCondition.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"broodRequest\"] = this.broodRequest ? this.broodRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogConditionsForcedValue {\n dogConditionsForcedValueId?: number;\n dogId?: number;\n broodRequestId?: number;\n dogNeededConditionId?: number;\n dogNeededCondition?: DogNeededCondition | undefined;\n dog?: Dog | undefined;\n broodRequest?: BroodRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogNeededCondition implements IDogNeededCondition {\n dogNeededConditionId?: number;\n conditionCode?: EDogCondition;\n forcable?: boolean;\n concernedSex?: EDogSex;\n dogConditionsForcedValues?: DogConditionsForcedValue[] | undefined;\n dogNeededConditionsTranslations?: DogNeededConditionsTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogNeededCondition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogNeededConditionId = _data[\"dogNeededConditionId\"];\n this.conditionCode = _data[\"conditionCode\"];\n this.forcable = _data[\"forcable\"];\n this.concernedSex = _data[\"concernedSex\"];\n if (Array.isArray(_data[\"dogConditionsForcedValues\"])) {\n this.dogConditionsForcedValues = [] as any;\n for (let item of _data[\"dogConditionsForcedValues\"])\n this.dogConditionsForcedValues!.push(DogConditionsForcedValue.fromJS(item));\n }\n if (Array.isArray(_data[\"dogNeededConditionsTranslations\"])) {\n this.dogNeededConditionsTranslations = [] as any;\n for (let item of _data[\"dogNeededConditionsTranslations\"])\n this.dogNeededConditionsTranslations!.push(DogNeededConditionsTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogNeededCondition {\n data = typeof data === 'object' ? data : {};\n let result = new DogNeededCondition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogNeededConditionId\"] = this.dogNeededConditionId;\n data[\"conditionCode\"] = this.conditionCode;\n data[\"forcable\"] = this.forcable;\n data[\"concernedSex\"] = this.concernedSex;\n if (Array.isArray(this.dogConditionsForcedValues)) {\n data[\"dogConditionsForcedValues\"] = [];\n for (let item of this.dogConditionsForcedValues)\n data[\"dogConditionsForcedValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogNeededConditionsTranslations)) {\n data[\"dogNeededConditionsTranslations\"] = [];\n for (let item of this.dogNeededConditionsTranslations)\n data[\"dogNeededConditionsTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogNeededCondition {\n dogNeededConditionId?: number;\n conditionCode?: EDogCondition;\n forcable?: boolean;\n concernedSex?: EDogSex;\n dogConditionsForcedValues?: DogConditionsForcedValue[] | undefined;\n dogNeededConditionsTranslations?: DogNeededConditionsTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EDogCondition {\n MotherAge = \"MotherAge\",\n MotherRecognizedColor = \"MotherRecognizedColor\",\n MotherHasNoOtherRequest = \"MotherHasNoOtherRequest\",\n MotherDnaAvailable = \"MotherDnaAvailable\",\n MotherOwnerChart = \"MotherOwnerChart\",\n FatherAge = \"FatherAge\",\n FatherRecognizedColor = \"FatherRecognizedColor\",\n FatherMerle = \"FatherMerle\",\n FatherDnaAvailable = \"FatherDnaAvailable\",\n FatherOwnerChart = \"FatherOwnerChart\",\n MotherFamilyTreeComplete = \"MotherFamilyTreeComplete\",\n FatherFamilyTreeComplete = \"FatherFamilyTreeComplete\",\n FatherValidDog = \"FatherValidDog\",\n}\n\nexport class DogNeededConditionsTranslation implements IDogNeededConditionsTranslation {\n dogNeededConditionsTranslationId?: number;\n dogNeededConditionId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n dogNeededCondition?: DogNeededCondition | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogNeededConditionsTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogNeededConditionsTranslationId = _data[\"dogNeededConditionsTranslationId\"];\n this.dogNeededConditionId = _data[\"dogNeededConditionId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.dogNeededCondition = _data[\"dogNeededCondition\"] ? DogNeededCondition.fromJS(_data[\"dogNeededCondition\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogNeededConditionsTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new DogNeededConditionsTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogNeededConditionsTranslationId\"] = this.dogNeededConditionsTranslationId;\n data[\"dogNeededConditionId\"] = this.dogNeededConditionId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"dogNeededCondition\"] = this.dogNeededCondition ? this.dogNeededCondition.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogNeededConditionsTranslation {\n dogNeededConditionsTranslationId?: number;\n dogNeededConditionId?: number;\n languageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n dogNeededCondition?: DogNeededCondition | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogBroodRequestTransientOwner implements IDogBroodRequestTransientOwner {\n dogBroodRequestTransientOwnerId?: number;\n dogBroodRequestTransientId?: number;\n personId?: number;\n dogBroodRequestsTransient?: DogBroodRequestsTransient | undefined;\n person?: Person | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IDogBroodRequestTransientOwner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogBroodRequestTransientOwnerId = _data[\"dogBroodRequestTransientOwnerId\"];\n this.dogBroodRequestTransientId = _data[\"dogBroodRequestTransientId\"];\n this.personId = _data[\"personId\"];\n this.dogBroodRequestsTransient = _data[\"dogBroodRequestsTransient\"] ? DogBroodRequestsTransient.fromJS(_data[\"dogBroodRequestsTransient\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogBroodRequestTransientOwner {\n data = typeof data === 'object' ? data : {};\n let result = new DogBroodRequestTransientOwner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogBroodRequestTransientOwnerId\"] = this.dogBroodRequestTransientOwnerId;\n data[\"dogBroodRequestTransientId\"] = this.dogBroodRequestTransientId;\n data[\"personId\"] = this.personId;\n data[\"dogBroodRequestsTransient\"] = this.dogBroodRequestsTransient ? this.dogBroodRequestsTransient.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogBroodRequestTransientOwner {\n dogBroodRequestTransientOwnerId?: number;\n dogBroodRequestTransientId?: number;\n personId?: number;\n dogBroodRequestsTransient?: DogBroodRequestsTransient | undefined;\n person?: Person | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class DogType implements IDogType {\n dogTypeId?: number;\n code?: EDogType;\n dogs?: Dog[] | undefined;\n dogTypeTranslations?: DogTypeTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTypeId = _data[\"dogTypeId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"dogs\"])) {\n this.dogs = [] as any;\n for (let item of _data[\"dogs\"])\n this.dogs!.push(Dog.fromJS(item));\n }\n if (Array.isArray(_data[\"dogTypeTranslations\"])) {\n this.dogTypeTranslations = [] as any;\n for (let item of _data[\"dogTypeTranslations\"])\n this.dogTypeTranslations!.push(DogTypeTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogType {\n data = typeof data === 'object' ? data : {};\n let result = new DogType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTypeId\"] = this.dogTypeId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.dogs)) {\n data[\"dogs\"] = [];\n for (let item of this.dogs)\n data[\"dogs\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogTypeTranslations)) {\n data[\"dogTypeTranslations\"] = [];\n for (let item of this.dogTypeTranslations)\n data[\"dogTypeTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogType {\n dogTypeId?: number;\n code?: EDogType;\n dogs?: Dog[] | undefined;\n dogTypeTranslations?: DogTypeTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EDogType {\n Puppy = \"Puppy\",\n ForeignDog = \"ForeignDog\",\n BelgianDogWithPedigree = \"BelgianDogWithPedigree\",\n ExpoDog = \"ExpoDog\",\n ImportDog = \"ImportDog\",\n LineageDog = \"LineageDog\",\n DogWithoutPedigree = \"DogWithoutPedigree\",\n}\n\nexport class DogTypeTranslation implements IDogTypeTranslation {\n dogTypeTranslationId?: number;\n dogTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n dogType?: DogType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTypeTranslationId = _data[\"dogTypeTranslationId\"];\n this.dogTypeId = _data[\"dogTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.dogType = _data[\"dogType\"] ? DogType.fromJS(_data[\"dogType\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new DogTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTypeTranslationId\"] = this.dogTypeTranslationId;\n data[\"dogTypeId\"] = this.dogTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"dogType\"] = this.dogType ? this.dogType.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogTypeTranslation {\n dogTypeTranslationId?: number;\n dogTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n dogType?: DogType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class PedigreeRequest implements IPedigreeRequest {\n pedigreeRequestId?: number;\n requestId?: number;\n dogId?: number;\n request?: Request | undefined;\n dog?: Dog | undefined;\n transientPedigreeRequestOwners?: TransientPedigreeRequestOwner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IPedigreeRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeRequestId = _data[\"pedigreeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n if (Array.isArray(_data[\"transientPedigreeRequestOwners\"])) {\n this.transientPedigreeRequestOwners = [] as any;\n for (let item of _data[\"transientPedigreeRequestOwners\"])\n this.transientPedigreeRequestOwners!.push(TransientPedigreeRequestOwner.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): PedigreeRequest {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreeRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeRequestId\"] = this.pedigreeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n if (Array.isArray(this.transientPedigreeRequestOwners)) {\n data[\"transientPedigreeRequestOwners\"] = [];\n for (let item of this.transientPedigreeRequestOwners)\n data[\"transientPedigreeRequestOwners\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IPedigreeRequest {\n pedigreeRequestId?: number;\n requestId?: number;\n dogId?: number;\n request?: Request | undefined;\n dog?: Dog | undefined;\n transientPedigreeRequestOwners?: TransientPedigreeRequestOwner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TransientPedigreeRequestOwner implements ITransientPedigreeRequestOwner {\n transientPedigreeRequestOwnerId?: number;\n pedigreeRequestId?: number;\n personId?: number;\n pedigreeRequest?: PedigreeRequest | undefined;\n person?: Person | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: ITransientPedigreeRequestOwner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.transientPedigreeRequestOwnerId = _data[\"transientPedigreeRequestOwnerId\"];\n this.pedigreeRequestId = _data[\"pedigreeRequestId\"];\n this.personId = _data[\"personId\"];\n this.pedigreeRequest = _data[\"pedigreeRequest\"] ? PedigreeRequest.fromJS(_data[\"pedigreeRequest\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): TransientPedigreeRequestOwner {\n data = typeof data === 'object' ? data : {};\n let result = new TransientPedigreeRequestOwner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transientPedigreeRequestOwnerId\"] = this.transientPedigreeRequestOwnerId;\n data[\"pedigreeRequestId\"] = this.pedigreeRequestId;\n data[\"personId\"] = this.personId;\n data[\"pedigreeRequest\"] = this.pedigreeRequest ? this.pedigreeRequest.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ITransientPedigreeRequestOwner {\n transientPedigreeRequestOwnerId?: number;\n pedigreeRequestId?: number;\n personId?: number;\n pedigreeRequest?: PedigreeRequest | undefined;\n person?: Person | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class DogChip implements IDogChip {\n dogChipId?: number;\n dogId?: number | undefined;\n chipNumber?: string | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogChip) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogChipId = _data[\"dogChipId\"];\n this.dogId = _data[\"dogId\"];\n this.chipNumber = _data[\"chipNumber\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogChip {\n data = typeof data === 'object' ? data : {};\n let result = new DogChip();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogChipId\"] = this.dogChipId;\n data[\"dogId\"] = this.dogId;\n data[\"chipNumber\"] = this.chipNumber;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogChip {\n dogChipId?: number;\n dogId?: number | undefined;\n chipNumber?: string | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogHealthTestValidation implements IDogHealthTestValidation {\n dogHealthTestValidationId?: number;\n userId?: number | undefined;\n dogId?: number;\n validated?: boolean | undefined;\n closedOn?: Date;\n user?: User | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogHealthTestValidation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogHealthTestValidationId = _data[\"dogHealthTestValidationId\"];\n this.userId = _data[\"userId\"];\n this.dogId = _data[\"dogId\"];\n this.validated = _data[\"validated\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogHealthTestValidation {\n data = typeof data === 'object' ? data : {};\n let result = new DogHealthTestValidation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogHealthTestValidationId\"] = this.dogHealthTestValidationId;\n data[\"userId\"] = this.userId;\n data[\"dogId\"] = this.dogId;\n data[\"validated\"] = this.validated;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogHealthTestValidation {\n dogHealthTestValidationId?: number;\n userId?: number | undefined;\n dogId?: number;\n validated?: boolean | undefined;\n closedOn?: Date;\n user?: User | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ExpatriationRequest implements IExpatriationRequest {\n expatriationRequestId?: number;\n isForeignDog?: boolean;\n requestId?: number;\n dogId?: number;\n request?: Request | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IExpatriationRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.expatriationRequestId = _data[\"expatriationRequestId\"];\n this.isForeignDog = _data[\"isForeignDog\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ExpatriationRequest {\n data = typeof data === 'object' ? data : {};\n let result = new ExpatriationRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"expatriationRequestId\"] = this.expatriationRequestId;\n data[\"isForeignDog\"] = this.isForeignDog;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IExpatriationRequest {\n expatriationRequestId?: number;\n isForeignDog?: boolean;\n requestId?: number;\n dogId?: number;\n request?: Request | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogTransient implements IDogTransient {\n dogTransientId?: number;\n dogId?: number;\n managerId?: number | undefined;\n isSportSection?: boolean | undefined;\n closedOn?: Date | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n dog?: Dog | undefined;\n manager?: User | undefined;\n\n constructor(data?: IDogTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTransientId = _data[\"dogTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.managerId = _data[\"managerId\"];\n this.isSportSection = _data[\"isSportSection\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.manager = _data[\"manager\"] ? User.fromJS(_data[\"manager\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DogTransient {\n data = typeof data === 'object' ? data : {};\n let result = new DogTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTransientId\"] = this.dogTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"managerId\"] = this.managerId;\n data[\"isSportSection\"] = this.isSportSection;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"manager\"] = this.manager ? this.manager.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IDogTransient {\n dogTransientId?: number;\n dogId?: number;\n managerId?: number | undefined;\n isSportSection?: boolean | undefined;\n closedOn?: Date | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n dog?: Dog | undefined;\n manager?: User | undefined;\n}\n\nexport class PedigreeDuplicataRequest implements IPedigreeDuplicataRequest {\n pedigreeDuplicataRequestId?: number;\n requestId?: number;\n dogId?: number;\n isRenewal?: boolean;\n request?: Request | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IPedigreeDuplicataRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeDuplicataRequestId = _data[\"pedigreeDuplicataRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.isRenewal = _data[\"isRenewal\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): PedigreeDuplicataRequest {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreeDuplicataRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeDuplicataRequestId\"] = this.pedigreeDuplicataRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"isRenewal\"] = this.isRenewal;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IPedigreeDuplicataRequest {\n pedigreeDuplicataRequestId?: number;\n requestId?: number;\n dogId?: number;\n isRenewal?: boolean;\n request?: Request | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogOwnershipChangeRequest implements IDogOwnershipChangeRequest {\n dogOwnershipChangeRequestId?: number;\n requestId?: number;\n dogId?: number;\n export?: boolean;\n request?: Request | undefined;\n dog?: Dog | undefined;\n dogsOwnershipsTransients?: DogOwnershipTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogOwnershipChangeRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogOwnershipChangeRequestId = _data[\"dogOwnershipChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.export = _data[\"export\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n if (Array.isArray(_data[\"dogsOwnershipsTransients\"])) {\n this.dogsOwnershipsTransients = [] as any;\n for (let item of _data[\"dogsOwnershipsTransients\"])\n this.dogsOwnershipsTransients!.push(DogOwnershipTransient.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogOwnershipChangeRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DogOwnershipChangeRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogOwnershipChangeRequestId\"] = this.dogOwnershipChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"export\"] = this.export;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n if (Array.isArray(this.dogsOwnershipsTransients)) {\n data[\"dogsOwnershipsTransients\"] = [];\n for (let item of this.dogsOwnershipsTransients)\n data[\"dogsOwnershipsTransients\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogOwnershipChangeRequest {\n dogOwnershipChangeRequestId?: number;\n requestId?: number;\n dogId?: number;\n export?: boolean;\n request?: Request | undefined;\n dog?: Dog | undefined;\n dogsOwnershipsTransients?: DogOwnershipTransient[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogOwnershipTransient implements IDogOwnershipTransient {\n dogOwnershipTransientId?: number;\n dogId?: number;\n personId?: number;\n dogOwnershipChangeRequestId?: number;\n dogOwnershipChangeRequest?: DogOwnershipChangeRequest | undefined;\n dog?: Dog | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogOwnershipTransient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogOwnershipTransientId = _data[\"dogOwnershipTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.personId = _data[\"personId\"];\n this.dogOwnershipChangeRequestId = _data[\"dogOwnershipChangeRequestId\"];\n this.dogOwnershipChangeRequest = _data[\"dogOwnershipChangeRequest\"] ? DogOwnershipChangeRequest.fromJS(_data[\"dogOwnershipChangeRequest\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogOwnershipTransient {\n data = typeof data === 'object' ? data : {};\n let result = new DogOwnershipTransient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogOwnershipTransientId\"] = this.dogOwnershipTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"personId\"] = this.personId;\n data[\"dogOwnershipChangeRequestId\"] = this.dogOwnershipChangeRequestId;\n data[\"dogOwnershipChangeRequest\"] = this.dogOwnershipChangeRequest ? this.dogOwnershipChangeRequest.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogOwnershipTransient {\n dogOwnershipTransientId?: number;\n dogId?: number;\n personId?: number;\n dogOwnershipChangeRequestId?: number;\n dogOwnershipChangeRequest?: DogOwnershipChangeRequest | undefined;\n dog?: Dog | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ImportRequestTransientOwnership implements IImportRequestTransientOwnership {\n importRequestTransientOwnershipId?: number;\n dogId?: number;\n personId?: number;\n importRequestId?: number;\n importRequest?: ImportRequest | undefined;\n dog?: Dog | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IImportRequestTransientOwnership) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.importRequestTransientOwnershipId = _data[\"importRequestTransientOwnershipId\"];\n this.dogId = _data[\"dogId\"];\n this.personId = _data[\"personId\"];\n this.importRequestId = _data[\"importRequestId\"];\n this.importRequest = _data[\"importRequest\"] ? ImportRequest.fromJS(_data[\"importRequest\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ImportRequestTransientOwnership {\n data = typeof data === 'object' ? data : {};\n let result = new ImportRequestTransientOwnership();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"importRequestTransientOwnershipId\"] = this.importRequestTransientOwnershipId;\n data[\"dogId\"] = this.dogId;\n data[\"personId\"] = this.personId;\n data[\"importRequestId\"] = this.importRequestId;\n data[\"importRequest\"] = this.importRequest ? this.importRequest.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IImportRequestTransientOwnership {\n importRequestTransientOwnershipId?: number;\n dogId?: number;\n personId?: number;\n importRequestId?: number;\n importRequest?: ImportRequest | undefined;\n dog?: Dog | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ImportRequest implements IImportRequest {\n importRequestId?: number;\n requestId?: number;\n dogId?: number;\n request?: Request | undefined;\n dog?: Dog | undefined;\n importRequestTransientOwnerships?: ImportRequestTransientOwnership[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IImportRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.importRequestId = _data[\"importRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n if (Array.isArray(_data[\"importRequestTransientOwnerships\"])) {\n this.importRequestTransientOwnerships = [] as any;\n for (let item of _data[\"importRequestTransientOwnerships\"])\n this.importRequestTransientOwnerships!.push(ImportRequestTransientOwnership.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ImportRequest {\n data = typeof data === 'object' ? data : {};\n let result = new ImportRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"importRequestId\"] = this.importRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n if (Array.isArray(this.importRequestTransientOwnerships)) {\n data[\"importRequestTransientOwnerships\"] = [];\n for (let item of this.importRequestTransientOwnerships)\n data[\"importRequestTransientOwnerships\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IImportRequest {\n importRequestId?: number;\n requestId?: number;\n dogId?: number;\n request?: Request | undefined;\n dog?: Dog | undefined;\n importRequestTransientOwnerships?: ImportRequestTransientOwnership[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogOwnership implements IDogOwnership {\n dogOwnershipId?: number;\n dogId?: number;\n personId?: number;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n isTemporaryOwner?: boolean;\n dog?: Dog | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: IDogOwnership) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogOwnershipId = _data[\"dogOwnershipId\"];\n this.dogId = _data[\"dogId\"];\n this.personId = _data[\"personId\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n this.isTemporaryOwner = _data[\"isTemporaryOwner\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): DogOwnership {\n data = typeof data === 'object' ? data : {};\n let result = new DogOwnership();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogOwnershipId\"] = this.dogOwnershipId;\n data[\"dogId\"] = this.dogId;\n data[\"personId\"] = this.personId;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n data[\"isTemporaryOwner\"] = this.isTemporaryOwner;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface IDogOwnership {\n dogOwnershipId?: number;\n dogId?: number;\n personId?: number;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n isTemporaryOwner?: boolean;\n dog?: Dog | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n}\n\nexport class DogTempOwnershipChangeRequest implements IDogTempOwnershipChangeRequest {\n dogTempOwnershipChangeRequestId?: number;\n requestId?: number;\n temporaryOwnerId?: number;\n dogId?: number;\n temporaryOwnerFrom?: Date;\n temporaryOwnerTo?: Date;\n request?: Request | undefined;\n temporaryOwner?: Person | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogTempOwnershipChangeRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTempOwnershipChangeRequestId = _data[\"dogTempOwnershipChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.temporaryOwnerId = _data[\"temporaryOwnerId\"];\n this.dogId = _data[\"dogId\"];\n this.temporaryOwnerFrom = _data[\"temporaryOwnerFrom\"] ? new Date(_data[\"temporaryOwnerFrom\"].toString()) : undefined;\n this.temporaryOwnerTo = _data[\"temporaryOwnerTo\"] ? new Date(_data[\"temporaryOwnerTo\"].toString()) : undefined;\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.temporaryOwner = _data[\"temporaryOwner\"] ? Person.fromJS(_data[\"temporaryOwner\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogTempOwnershipChangeRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DogTempOwnershipChangeRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTempOwnershipChangeRequestId\"] = this.dogTempOwnershipChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"temporaryOwnerId\"] = this.temporaryOwnerId;\n data[\"dogId\"] = this.dogId;\n data[\"temporaryOwnerFrom\"] = this.temporaryOwnerFrom ? this.temporaryOwnerFrom.toISOString() : undefined;\n data[\"temporaryOwnerTo\"] = this.temporaryOwnerTo ? this.temporaryOwnerTo.toISOString() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"temporaryOwner\"] = this.temporaryOwner ? this.temporaryOwner.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogTempOwnershipChangeRequest {\n dogTempOwnershipChangeRequestId?: number;\n requestId?: number;\n temporaryOwnerId?: number;\n dogId?: number;\n temporaryOwnerFrom?: Date;\n temporaryOwnerTo?: Date;\n request?: Request | undefined;\n temporaryOwner?: Person | undefined;\n dog?: Dog | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogsBreeder implements IDogsBreeder {\n dogsBreederId?: number;\n dogId?: number;\n breederId?: number;\n dog?: Dog | undefined;\n breeder?: Breeder | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogsBreeder) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogsBreederId = _data[\"dogsBreederId\"];\n this.dogId = _data[\"dogId\"];\n this.breederId = _data[\"breederId\"];\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.breeder = _data[\"breeder\"] ? Breeder.fromJS(_data[\"breeder\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogsBreeder {\n data = typeof data === 'object' ? data : {};\n let result = new DogsBreeder();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogsBreederId\"] = this.dogsBreederId;\n data[\"dogId\"] = this.dogId;\n data[\"breederId\"] = this.breederId;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"breeder\"] = this.breeder ? this.breeder.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogsBreeder {\n dogsBreederId?: number;\n dogId?: number;\n breederId?: number;\n dog?: Dog | undefined;\n breeder?: Breeder | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Breeder implements IBreeder {\n breederId?: number;\n personId?: number;\n hkNumber?: string | undefined;\n webSiteUri?: string | undefined;\n person?: Person | undefined;\n dogsBreeders?: DogsBreeder[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreeder) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breederId = _data[\"breederId\"];\n this.personId = _data[\"personId\"];\n this.hkNumber = _data[\"hkNumber\"];\n this.webSiteUri = _data[\"webSiteUri\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n if (Array.isArray(_data[\"dogsBreeders\"])) {\n this.dogsBreeders = [] as any;\n for (let item of _data[\"dogsBreeders\"])\n this.dogsBreeders!.push(DogsBreeder.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Breeder {\n data = typeof data === 'object' ? data : {};\n let result = new Breeder();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breederId\"] = this.breederId;\n data[\"personId\"] = this.personId;\n data[\"hkNumber\"] = this.hkNumber;\n data[\"webSiteUri\"] = this.webSiteUri;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n if (Array.isArray(this.dogsBreeders)) {\n data[\"dogsBreeders\"] = [];\n for (let item of this.dogsBreeders)\n data[\"dogsBreeders\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreeder {\n breederId?: number;\n personId?: number;\n hkNumber?: string | undefined;\n webSiteUri?: string | undefined;\n person?: Person | undefined;\n dogsBreeders?: DogsBreeder[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogAction implements IDogAction {\n dogActionId?: number;\n userId?: number | undefined;\n dogId?: number;\n elementActionId?: number;\n actionTime?: Date;\n user?: User | undefined;\n dog?: Dog | undefined;\n elementAction?: ElementAction | undefined;\n dogActionsTranslations?: DogActionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IDogAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogActionId = _data[\"dogActionId\"];\n this.userId = _data[\"userId\"];\n this.dogId = _data[\"dogId\"];\n this.elementActionId = _data[\"elementActionId\"];\n this.actionTime = _data[\"actionTime\"] ? new Date(_data[\"actionTime\"].toString()) : undefined;\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\n this.dog = _data[\"dog\"] ? Dog.fromJS(_data[\"dog\"]) : undefined;\n this.elementAction = _data[\"elementAction\"] ? ElementAction.fromJS(_data[\"elementAction\"]) : undefined;\n if (Array.isArray(_data[\"dogActionsTranslations\"])) {\n this.dogActionsTranslations = [] as any;\n for (let item of _data[\"dogActionsTranslations\"])\n this.dogActionsTranslations!.push(DogActionTranslation.fromJS(item));\n }\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogAction {\n data = typeof data === 'object' ? data : {};\n let result = new DogAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogActionId\"] = this.dogActionId;\n data[\"userId\"] = this.userId;\n data[\"dogId\"] = this.dogId;\n data[\"elementActionId\"] = this.elementActionId;\n data[\"actionTime\"] = this.actionTime ? this.actionTime.toISOString() : undefined;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"elementAction\"] = this.elementAction ? this.elementAction.toJSON() : undefined;\n if (Array.isArray(this.dogActionsTranslations)) {\n data[\"dogActionsTranslations\"] = [];\n for (let item of this.dogActionsTranslations)\n data[\"dogActionsTranslations\"].push(item.toJSON());\n }\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogAction {\n dogActionId?: number;\n userId?: number | undefined;\n dogId?: number;\n elementActionId?: number;\n actionTime?: Date;\n user?: User | undefined;\n dog?: Dog | undefined;\n elementAction?: ElementAction | undefined;\n dogActionsTranslations?: DogActionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class ElementAction implements IElementAction {\n elementActionId?: number;\n actionCode?: EElementActions;\n requestActions?: RequestAction[] | undefined;\n dogActions?: DogAction[] | undefined;\n personActions?: PersonAction[] | undefined;\n elementActionTranslations?: ElementActionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IElementAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.elementActionId = _data[\"elementActionId\"];\n this.actionCode = _data[\"actionCode\"];\n if (Array.isArray(_data[\"requestActions\"])) {\n this.requestActions = [] as any;\n for (let item of _data[\"requestActions\"])\n this.requestActions!.push(RequestAction.fromJS(item));\n }\n if (Array.isArray(_data[\"dogActions\"])) {\n this.dogActions = [] as any;\n for (let item of _data[\"dogActions\"])\n this.dogActions!.push(DogAction.fromJS(item));\n }\n if (Array.isArray(_data[\"personActions\"])) {\n this.personActions = [] as any;\n for (let item of _data[\"personActions\"])\n this.personActions!.push(PersonAction.fromJS(item));\n }\n if (Array.isArray(_data[\"elementActionTranslations\"])) {\n this.elementActionTranslations = [] as any;\n for (let item of _data[\"elementActionTranslations\"])\n this.elementActionTranslations!.push(ElementActionTranslation.fromJS(item));\n }\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): ElementAction {\n data = typeof data === 'object' ? data : {};\n let result = new ElementAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"elementActionId\"] = this.elementActionId;\n data[\"actionCode\"] = this.actionCode;\n if (Array.isArray(this.requestActions)) {\n data[\"requestActions\"] = [];\n for (let item of this.requestActions)\n data[\"requestActions\"].push(item.toJSON());\n }\n if (Array.isArray(this.dogActions)) {\n data[\"dogActions\"] = [];\n for (let item of this.dogActions)\n data[\"dogActions\"].push(item.toJSON());\n }\n if (Array.isArray(this.personActions)) {\n data[\"personActions\"] = [];\n for (let item of this.personActions)\n data[\"personActions\"].push(item.toJSON());\n }\n if (Array.isArray(this.elementActionTranslations)) {\n data[\"elementActionTranslations\"] = [];\n for (let item of this.elementActionTranslations)\n data[\"elementActionTranslations\"].push(item.toJSON());\n }\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IElementAction {\n elementActionId?: number;\n actionCode?: EElementActions;\n requestActions?: RequestAction[] | undefined;\n dogActions?: DogAction[] | undefined;\n personActions?: PersonAction[] | undefined;\n elementActionTranslations?: ElementActionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport enum EElementActions {\n StatusChange = \"StatusChange\",\n StatusChangePortal = \"StatusChangePortal\",\n Block = \"Block\",\n Creation = \"Creation\",\n Unblock = \"Unblock\",\n VerificationsForced = \"VerificationsForced\",\n ConditionForced = \"ConditionForced\",\n FieldModified = \"FieldModified\",\n FieldModifiedPortal = \"FieldModifiedPortal\",\n OwnerAdded = \"OwnerAdded\",\n OwnerRemoved = \"OwnerRemoved\",\n JudgeRemoved = \"JudgeRemoved\",\n JudgeAdded = \"JudgeAdded\",\n BreedAdded = \"BreedAdded\",\n BreedRemoved = \"BreedRemoved\",\n DogAdded = \"DogAdded\",\n DogAddedPortal = \"DogAddedPortal\",\n DogRemoved = \"DogRemoved\",\n DogRemovedPortal = \"DogRemovedPortal\",\n CreationPortal = \"CreationPortal\",\n ForcedBannedUser = \"ForcedBannedUser\",\n PuppyDeceased = \"PuppyDeceased\",\n CreditMemoCreated = \"CreditMemoCreated\",\n DogCreation = \"DogCreation\",\n PedigreeAdded = \"PedigreeAdded\",\n PedigreeRemoved = \"PedigreeRemoved\",\n TitleAdded = \"TitleAdded\",\n TitleRemoved = \"TitleRemoved\",\n ChipAdded = \"ChipAdded\",\n ChipRemoved = \"ChipRemoved\",\n ComptetitionAdded = \"ComptetitionAdded\",\n CompetitionRemoved = \"CompetitionRemoved\",\n WorkbookAdded = \"WorkbookAdded\",\n HealthTestAdded = \"HealthTestAdded\",\n BreederAdded = \"BreederAdded\",\n BreederRemoved = \"BreederRemoved\",\n CreateDogDna = \"CreateDogDna\",\n CreatePerson = \"CreatePerson\",\n CreatePersonFromSplit = \"CreatePersonFromSplit\",\n CreatePersonFromFusion = \"CreatePersonFromFusion\",\n PasswordChanged = \"PasswordChanged\",\n CotisationAdded = \"CotisationAdded\",\n CotisationRemoved = \"CotisationRemoved\",\n BreederInfoCreated = \"BreederInfoCreated\",\n BreederChartAdded = \"BreederChartAdded\",\n BreederChartRemoved = \"BreederChartRemoved\",\n MembershipInformationCreation = \"MembershipInformationCreation\",\n VetInformationCreation = \"VetInformationCreation\",\n SubActivityAdded = \"SubActivityAdded\",\n SubAcitvityRemoved = \"SubAcitvityRemoved\",\n BreedGroupAdded = \"BreedGroupAdded\",\n BreedGroupRemoved = \"BreedGroupRemoved\",\n CreateDogFromFusion = \"CreateDogFromFusion\",\n MissingInformationRequested = \"MissingInformationRequested\",\n OwnershipModified = \"OwnershipModified\",\n SendingNewFatherRequestToBreeder = \"SendingNewFatherRequestToBreeder\",\n DocumentPrinted = \"DocumentPrinted\",\n PuppyPedigree = \"PuppyPedigree\",\n PedigreeReprint = \"PedigreeReprint\",\n OgonePayment = \"OgonePayment\",\n UncancelRequest = \"UncancelRequest\",\n ComptetitionModified = \"ComptetitionModified\",\n BreedUpdated = \"BreedUpdated\",\n}\n\nexport class RequestAction implements IRequestAction {\n requestActionId?: number;\n userId?: number | undefined;\n requestId?: number;\n elementActionId?: number;\n actionTime?: Date;\n user?: User | undefined;\n request?: Request | undefined;\n elementAction?: ElementAction | undefined;\n requestActionTranslations?: RequestActionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IRequestAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestActionId = _data[\"requestActionId\"];\n this.userId = _data[\"userId\"];\n this.requestId = _data[\"requestId\"];\n this.elementActionId = _data[\"elementActionId\"];\n this.actionTime = _data[\"actionTime\"] ? new Date(_data[\"actionTime\"].toString()) : undefined;\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.elementAction = _data[\"elementAction\"] ? ElementAction.fromJS(_data[\"elementAction\"]) : undefined;\n if (Array.isArray(_data[\"requestActionTranslations\"])) {\n this.requestActionTranslations = [] as any;\n for (let item of _data[\"requestActionTranslations\"])\n this.requestActionTranslations!.push(RequestActionTranslation.fromJS(item));\n }\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): RequestAction {\n data = typeof data === 'object' ? data : {};\n let result = new RequestAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestActionId\"] = this.requestActionId;\n data[\"userId\"] = this.userId;\n data[\"requestId\"] = this.requestId;\n data[\"elementActionId\"] = this.elementActionId;\n data[\"actionTime\"] = this.actionTime ? this.actionTime.toISOString() : undefined;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"elementAction\"] = this.elementAction ? this.elementAction.toJSON() : undefined;\n if (Array.isArray(this.requestActionTranslations)) {\n data[\"requestActionTranslations\"] = [];\n for (let item of this.requestActionTranslations)\n data[\"requestActionTranslations\"].push(item.toJSON());\n }\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IRequestAction {\n requestActionId?: number;\n userId?: number | undefined;\n requestId?: number;\n elementActionId?: number;\n actionTime?: Date;\n user?: User | undefined;\n request?: Request | undefined;\n elementAction?: ElementAction | undefined;\n requestActionTranslations?: RequestActionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class RequestActionTranslation implements IRequestActionTranslation {\n requestActionTranslationId?: number;\n requestActionId?: number;\n languageId?: number;\n text?: string | undefined;\n requestAction?: RequestAction | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IRequestActionTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestActionTranslationId = _data[\"requestActionTranslationId\"];\n this.requestActionId = _data[\"requestActionId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.requestAction = _data[\"requestAction\"] ? RequestAction.fromJS(_data[\"requestAction\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): RequestActionTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new RequestActionTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestActionTranslationId\"] = this.requestActionTranslationId;\n data[\"requestActionId\"] = this.requestActionId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"requestAction\"] = this.requestAction ? this.requestAction.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IRequestActionTranslation {\n requestActionTranslationId?: number;\n requestActionId?: number;\n languageId?: number;\n text?: string | undefined;\n requestAction?: RequestAction | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class PersonAction implements IPersonAction {\n personActionId?: number;\n userId?: number | undefined;\n personId?: number;\n elementActionId?: number;\n actionTime?: Date;\n user?: User | undefined;\n person?: Person | undefined;\n elementAction?: ElementAction | undefined;\n personActionsTranslations?: PersonActionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IPersonAction) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personActionId = _data[\"personActionId\"];\n this.userId = _data[\"userId\"];\n this.personId = _data[\"personId\"];\n this.elementActionId = _data[\"elementActionId\"];\n this.actionTime = _data[\"actionTime\"] ? new Date(_data[\"actionTime\"].toString()) : undefined;\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.elementAction = _data[\"elementAction\"] ? ElementAction.fromJS(_data[\"elementAction\"]) : undefined;\n if (Array.isArray(_data[\"personActionsTranslations\"])) {\n this.personActionsTranslations = [] as any;\n for (let item of _data[\"personActionsTranslations\"])\n this.personActionsTranslations!.push(PersonActionTranslation.fromJS(item));\n }\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): PersonAction {\n data = typeof data === 'object' ? data : {};\n let result = new PersonAction();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personActionId\"] = this.personActionId;\n data[\"userId\"] = this.userId;\n data[\"personId\"] = this.personId;\n data[\"elementActionId\"] = this.elementActionId;\n data[\"actionTime\"] = this.actionTime ? this.actionTime.toISOString() : undefined;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"elementAction\"] = this.elementAction ? this.elementAction.toJSON() : undefined;\n if (Array.isArray(this.personActionsTranslations)) {\n data[\"personActionsTranslations\"] = [];\n for (let item of this.personActionsTranslations)\n data[\"personActionsTranslations\"].push(item.toJSON());\n }\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IPersonAction {\n personActionId?: number;\n userId?: number | undefined;\n personId?: number;\n elementActionId?: number;\n actionTime?: Date;\n user?: User | undefined;\n person?: Person | undefined;\n elementAction?: ElementAction | undefined;\n personActionsTranslations?: PersonActionTranslation[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class PersonActionTranslation implements IPersonActionTranslation {\n personActionTranslationId?: number;\n personActionId?: number;\n languageId?: number;\n text?: string | undefined;\n personAction?: PersonAction | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IPersonActionTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personActionTranslationId = _data[\"personActionTranslationId\"];\n this.personActionId = _data[\"personActionId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.personAction = _data[\"personAction\"] ? PersonAction.fromJS(_data[\"personAction\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): PersonActionTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new PersonActionTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personActionTranslationId\"] = this.personActionTranslationId;\n data[\"personActionId\"] = this.personActionId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"personAction\"] = this.personAction ? this.personAction.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IPersonActionTranslation {\n personActionTranslationId?: number;\n personActionId?: number;\n languageId?: number;\n text?: string | undefined;\n personAction?: PersonAction | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ElementActionTranslation implements IElementActionTranslation {\n elementActionTranslationId?: number;\n elementActionId?: number;\n languageId?: number;\n text?: string | undefined;\n elementAction?: ElementAction | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IElementActionTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.elementActionTranslationId = _data[\"elementActionTranslationId\"];\n this.elementActionId = _data[\"elementActionId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.elementAction = _data[\"elementAction\"] ? ElementAction.fromJS(_data[\"elementAction\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ElementActionTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new ElementActionTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"elementActionTranslationId\"] = this.elementActionTranslationId;\n data[\"elementActionId\"] = this.elementActionId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"elementAction\"] = this.elementAction ? this.elementAction.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IElementActionTranslation {\n elementActionTranslationId?: number;\n elementActionId?: number;\n languageId?: number;\n text?: string | undefined;\n elementAction?: ElementAction | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DogActionTranslation implements IDogActionTranslation {\n dogActionTranslationId?: number;\n dogActionId?: number;\n languageId?: number;\n text?: string | undefined;\n dogAction?: DogAction | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDogActionTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogActionTranslationId = _data[\"dogActionTranslationId\"];\n this.dogActionId = _data[\"dogActionId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.dogAction = _data[\"dogAction\"] ? DogAction.fromJS(_data[\"dogAction\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DogActionTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new DogActionTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogActionTranslationId\"] = this.dogActionTranslationId;\n data[\"dogActionId\"] = this.dogActionId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"dogAction\"] = this.dogAction ? this.dogAction.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDogActionTranslation {\n dogActionTranslationId?: number;\n dogActionId?: number;\n languageId?: number;\n text?: string | undefined;\n dogAction?: DogAction | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedVariety implements IBreedVariety {\n breedvarietyId?: number;\n sourceBreedId?: number;\n destinationBreedId?: number;\n sourceBreed?: Breed | undefined;\n destinationBreed?: Breed | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedVariety) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedvarietyId = _data[\"breedvarietyId\"];\n this.sourceBreedId = _data[\"sourceBreedId\"];\n this.destinationBreedId = _data[\"destinationBreedId\"];\n this.sourceBreed = _data[\"sourceBreed\"] ? Breed.fromJS(_data[\"sourceBreed\"]) : undefined;\n this.destinationBreed = _data[\"destinationBreed\"] ? Breed.fromJS(_data[\"destinationBreed\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedVariety {\n data = typeof data === 'object' ? data : {};\n let result = new BreedVariety();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedvarietyId\"] = this.breedvarietyId;\n data[\"sourceBreedId\"] = this.sourceBreedId;\n data[\"destinationBreedId\"] = this.destinationBreedId;\n data[\"sourceBreed\"] = this.sourceBreed ? this.sourceBreed.toJSON() : undefined;\n data[\"destinationBreed\"] = this.destinationBreed ? this.destinationBreed.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedVariety {\n breedvarietyId?: number;\n sourceBreedId?: number;\n destinationBreedId?: number;\n sourceBreed?: Breed | undefined;\n destinationBreed?: Breed | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedingException implements IBreedingException {\n breedingExceptionId?: number;\n sourceBreedId?: number;\n destinationBreedId?: number;\n sourceBreed?: Breed | undefined;\n destinationBreed?: Breed | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedingException) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedingExceptionId = _data[\"breedingExceptionId\"];\n this.sourceBreedId = _data[\"sourceBreedId\"];\n this.destinationBreedId = _data[\"destinationBreedId\"];\n this.sourceBreed = _data[\"sourceBreed\"] ? Breed.fromJS(_data[\"sourceBreed\"]) : undefined;\n this.destinationBreed = _data[\"destinationBreed\"] ? Breed.fromJS(_data[\"destinationBreed\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedingException {\n data = typeof data === 'object' ? data : {};\n let result = new BreedingException();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedingExceptionId\"] = this.breedingExceptionId;\n data[\"sourceBreedId\"] = this.sourceBreedId;\n data[\"destinationBreedId\"] = this.destinationBreedId;\n data[\"sourceBreed\"] = this.sourceBreed ? this.sourceBreed.toJSON() : undefined;\n data[\"destinationBreed\"] = this.destinationBreed ? this.destinationBreed.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedingException {\n breedingExceptionId?: number;\n sourceBreedId?: number;\n destinationBreedId?: number;\n sourceBreed?: Breed | undefined;\n destinationBreed?: Breed | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BreedTranslation implements IBreedTranslation {\n breedTranslationId?: number;\n breedId?: number;\n languageId?: number;\n text?: string | undefined;\n breed?: Breed | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IBreedTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedTranslationId = _data[\"breedTranslationId\"];\n this.breedId = _data[\"breedId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): BreedTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new BreedTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedTranslationId\"] = this.breedTranslationId;\n data[\"breedId\"] = this.breedId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IBreedTranslation {\n breedTranslationId?: number;\n breedId?: number;\n languageId?: number;\n text?: string | undefined;\n breed?: Breed | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TransientNewKennelBreed implements ITransientNewKennelBreed {\n transientNewKennelBreedId?: number;\n breedId?: number;\n newKennelRequestId?: number;\n breed?: Breed | undefined;\n newKennelRequest?: NewKennelRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITransientNewKennelBreed) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.transientNewKennelBreedId = _data[\"transientNewKennelBreedId\"];\n this.breedId = _data[\"breedId\"];\n this.newKennelRequestId = _data[\"newKennelRequestId\"];\n this.breed = _data[\"breed\"] ? Breed.fromJS(_data[\"breed\"]) : undefined;\n this.newKennelRequest = _data[\"newKennelRequest\"] ? NewKennelRequest.fromJS(_data[\"newKennelRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TransientNewKennelBreed {\n data = typeof data === 'object' ? data : {};\n let result = new TransientNewKennelBreed();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transientNewKennelBreedId\"] = this.transientNewKennelBreedId;\n data[\"breedId\"] = this.breedId;\n data[\"newKennelRequestId\"] = this.newKennelRequestId;\n data[\"breed\"] = this.breed ? this.breed.toJSON() : undefined;\n data[\"newKennelRequest\"] = this.newKennelRequest ? this.newKennelRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITransientNewKennelBreed {\n transientNewKennelBreedId?: number;\n breedId?: number;\n newKennelRequestId?: number;\n breed?: Breed | undefined;\n newKennelRequest?: NewKennelRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class NewKennelRequest implements INewKennelRequest {\n newKennelRequestId?: number;\n requestId?: number;\n nameOffer1?: string | undefined;\n nameOffer1Type?: EKennelType;\n nameOffer2?: string | undefined;\n nameOffer2Type?: EKennelType;\n nameOffer3?: string | undefined;\n nameOffer3Type?: EKennelType;\n nameOffer4?: string | undefined;\n nameOffer4Type?: EKennelType;\n nameOffer5?: string | undefined;\n nameOffer5Type?: EKennelType;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n tries?: number;\n request?: Request | undefined;\n transientNewKennelBreeds?: TransientNewKennelBreed[] | undefined;\n transientNewKennelOwners?: TransientNewKennelOwner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: INewKennelRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.newKennelRequestId = _data[\"newKennelRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.nameOffer1 = _data[\"nameOffer1\"];\n this.nameOffer1Type = _data[\"nameOffer1Type\"];\n this.nameOffer2 = _data[\"nameOffer2\"];\n this.nameOffer2Type = _data[\"nameOffer2Type\"];\n this.nameOffer3 = _data[\"nameOffer3\"];\n this.nameOffer3Type = _data[\"nameOffer3Type\"];\n this.nameOffer4 = _data[\"nameOffer4\"];\n this.nameOffer4Type = _data[\"nameOffer4Type\"];\n this.nameOffer5 = _data[\"nameOffer5\"];\n this.nameOffer5Type = _data[\"nameOffer5Type\"];\n this.finalName = _data[\"finalName\"];\n this.finalType = _data[\"finalType\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.exportDate = _data[\"exportDate\"] ? new Date(_data[\"exportDate\"].toString()) : undefined;\n this.exportForcedValue = _data[\"exportForcedValue\"];\n this.tries = _data[\"tries\"];\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"transientNewKennelBreeds\"])) {\n this.transientNewKennelBreeds = [] as any;\n for (let item of _data[\"transientNewKennelBreeds\"])\n this.transientNewKennelBreeds!.push(TransientNewKennelBreed.fromJS(item));\n }\n if (Array.isArray(_data[\"transientNewKennelOwners\"])) {\n this.transientNewKennelOwners = [] as any;\n for (let item of _data[\"transientNewKennelOwners\"])\n this.transientNewKennelOwners!.push(TransientNewKennelOwner.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): NewKennelRequest {\n data = typeof data === 'object' ? data : {};\n let result = new NewKennelRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"newKennelRequestId\"] = this.newKennelRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"nameOffer1\"] = this.nameOffer1;\n data[\"nameOffer1Type\"] = this.nameOffer1Type;\n data[\"nameOffer2\"] = this.nameOffer2;\n data[\"nameOffer2Type\"] = this.nameOffer2Type;\n data[\"nameOffer3\"] = this.nameOffer3;\n data[\"nameOffer3Type\"] = this.nameOffer3Type;\n data[\"nameOffer4\"] = this.nameOffer4;\n data[\"nameOffer4Type\"] = this.nameOffer4Type;\n data[\"nameOffer5\"] = this.nameOffer5;\n data[\"nameOffer5Type\"] = this.nameOffer5Type;\n data[\"finalName\"] = this.finalName;\n data[\"finalType\"] = this.finalType;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"exportDate\"] = this.exportDate ? this.exportDate.toISOString() : undefined;\n data[\"exportForcedValue\"] = this.exportForcedValue;\n data[\"tries\"] = this.tries;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.transientNewKennelBreeds)) {\n data[\"transientNewKennelBreeds\"] = [];\n for (let item of this.transientNewKennelBreeds)\n data[\"transientNewKennelBreeds\"].push(item.toJSON());\n }\n if (Array.isArray(this.transientNewKennelOwners)) {\n data[\"transientNewKennelOwners\"] = [];\n for (let item of this.transientNewKennelOwners)\n data[\"transientNewKennelOwners\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface INewKennelRequest {\n newKennelRequestId?: number;\n requestId?: number;\n nameOffer1?: string | undefined;\n nameOffer1Type?: EKennelType;\n nameOffer2?: string | undefined;\n nameOffer2Type?: EKennelType;\n nameOffer3?: string | undefined;\n nameOffer3Type?: EKennelType;\n nameOffer4?: string | undefined;\n nameOffer4Type?: EKennelType;\n nameOffer5?: string | undefined;\n nameOffer5Type?: EKennelType;\n finalName?: string | undefined;\n finalType?: EKennelType;\n fciNumber?: string | undefined;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n tries?: number;\n request?: Request | undefined;\n transientNewKennelBreeds?: TransientNewKennelBreed[] | undefined;\n transientNewKennelOwners?: TransientNewKennelOwner[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TransientNewKennelOwner implements ITransientNewKennelOwner {\n transientNewKennelOwnerId?: number;\n personId?: number;\n newKennelRequestId?: number;\n person?: Person | undefined;\n newKennelRequest?: NewKennelRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITransientNewKennelOwner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.transientNewKennelOwnerId = _data[\"transientNewKennelOwnerId\"];\n this.personId = _data[\"personId\"];\n this.newKennelRequestId = _data[\"newKennelRequestId\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.newKennelRequest = _data[\"newKennelRequest\"] ? NewKennelRequest.fromJS(_data[\"newKennelRequest\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TransientNewKennelOwner {\n data = typeof data === 'object' ? data : {};\n let result = new TransientNewKennelOwner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transientNewKennelOwnerId\"] = this.transientNewKennelOwnerId;\n data[\"personId\"] = this.personId;\n data[\"newKennelRequestId\"] = this.newKennelRequestId;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"newKennelRequest\"] = this.newKennelRequest ? this.newKennelRequest.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITransientNewKennelOwner {\n transientNewKennelOwnerId?: number;\n personId?: number;\n newKennelRequestId?: number;\n person?: Person | undefined;\n newKennelRequest?: NewKennelRequest | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class LanguageTranslation implements ILanguageTranslation {\n languageTranslationId?: number;\n languageId?: number;\n translationLanguageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n translationLanguage?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ILanguageTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageTranslationId = _data[\"languageTranslationId\"];\n this.languageId = _data[\"languageId\"];\n this.translationLanguageId = _data[\"translationLanguageId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.translationLanguage = _data[\"translationLanguage\"] ? Language.fromJS(_data[\"translationLanguage\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): LanguageTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new LanguageTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageTranslationId\"] = this.languageTranslationId;\n data[\"languageId\"] = this.languageId;\n data[\"translationLanguageId\"] = this.translationLanguageId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"translationLanguage\"] = this.translationLanguage ? this.translationLanguage.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ILanguageTranslation {\n languageTranslationId?: number;\n languageId?: number;\n translationLanguageId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n translationLanguage?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DocumentContent implements IDocumentContent {\n documentContentId?: number;\n recipientInfo?: string | undefined;\n content?: string | undefined;\n languageId?: number;\n documentTemplateId?: number;\n description?: string | undefined;\n documentTemplate?: DocumentTemplate | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDocumentContent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.documentContentId = _data[\"documentContentId\"];\n this.recipientInfo = _data[\"recipientInfo\"];\n this.content = _data[\"content\"];\n this.languageId = _data[\"languageId\"];\n this.documentTemplateId = _data[\"documentTemplateId\"];\n this.description = _data[\"description\"];\n this.documentTemplate = _data[\"documentTemplate\"] ? DocumentTemplate.fromJS(_data[\"documentTemplate\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DocumentContent {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentContent();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"documentContentId\"] = this.documentContentId;\n data[\"recipientInfo\"] = this.recipientInfo;\n data[\"content\"] = this.content;\n data[\"languageId\"] = this.languageId;\n data[\"documentTemplateId\"] = this.documentTemplateId;\n data[\"description\"] = this.description;\n data[\"documentTemplate\"] = this.documentTemplate ? this.documentTemplate.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDocumentContent {\n documentContentId?: number;\n recipientInfo?: string | undefined;\n content?: string | undefined;\n languageId?: number;\n documentTemplateId?: number;\n description?: string | undefined;\n documentTemplate?: DocumentTemplate | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class DocumentTemplate implements IDocumentTemplate {\n documentTemplateId?: number;\n templateCode?: EDocumentTemplate;\n printer?: string | undefined;\n isSeasonal?: boolean;\n printMethod?: EPrintMethod | undefined;\n documentContents?: DocumentContent[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IDocumentTemplate) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.documentTemplateId = _data[\"documentTemplateId\"];\n this.templateCode = _data[\"templateCode\"];\n this.printer = _data[\"printer\"];\n this.isSeasonal = _data[\"isSeasonal\"];\n this.printMethod = _data[\"printMethod\"];\n if (Array.isArray(_data[\"documentContents\"])) {\n this.documentContents = [] as any;\n for (let item of _data[\"documentContents\"])\n this.documentContents!.push(DocumentContent.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): DocumentTemplate {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentTemplate();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"documentTemplateId\"] = this.documentTemplateId;\n data[\"templateCode\"] = this.templateCode;\n data[\"printer\"] = this.printer;\n data[\"isSeasonal\"] = this.isSeasonal;\n data[\"printMethod\"] = this.printMethod;\n if (Array.isArray(this.documentContents)) {\n data[\"documentContents\"] = [];\n for (let item of this.documentContents)\n data[\"documentContents\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IDocumentTemplate {\n documentTemplateId?: number;\n templateCode?: EDocumentTemplate;\n printer?: string | undefined;\n isSeasonal?: boolean;\n printMethod?: EPrintMethod | undefined;\n documentContents?: DocumentContent[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EPrintMethod {\n ExternalApp = \"ExternalApp\",\n Simple = \"Simple\",\n RvVertical = \"RvVertical\",\n RVHorizontal = \"RVHorizontal\",\n}\n\nexport class Translation implements ITranslation {\n translationId?: number;\n languageId?: number;\n translationCodeId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n translationCode?: TranslationCode | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.translationId = _data[\"translationId\"];\n this.languageId = _data[\"languageId\"];\n this.translationCodeId = _data[\"translationCodeId\"];\n this.text = _data[\"text\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.translationCode = _data[\"translationCode\"] ? TranslationCode.fromJS(_data[\"translationCode\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): Translation {\n data = typeof data === 'object' ? data : {};\n let result = new Translation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"translationId\"] = this.translationId;\n data[\"languageId\"] = this.languageId;\n data[\"translationCodeId\"] = this.translationCodeId;\n data[\"text\"] = this.text;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"translationCode\"] = this.translationCode ? this.translationCode.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITranslation {\n translationId?: number;\n languageId?: number;\n translationCodeId?: number;\n text?: string | undefined;\n language?: Language | undefined;\n translationCode?: TranslationCode | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TranslationCode implements ITranslationCode {\n translationCodeId?: number;\n code?: string | undefined;\n translations?: Translation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITranslationCode) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.translationCodeId = _data[\"translationCodeId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"translations\"])) {\n this.translations = [] as any;\n for (let item of _data[\"translations\"])\n this.translations!.push(Translation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TranslationCode {\n data = typeof data === 'object' ? data : {};\n let result = new TranslationCode();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"translationCodeId\"] = this.translationCodeId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.translations)) {\n data[\"translations\"] = [];\n for (let item of this.translations)\n data[\"translations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITranslationCode {\n translationCodeId?: number;\n code?: string | undefined;\n translations?: Translation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class MailContent implements IMailContent {\n mailContentId?: number;\n mailTemplateId?: number;\n languageId?: number;\n subject?: string | undefined;\n body?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n language?: Language | undefined;\n mailTemplate?: MailTemplate | undefined;\n\n constructor(data?: IMailContent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.mailContentId = _data[\"mailContentId\"];\n this.mailTemplateId = _data[\"mailTemplateId\"];\n this.languageId = _data[\"languageId\"];\n this.subject = _data[\"subject\"];\n this.body = _data[\"body\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.mailTemplate = _data[\"mailTemplate\"] ? MailTemplate.fromJS(_data[\"mailTemplate\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MailContent {\n data = typeof data === 'object' ? data : {};\n let result = new MailContent();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"mailContentId\"] = this.mailContentId;\n data[\"mailTemplateId\"] = this.mailTemplateId;\n data[\"languageId\"] = this.languageId;\n data[\"subject\"] = this.subject;\n data[\"body\"] = this.body;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"mailTemplate\"] = this.mailTemplate ? this.mailTemplate.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMailContent {\n mailContentId?: number;\n mailTemplateId?: number;\n languageId?: number;\n subject?: string | undefined;\n body?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n language?: Language | undefined;\n mailTemplate?: MailTemplate | undefined;\n}\n\nexport class MailTemplate implements IMailTemplate {\n mailTemplateId?: number;\n code?: EEmailCode;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n mailContent?: MailContent[] | undefined;\n mailTemplateDescriptions?: MailTemplateDescriptionsTranslation[] | undefined;\n\n constructor(data?: IMailTemplate) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.mailTemplateId = _data[\"mailTemplateId\"];\n this.code = _data[\"code\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"mailContent\"])) {\n this.mailContent = [] as any;\n for (let item of _data[\"mailContent\"])\n this.mailContent!.push(MailContent.fromJS(item));\n }\n if (Array.isArray(_data[\"mailTemplateDescriptions\"])) {\n this.mailTemplateDescriptions = [] as any;\n for (let item of _data[\"mailTemplateDescriptions\"])\n this.mailTemplateDescriptions!.push(MailTemplateDescriptionsTranslation.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): MailTemplate {\n data = typeof data === 'object' ? data : {};\n let result = new MailTemplate();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"mailTemplateId\"] = this.mailTemplateId;\n data[\"code\"] = this.code;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.mailContent)) {\n data[\"mailContent\"] = [];\n for (let item of this.mailContent)\n data[\"mailContent\"].push(item.toJSON());\n }\n if (Array.isArray(this.mailTemplateDescriptions)) {\n data[\"mailTemplateDescriptions\"] = [];\n for (let item of this.mailTemplateDescriptions)\n data[\"mailTemplateDescriptions\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IMailTemplate {\n mailTemplateId?: number;\n code?: EEmailCode;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n mailContent?: MailContent[] | undefined;\n mailTemplateDescriptions?: MailTemplateDescriptionsTranslation[] | undefined;\n}\n\nexport enum EEmailCode {\n AskMissingInformation = \"AskMissingInformation\",\n AwaitingNewFather = \"AwaitingNewFather\",\n BillToPay = \"BillToPay\",\n BillReminder = \"BillReminder\",\n BlankDnaTest = \"BlankDnaTest\",\n BroodRequestKitsReceived = \"BroodRequestKitsReceived\",\n BroodRequestLabWork = \"BroodRequestLabWork\",\n BroodRequestNewOwner = \"BroodRequestNewOwner\",\n BroodRequestNewResult = \"BroodRequestNewResult\",\n BroodRequestResultReminder = \"BroodRequestResultReminder\",\n CanineJudgeValidation = \"CanineJudgeValidation\",\n CharacteristicAccepted = \"CharacteristicAccepted\",\n CharacteristicRefused = \"CharacteristicRefused\",\n CloseToDogBirthDate = \"CloseToDogBirthDate\",\n CompetitionAuthorizationReceived = \"CompetitionAuthorizationReceived\",\n CompetitionCatalogReminder = \"CompetitionCatalogReminder\",\n CreateC4DAccount = \"CreateC4DAccount\",\n CreatePortalAccount = \"CreatePortalAccount\",\n ClosedAffix = \"ClosedAffix\",\n DysplasiaClubResults = \"DysplasiaClubResults\",\n FatherOwnerAgreement = \"FatherOwnerAgreement\",\n ForeignTitleAccepted = \"ForeignTitleAccepted\",\n ForeignTitleRefused = \"ForeignTitleRefused\",\n HealthTestLabWork = \"HealthTestLabWork\",\n ImportExecution = \"ImportExecution\",\n JudgesStateUpdate = \"JudgesStateUpdate\",\n MembershipRequestBeingEvaluated = \"MembershipRequestBeingEvaluated\",\n MembershipExecution = \"MembershipExecution\",\n MembershipRequestOtherStatusAccepted = \"MembershipRequestOtherStatusAccepted\",\n MembershipRequestRefused = \"MembershipRequestRefused\",\n NewAffixRequest = \"NewAffixRequest\",\n NewOwnersRshRequest = \"NewOwnersRshRequest\",\n NewOwnersTempRshRequest = \"NewOwnersTempRshRequest\",\n OldOwnersRshRequest = \"OldOwnersRshRequest\",\n OldOwnersTempRshRequest = \"OldOwnersTempRshRequest\",\n PaidBill = \"PaidBill\",\n PasswordReset = \"PasswordReset\",\n RefusedAffix = \"RefusedAffix\",\n RefusedXRay = \"RefusedXRay\",\n RequestCreated = \"RequestCreated\",\n RequestExecuted = \"RequestExecuted\",\n WorkAttestExecution = \"WorkAttestExecution\",\n WorkbookExecution = \"WorkbookExecution\",\n DogCertificate = \"DogCertificate\",\n CorrectedBill = \"CorrectedBill\",\n BroodRequestGestation = \"BroodRequestGestation\",\n MembershipRenewalBillToPay = \"MembershipRenewalBillToPay\",\n BroodRequestExecuted = \"BroodRequestExecuted\",\n DysplasiaAppeal = \"DysplasiaAppeal\",\n RSHExecution = \"RSHExecution\",\n TitleRequestExecution = \"TitleRequestExecution\",\n TitleRequestRefused = \"TitleRequestRefused\",\n PuppyKitReminder = \"PuppyKitReminder\",\n PuppyDnaReceived = \"PuppyDnaReceived\",\n DogBirthday = \"DogBirthday\",\n RequestCancelled = \"RequestCancelled\",\n PedigreeSampleEmail = \"PedigreeSampleEmail\",\n PedigreeRequestExecuted = \"PedigreeRequestExecuted\",\n CompetitionImportSuccess = \"CompetitionImportSuccess\",\n CompetitionImportFailure = \"CompetitionImportFailure\",\n HealthRequestLabWork = \"HealthRequestLabWork\",\n ExpatriationExecutionForeignDog = \"ExpatriationExecutionForeignDog\",\n ExpatriationExecutionBelgianDog = \"ExpatriationExecutionBelgianDog\",\n CreateNewMyDogEventForCompetition = \"CreateNewMyDogEventForCompetition\",\n NewCompetitionAvailableInMyDogEvent = \"NewCompetitionAvailableInMyDogEvent\",\n ParticipationRequest = \"ParticipationRequest\",\n RemindJudgeCV = \"RemindJudgeCV\",\n RemindJudgePicture = \"RemindJudgePicture\",\n ThankYouSelected = \"ThankYouSelected\",\n ThankYouNotSelected = \"ThankYouNotSelected\",\n CompetitionParticipantReminder = \"CompetitionParticipantReminder\",\n CompetitionSelectedParticipantsReminder = \"CompetitionSelectedParticipantsReminder\",\n CompetitionPracticalInformationsEmail = \"CompetitionPracticalInformationsEmail\",\n AfterCompetitionThankYouAndAttest = \"AfterCompetitionThankYouAndAttest\",\n FirstBillReminder = \"FirstBillReminder\",\n RingReadyForConfiguration = \"RingReadyForConfiguration\",\n}\n\nexport class MailTemplateDescriptionsTranslation implements IMailTemplateDescriptionsTranslation {\n mailTemplateDescriptionsTranslationId?: number;\n mailTemplateId?: number;\n text?: string | undefined;\n languageId?: number;\n language?: Language | undefined;\n mailTemplate?: MailTemplate | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IMailTemplateDescriptionsTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.mailTemplateDescriptionsTranslationId = _data[\"mailTemplateDescriptionsTranslationId\"];\n this.mailTemplateId = _data[\"mailTemplateId\"];\n this.text = _data[\"text\"];\n this.languageId = _data[\"languageId\"];\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.mailTemplate = _data[\"mailTemplate\"] ? MailTemplate.fromJS(_data[\"mailTemplate\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): MailTemplateDescriptionsTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new MailTemplateDescriptionsTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"mailTemplateDescriptionsTranslationId\"] = this.mailTemplateDescriptionsTranslationId;\n data[\"mailTemplateId\"] = this.mailTemplateId;\n data[\"text\"] = this.text;\n data[\"languageId\"] = this.languageId;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"mailTemplate\"] = this.mailTemplate ? this.mailTemplate.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IMailTemplateDescriptionsTranslation {\n mailTemplateDescriptionsTranslationId?: number;\n mailTemplateId?: number;\n text?: string | undefined;\n languageId?: number;\n language?: Language | undefined;\n mailTemplate?: MailTemplate | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class WebUser implements IWebUser {\n webUserId?: number;\n personId?: number;\n password?: string | undefined;\n mustChangePassword?: boolean;\n active?: boolean;\n lastConnectionDate?: Date | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: IWebUser) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.webUserId = _data[\"webUserId\"];\n this.personId = _data[\"personId\"];\n this.password = _data[\"password\"];\n this.mustChangePassword = _data[\"mustChangePassword\"];\n this.active = _data[\"active\"];\n this.lastConnectionDate = _data[\"lastConnectionDate\"] ? new Date(_data[\"lastConnectionDate\"].toString()) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): WebUser {\n data = typeof data === 'object' ? data : {};\n let result = new WebUser();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"webUserId\"] = this.webUserId;\n data[\"personId\"] = this.personId;\n data[\"password\"] = this.password;\n data[\"mustChangePassword\"] = this.mustChangePassword;\n data[\"active\"] = this.active;\n data[\"lastConnectionDate\"] = this.lastConnectionDate ? this.lastConnectionDate.toISOString() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface IWebUser {\n webUserId?: number;\n personId?: number;\n password?: string | undefined;\n mustChangePassword?: boolean;\n active?: boolean;\n lastConnectionDate?: Date | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n cegekaId?: string | undefined;\n}\n\nexport class ChartSignaturesHistory implements IChartSignaturesHistory {\n chartSignaturesHistoryId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n personId?: number;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IChartSignaturesHistory) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.chartSignaturesHistoryId = _data[\"chartSignaturesHistoryId\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.personId = _data[\"personId\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ChartSignaturesHistory {\n data = typeof data === 'object' ? data : {};\n let result = new ChartSignaturesHistory();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"chartSignaturesHistoryId\"] = this.chartSignaturesHistoryId;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"personId\"] = this.personId;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IChartSignaturesHistory {\n chartSignaturesHistoryId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n personId?: number;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class Member implements IMember {\n memberId?: number;\n personId?: number;\n memberNumber?: number;\n isCAMember?: boolean;\n isCEMember?: boolean;\n isCynologicCouncilMember?: boolean;\n isFCIDelegateMember?: boolean;\n isVDA?: boolean;\n isSupervisor?: boolean;\n isVolunteer?: boolean;\n isRenewalForced?: boolean | undefined;\n person?: Person | undefined;\n membershipsHistories?: MembershipHistory[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n cegekaId?: string | undefined;\n\n constructor(data?: IMember) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.memberId = _data[\"memberId\"];\n this.personId = _data[\"personId\"];\n this.memberNumber = _data[\"memberNumber\"];\n this.isCAMember = _data[\"isCAMember\"];\n this.isCEMember = _data[\"isCEMember\"];\n this.isCynologicCouncilMember = _data[\"isCynologicCouncilMember\"];\n this.isFCIDelegateMember = _data[\"isFCIDelegateMember\"];\n this.isVDA = _data[\"isVDA\"];\n this.isSupervisor = _data[\"isSupervisor\"];\n this.isVolunteer = _data[\"isVolunteer\"];\n this.isRenewalForced = _data[\"isRenewalForced\"];\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n if (Array.isArray(_data[\"membershipsHistories\"])) {\n this.membershipsHistories = [] as any;\n for (let item of _data[\"membershipsHistories\"])\n this.membershipsHistories!.push(MembershipHistory.fromJS(item));\n }\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): Member {\n data = typeof data === 'object' ? data : {};\n let result = new Member();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"memberId\"] = this.memberId;\n data[\"personId\"] = this.personId;\n data[\"memberNumber\"] = this.memberNumber;\n data[\"isCAMember\"] = this.isCAMember;\n data[\"isCEMember\"] = this.isCEMember;\n data[\"isCynologicCouncilMember\"] = this.isCynologicCouncilMember;\n data[\"isFCIDelegateMember\"] = this.isFCIDelegateMember;\n data[\"isVDA\"] = this.isVDA;\n data[\"isSupervisor\"] = this.isSupervisor;\n data[\"isVolunteer\"] = this.isVolunteer;\n data[\"isRenewalForced\"] = this.isRenewalForced;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n if (Array.isArray(this.membershipsHistories)) {\n data[\"membershipsHistories\"] = [];\n for (let item of this.membershipsHistories)\n data[\"membershipsHistories\"].push(item.toJSON());\n }\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface IMember {\n memberId?: number;\n personId?: number;\n memberNumber?: number;\n isCAMember?: boolean;\n isCEMember?: boolean;\n isCynologicCouncilMember?: boolean;\n isFCIDelegateMember?: boolean;\n isVDA?: boolean;\n isSupervisor?: boolean;\n isVolunteer?: boolean;\n isRenewalForced?: boolean | undefined;\n person?: Person | undefined;\n membershipsHistories?: MembershipHistory[] | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n cegekaId?: string | undefined;\n}\n\nexport class MembershipHistory implements IMembershipHistory {\n membershipHistoryId?: number;\n membershipId?: number;\n membershipTypeId?: number;\n membershipRequestId?: number | undefined;\n dateFrom?: Date | undefined;\n dateTo?: Date | undefined;\n endOfRenewalAsked?: boolean;\n membership?: Member | undefined;\n membershipType?: MembershipType | undefined;\n membershipRequest?: MembershipRequest | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IMembershipHistory) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipHistoryId = _data[\"membershipHistoryId\"];\n this.membershipId = _data[\"membershipId\"];\n this.membershipTypeId = _data[\"membershipTypeId\"];\n this.membershipRequestId = _data[\"membershipRequestId\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.endOfRenewalAsked = _data[\"endOfRenewalAsked\"];\n this.membership = _data[\"membership\"] ? Member.fromJS(_data[\"membership\"]) : undefined;\n this.membershipType = _data[\"membershipType\"] ? MembershipType.fromJS(_data[\"membershipType\"]) : undefined;\n this.membershipRequest = _data[\"membershipRequest\"] ? MembershipRequest.fromJS(_data[\"membershipRequest\"]) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): MembershipHistory {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipHistory();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipHistoryId\"] = this.membershipHistoryId;\n data[\"membershipId\"] = this.membershipId;\n data[\"membershipTypeId\"] = this.membershipTypeId;\n data[\"membershipRequestId\"] = this.membershipRequestId;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"endOfRenewalAsked\"] = this.endOfRenewalAsked;\n data[\"membership\"] = this.membership ? this.membership.toJSON() : undefined;\n data[\"membershipType\"] = this.membershipType ? this.membershipType.toJSON() : undefined;\n data[\"membershipRequest\"] = this.membershipRequest ? this.membershipRequest.toJSON() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IMembershipHistory {\n membershipHistoryId?: number;\n membershipId?: number;\n membershipTypeId?: number;\n membershipRequestId?: number | undefined;\n dateFrom?: Date | undefined;\n dateTo?: Date | undefined;\n endOfRenewalAsked?: boolean;\n membership?: Member | undefined;\n membershipType?: MembershipType | undefined;\n membershipRequest?: MembershipRequest | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class MembershipType implements IMembershipType {\n membershipTypeId?: number;\n code?: EMembershipType;\n membershipTypeTranslations?: MembershipTypeTranslation[] | undefined;\n membershipsHistories?: MembershipHistory[] | undefined;\n membershipRequestInitialTypes?: MembershipRequest[] | undefined;\n membershipRequestFinalTypes?: MembershipRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IMembershipType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipTypeId = _data[\"membershipTypeId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"membershipTypeTranslations\"])) {\n this.membershipTypeTranslations = [] as any;\n for (let item of _data[\"membershipTypeTranslations\"])\n this.membershipTypeTranslations!.push(MembershipTypeTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"membershipsHistories\"])) {\n this.membershipsHistories = [] as any;\n for (let item of _data[\"membershipsHistories\"])\n this.membershipsHistories!.push(MembershipHistory.fromJS(item));\n }\n if (Array.isArray(_data[\"membershipRequestInitialTypes\"])) {\n this.membershipRequestInitialTypes = [] as any;\n for (let item of _data[\"membershipRequestInitialTypes\"])\n this.membershipRequestInitialTypes!.push(MembershipRequest.fromJS(item));\n }\n if (Array.isArray(_data[\"membershipRequestFinalTypes\"])) {\n this.membershipRequestFinalTypes = [] as any;\n for (let item of _data[\"membershipRequestFinalTypes\"])\n this.membershipRequestFinalTypes!.push(MembershipRequest.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): MembershipType {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipTypeId\"] = this.membershipTypeId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.membershipTypeTranslations)) {\n data[\"membershipTypeTranslations\"] = [];\n for (let item of this.membershipTypeTranslations)\n data[\"membershipTypeTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.membershipsHistories)) {\n data[\"membershipsHistories\"] = [];\n for (let item of this.membershipsHistories)\n data[\"membershipsHistories\"].push(item.toJSON());\n }\n if (Array.isArray(this.membershipRequestInitialTypes)) {\n data[\"membershipRequestInitialTypes\"] = [];\n for (let item of this.membershipRequestInitialTypes)\n data[\"membershipRequestInitialTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.membershipRequestFinalTypes)) {\n data[\"membershipRequestFinalTypes\"] = [];\n for (let item of this.membershipRequestFinalTypes)\n data[\"membershipRequestFinalTypes\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IMembershipType {\n membershipTypeId?: number;\n code?: EMembershipType;\n membershipTypeTranslations?: MembershipTypeTranslation[] | undefined;\n membershipsHistories?: MembershipHistory[] | undefined;\n membershipRequestInitialTypes?: MembershipRequest[] | undefined;\n membershipRequestFinalTypes?: MembershipRequest[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport enum EMembershipType {\n Effective = \"Effective\",\n Protected = \"Protected\",\n Acceded = \"Acceded\",\n}\n\nexport class MembershipTypeTranslation implements IMembershipTypeTranslation {\n membershipTypeTranslationId?: number;\n membershipTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n membershipType?: MembershipType | undefined;\n language?: Language | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n\n constructor(data?: IMembershipTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipTypeTranslationId = _data[\"membershipTypeTranslationId\"];\n this.membershipTypeId = _data[\"membershipTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.membershipType = _data[\"membershipType\"] ? MembershipType.fromJS(_data[\"membershipType\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): MembershipTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipTypeTranslationId\"] = this.membershipTypeTranslationId;\n data[\"membershipTypeId\"] = this.membershipTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"membershipType\"] = this.membershipType ? this.membershipType.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IMembershipTypeTranslation {\n membershipTypeTranslationId?: number;\n membershipTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n membershipType?: MembershipType | undefined;\n language?: Language | undefined;\n createdBy?: string | undefined;\n createdOn?: Date;\n updatedBy?: string | undefined;\n updatedOn?: Date;\n}\n\nexport class MembershipRequest implements IMembershipRequest {\n membershipRequestId?: number;\n requestId?: number;\n membershipRequestDecisionId?: number | undefined;\n membershipInitialTypeId?: number;\n membershipFinalTypeId?: number | undefined;\n membershipRequestTypeId?: number;\n meetingDate?: Date | undefined;\n request?: Request | undefined;\n membershipRequestDecision?: MembershipRequestDecision | undefined;\n membershipRequestType?: MembershipRequestType | undefined;\n membershipInitialtype?: MembershipType | undefined;\n membershipFinalType?: MembershipType | undefined;\n membershipHistory?: MembershipHistory | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IMembershipRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipRequestId = _data[\"membershipRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.membershipRequestDecisionId = _data[\"membershipRequestDecisionId\"];\n this.membershipInitialTypeId = _data[\"membershipInitialTypeId\"];\n this.membershipFinalTypeId = _data[\"membershipFinalTypeId\"];\n this.membershipRequestTypeId = _data[\"membershipRequestTypeId\"];\n this.meetingDate = _data[\"meetingDate\"] ? new Date(_data[\"meetingDate\"].toString()) : undefined;\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n this.membershipRequestDecision = _data[\"membershipRequestDecision\"] ? MembershipRequestDecision.fromJS(_data[\"membershipRequestDecision\"]) : undefined;\n this.membershipRequestType = _data[\"membershipRequestType\"] ? MembershipRequestType.fromJS(_data[\"membershipRequestType\"]) : undefined;\n this.membershipInitialtype = _data[\"membershipInitialtype\"] ? MembershipType.fromJS(_data[\"membershipInitialtype\"]) : undefined;\n this.membershipFinalType = _data[\"membershipFinalType\"] ? MembershipType.fromJS(_data[\"membershipFinalType\"]) : undefined;\n this.membershipHistory = _data[\"membershipHistory\"] ? MembershipHistory.fromJS(_data[\"membershipHistory\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): MembershipRequest {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipRequestId\"] = this.membershipRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"membershipRequestDecisionId\"] = this.membershipRequestDecisionId;\n data[\"membershipInitialTypeId\"] = this.membershipInitialTypeId;\n data[\"membershipFinalTypeId\"] = this.membershipFinalTypeId;\n data[\"membershipRequestTypeId\"] = this.membershipRequestTypeId;\n data[\"meetingDate\"] = this.meetingDate ? this.meetingDate.toISOString() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"membershipRequestDecision\"] = this.membershipRequestDecision ? this.membershipRequestDecision.toJSON() : undefined;\n data[\"membershipRequestType\"] = this.membershipRequestType ? this.membershipRequestType.toJSON() : undefined;\n data[\"membershipInitialtype\"] = this.membershipInitialtype ? this.membershipInitialtype.toJSON() : undefined;\n data[\"membershipFinalType\"] = this.membershipFinalType ? this.membershipFinalType.toJSON() : undefined;\n data[\"membershipHistory\"] = this.membershipHistory ? this.membershipHistory.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IMembershipRequest {\n membershipRequestId?: number;\n requestId?: number;\n membershipRequestDecisionId?: number | undefined;\n membershipInitialTypeId?: number;\n membershipFinalTypeId?: number | undefined;\n membershipRequestTypeId?: number;\n meetingDate?: Date | undefined;\n request?: Request | undefined;\n membershipRequestDecision?: MembershipRequestDecision | undefined;\n membershipRequestType?: MembershipRequestType | undefined;\n membershipInitialtype?: MembershipType | undefined;\n membershipFinalType?: MembershipType | undefined;\n membershipHistory?: MembershipHistory | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class MembershipRequestDecision implements IMembershipRequestDecision {\n membershipRequestDecisionId?: number;\n code?: EMembershipRequestDecision;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n membershipRequestDecisionTranslations?: MembershipRequestDecisionTranslation[] | undefined;\n membershipRequests?: MembershipRequest[] | undefined;\n\n constructor(data?: IMembershipRequestDecision) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipRequestDecisionId = _data[\"membershipRequestDecisionId\"];\n this.code = _data[\"code\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"membershipRequestDecisionTranslations\"])) {\n this.membershipRequestDecisionTranslations = [] as any;\n for (let item of _data[\"membershipRequestDecisionTranslations\"])\n this.membershipRequestDecisionTranslations!.push(MembershipRequestDecisionTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"membershipRequests\"])) {\n this.membershipRequests = [] as any;\n for (let item of _data[\"membershipRequests\"])\n this.membershipRequests!.push(MembershipRequest.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): MembershipRequestDecision {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRequestDecision();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipRequestDecisionId\"] = this.membershipRequestDecisionId;\n data[\"code\"] = this.code;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.membershipRequestDecisionTranslations)) {\n data[\"membershipRequestDecisionTranslations\"] = [];\n for (let item of this.membershipRequestDecisionTranslations)\n data[\"membershipRequestDecisionTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.membershipRequests)) {\n data[\"membershipRequests\"] = [];\n for (let item of this.membershipRequests)\n data[\"membershipRequests\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IMembershipRequestDecision {\n membershipRequestDecisionId?: number;\n code?: EMembershipRequestDecision;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n membershipRequestDecisionTranslations?: MembershipRequestDecisionTranslation[] | undefined;\n membershipRequests?: MembershipRequest[] | undefined;\n}\n\nexport enum EMembershipRequestDecision {\n Accepted = \"Accepted\",\n Refused = \"Refused\",\n OtherType = \"OtherType\",\n}\n\nexport class MembershipRequestDecisionTranslation implements IMembershipRequestDecisionTranslation {\n membershipRequestDecisionTranslationId?: number;\n membershipRequestDecisionId?: number;\n languageId?: number;\n text?: string | undefined;\n membershipRequestDecision?: MembershipRequestDecision | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IMembershipRequestDecisionTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipRequestDecisionTranslationId = _data[\"membershipRequestDecisionTranslationId\"];\n this.membershipRequestDecisionId = _data[\"membershipRequestDecisionId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.membershipRequestDecision = _data[\"membershipRequestDecision\"] ? MembershipRequestDecision.fromJS(_data[\"membershipRequestDecision\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): MembershipRequestDecisionTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRequestDecisionTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipRequestDecisionTranslationId\"] = this.membershipRequestDecisionTranslationId;\n data[\"membershipRequestDecisionId\"] = this.membershipRequestDecisionId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"membershipRequestDecision\"] = this.membershipRequestDecision ? this.membershipRequestDecision.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IMembershipRequestDecisionTranslation {\n membershipRequestDecisionTranslationId?: number;\n membershipRequestDecisionId?: number;\n languageId?: number;\n text?: string | undefined;\n membershipRequestDecision?: MembershipRequestDecision | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class MembershipRequestType implements IMembershipRequestType {\n membershipRequestTypeId?: number;\n code?: EMembershipRequestType;\n membershipRequestTypeTranslations?: MembershipRequestTypeTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n membershipRequests?: MembershipRequest[] | undefined;\n\n constructor(data?: IMembershipRequestType) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipRequestTypeId = _data[\"membershipRequestTypeId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"membershipRequestTypeTranslations\"])) {\n this.membershipRequestTypeTranslations = [] as any;\n for (let item of _data[\"membershipRequestTypeTranslations\"])\n this.membershipRequestTypeTranslations!.push(MembershipRequestTypeTranslation.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"membershipRequests\"])) {\n this.membershipRequests = [] as any;\n for (let item of _data[\"membershipRequests\"])\n this.membershipRequests!.push(MembershipRequest.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): MembershipRequestType {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRequestType();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipRequestTypeId\"] = this.membershipRequestTypeId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.membershipRequestTypeTranslations)) {\n data[\"membershipRequestTypeTranslations\"] = [];\n for (let item of this.membershipRequestTypeTranslations)\n data[\"membershipRequestTypeTranslations\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.membershipRequests)) {\n data[\"membershipRequests\"] = [];\n for (let item of this.membershipRequests)\n data[\"membershipRequests\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IMembershipRequestType {\n membershipRequestTypeId?: number;\n code?: EMembershipRequestType;\n membershipRequestTypeTranslations?: MembershipRequestTypeTranslation[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n membershipRequests?: MembershipRequest[] | undefined;\n}\n\nexport enum EMembershipRequestType {\n NewMembership = \"NewMembership\",\n MembershipTypeChange = \"MembershipTypeChange\",\n Renewal = \"Renewal\",\n}\n\nexport class MembershipRequestTypeTranslation implements IMembershipRequestTypeTranslation {\n membershipRequestTypeTranslationId?: number;\n membershipRequestTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n membershipRequestType?: MembershipRequestType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IMembershipRequestTypeTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipRequestTypeTranslationId = _data[\"membershipRequestTypeTranslationId\"];\n this.membershipRequestTypeId = _data[\"membershipRequestTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.membershipRequestType = _data[\"membershipRequestType\"] ? MembershipRequestType.fromJS(_data[\"membershipRequestType\"]) : undefined;\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): MembershipRequestTypeTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRequestTypeTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipRequestTypeTranslationId\"] = this.membershipRequestTypeTranslationId;\n data[\"membershipRequestTypeId\"] = this.membershipRequestTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"membershipRequestType\"] = this.membershipRequestType ? this.membershipRequestType.toJSON() : undefined;\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IMembershipRequestTypeTranslation {\n membershipRequestTypeTranslationId?: number;\n membershipRequestTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n membershipRequestType?: MembershipRequestType | undefined;\n language?: Language | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class TransientOwnersKennelOwnershipChange implements ITransientOwnersKennelOwnershipChange {\n transientOwnersKennelOwnershipChangeId?: number;\n kennelOwnershipChangeRequestId?: number;\n personId?: number;\n kennelOwnershipChangeRequest?: KennelOwnershipChangeRequest | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ITransientOwnersKennelOwnershipChange) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.transientOwnersKennelOwnershipChangeId = _data[\"transientOwnersKennelOwnershipChangeId\"];\n this.kennelOwnershipChangeRequestId = _data[\"kennelOwnershipChangeRequestId\"];\n this.personId = _data[\"personId\"];\n this.kennelOwnershipChangeRequest = _data[\"kennelOwnershipChangeRequest\"] ? KennelOwnershipChangeRequest.fromJS(_data[\"kennelOwnershipChangeRequest\"]) : undefined;\n this.person = _data[\"person\"] ? Person.fromJS(_data[\"person\"]) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): TransientOwnersKennelOwnershipChange {\n data = typeof data === 'object' ? data : {};\n let result = new TransientOwnersKennelOwnershipChange();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transientOwnersKennelOwnershipChangeId\"] = this.transientOwnersKennelOwnershipChangeId;\n data[\"kennelOwnershipChangeRequestId\"] = this.kennelOwnershipChangeRequestId;\n data[\"personId\"] = this.personId;\n data[\"kennelOwnershipChangeRequest\"] = this.kennelOwnershipChangeRequest ? this.kennelOwnershipChangeRequest.toJSON() : undefined;\n data[\"person\"] = this.person ? this.person.toJSON() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ITransientOwnersKennelOwnershipChange {\n transientOwnersKennelOwnershipChangeId?: number;\n kennelOwnershipChangeRequestId?: number;\n personId?: number;\n kennelOwnershipChangeRequest?: KennelOwnershipChangeRequest | undefined;\n person?: Person | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class KennelOwnershipChangeRequest implements IKennelOwnershipChangeRequest {\n kennelOwnershipChangeRequestId?: number;\n requestId?: number;\n kennelId?: number;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n tries?: number;\n kennel?: Kennel | undefined;\n request?: Request | undefined;\n transientOwnersKennelOwnershipChanges?: TransientOwnersKennelOwnershipChange[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IKennelOwnershipChangeRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelOwnershipChangeRequestId = _data[\"kennelOwnershipChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.kennelId = _data[\"kennelId\"];\n this.exportDate = _data[\"exportDate\"] ? new Date(_data[\"exportDate\"].toString()) : undefined;\n this.exportForcedValue = _data[\"exportForcedValue\"];\n this.tries = _data[\"tries\"];\n this.kennel = _data[\"kennel\"] ? Kennel.fromJS(_data[\"kennel\"]) : undefined;\n this.request = _data[\"request\"] ? Request.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"transientOwnersKennelOwnershipChanges\"])) {\n this.transientOwnersKennelOwnershipChanges = [] as any;\n for (let item of _data[\"transientOwnersKennelOwnershipChanges\"])\n this.transientOwnersKennelOwnershipChanges!.push(TransientOwnersKennelOwnershipChange.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): KennelOwnershipChangeRequest {\n data = typeof data === 'object' ? data : {};\n let result = new KennelOwnershipChangeRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelOwnershipChangeRequestId\"] = this.kennelOwnershipChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"kennelId\"] = this.kennelId;\n data[\"exportDate\"] = this.exportDate ? this.exportDate.toISOString() : undefined;\n data[\"exportForcedValue\"] = this.exportForcedValue;\n data[\"tries\"] = this.tries;\n data[\"kennel\"] = this.kennel ? this.kennel.toJSON() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.transientOwnersKennelOwnershipChanges)) {\n data[\"transientOwnersKennelOwnershipChanges\"] = [];\n for (let item of this.transientOwnersKennelOwnershipChanges)\n data[\"transientOwnersKennelOwnershipChanges\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IKennelOwnershipChangeRequest {\n kennelOwnershipChangeRequestId?: number;\n requestId?: number;\n kennelId?: number;\n exportDate?: Date | undefined;\n exportForcedValue?: boolean | undefined;\n tries?: number;\n kennel?: Kennel | undefined;\n request?: Request | undefined;\n transientOwnersKennelOwnershipChanges?: TransientOwnersKennelOwnershipChange[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class BroodRequestSearch extends PaginatedSearch implements IBroodRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n requestDate?: DateSearch | undefined;\n numberOfPuppies?: NumericSearch | undefined;\n protrusionDate?: DateSearch | undefined;\n birthDate?: DateSearch | undefined;\n mother?: TextSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IBroodRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.numberOfPuppies = _data[\"numberOfPuppies\"] ? NumericSearch.fromJS(_data[\"numberOfPuppies\"]) : undefined;\n this.protrusionDate = _data[\"protrusionDate\"] ? DateSearch.fromJS(_data[\"protrusionDate\"]) : undefined;\n this.birthDate = _data[\"birthDate\"] ? DateSearch.fromJS(_data[\"birthDate\"]) : undefined;\n this.mother = _data[\"mother\"] ? TextSearch.fromJS(_data[\"mother\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BroodRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BroodRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"numberOfPuppies\"] = this.numberOfPuppies ? this.numberOfPuppies.toJSON() : undefined;\n data[\"protrusionDate\"] = this.protrusionDate ? this.protrusionDate.toJSON() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toJSON() : undefined;\n data[\"mother\"] = this.mother ? this.mother.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBroodRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n requestDate?: DateSearch | undefined;\n numberOfPuppies?: NumericSearch | undefined;\n protrusionDate?: DateSearch | undefined;\n birthDate?: DateSearch | undefined;\n mother?: TextSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class BroodRequestDto implements IBroodRequestDto {\n broodRequestId?: number;\n requestId?: number;\n motherId?: number;\n affix?: string | undefined;\n kennelId?: number | undefined;\n price?: number;\n userId?: number;\n labReference?: ELab;\n numberOfPuppiesConfirmed?: boolean;\n progenusQuickDelivery?: boolean;\n isRegisteredLetter?: boolean;\n request?: RequestDto | undefined;\n availablePuppiesCount?: number;\n otherAddress?: boolean;\n number?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n street?: string | undefined;\n billMotherGenealogyCompletion?: boolean;\n billFatherGenealogyCompletion?: boolean;\n definitiveSave?: boolean;\n numberOfPuppies?: number;\n protrusionDate?: Date;\n birthDate?: Date | undefined;\n babyDogPublication?: boolean;\n hasPuppies?: boolean;\n potentialFatherIds?: number[] | undefined;\n dogBroodRequestGetDto?: DogBroodRequestGetDto | undefined;\n\n constructor(data?: IBroodRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.broodRequestId = _data[\"broodRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.motherId = _data[\"motherId\"];\n this.affix = _data[\"affix\"];\n this.kennelId = _data[\"kennelId\"];\n this.price = _data[\"price\"];\n this.userId = _data[\"userId\"];\n this.labReference = _data[\"labReference\"];\n this.numberOfPuppiesConfirmed = _data[\"numberOfPuppiesConfirmed\"];\n this.progenusQuickDelivery = _data[\"progenusQuickDelivery\"];\n this.isRegisteredLetter = _data[\"isRegisteredLetter\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.availablePuppiesCount = _data[\"availablePuppiesCount\"];\n this.otherAddress = _data[\"otherAddress\"];\n this.number = _data[\"number\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.countryId = _data[\"countryId\"];\n this.street = _data[\"street\"];\n this.billMotherGenealogyCompletion = _data[\"billMotherGenealogyCompletion\"];\n this.billFatherGenealogyCompletion = _data[\"billFatherGenealogyCompletion\"];\n this.definitiveSave = _data[\"definitiveSave\"];\n this.numberOfPuppies = _data[\"numberOfPuppies\"];\n this.protrusionDate = _data[\"protrusionDate\"] ? new Date(_data[\"protrusionDate\"].toString()) : undefined;\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.babyDogPublication = _data[\"babyDogPublication\"];\n this.hasPuppies = _data[\"hasPuppies\"];\n if (Array.isArray(_data[\"potentialFatherIds\"])) {\n this.potentialFatherIds = [] as any;\n for (let item of _data[\"potentialFatherIds\"])\n this.potentialFatherIds!.push(item);\n }\n this.dogBroodRequestGetDto = _data[\"dogBroodRequestGetDto\"] ? DogBroodRequestGetDto.fromJS(_data[\"dogBroodRequestGetDto\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BroodRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new BroodRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"motherId\"] = this.motherId;\n data[\"affix\"] = this.affix;\n data[\"kennelId\"] = this.kennelId;\n data[\"price\"] = this.price;\n data[\"userId\"] = this.userId;\n data[\"labReference\"] = this.labReference;\n data[\"numberOfPuppiesConfirmed\"] = this.numberOfPuppiesConfirmed;\n data[\"progenusQuickDelivery\"] = this.progenusQuickDelivery;\n data[\"isRegisteredLetter\"] = this.isRegisteredLetter;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"availablePuppiesCount\"] = this.availablePuppiesCount;\n data[\"otherAddress\"] = this.otherAddress;\n data[\"number\"] = this.number;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"countryId\"] = this.countryId;\n data[\"street\"] = this.street;\n data[\"billMotherGenealogyCompletion\"] = this.billMotherGenealogyCompletion;\n data[\"billFatherGenealogyCompletion\"] = this.billFatherGenealogyCompletion;\n data[\"definitiveSave\"] = this.definitiveSave;\n data[\"numberOfPuppies\"] = this.numberOfPuppies;\n data[\"protrusionDate\"] = this.protrusionDate ? this.protrusionDate.toISOString() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"babyDogPublication\"] = this.babyDogPublication;\n data[\"hasPuppies\"] = this.hasPuppies;\n if (Array.isArray(this.potentialFatherIds)) {\n data[\"potentialFatherIds\"] = [];\n for (let item of this.potentialFatherIds)\n data[\"potentialFatherIds\"].push(item);\n }\n data[\"dogBroodRequestGetDto\"] = this.dogBroodRequestGetDto ? this.dogBroodRequestGetDto.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IBroodRequestDto {\n broodRequestId?: number;\n requestId?: number;\n motherId?: number;\n affix?: string | undefined;\n kennelId?: number | undefined;\n price?: number;\n userId?: number;\n labReference?: ELab;\n numberOfPuppiesConfirmed?: boolean;\n progenusQuickDelivery?: boolean;\n isRegisteredLetter?: boolean;\n request?: RequestDto | undefined;\n availablePuppiesCount?: number;\n otherAddress?: boolean;\n number?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n street?: string | undefined;\n billMotherGenealogyCompletion?: boolean;\n billFatherGenealogyCompletion?: boolean;\n definitiveSave?: boolean;\n numberOfPuppies?: number;\n protrusionDate?: Date;\n birthDate?: Date | undefined;\n babyDogPublication?: boolean;\n hasPuppies?: boolean;\n potentialFatherIds?: number[] | undefined;\n dogBroodRequestGetDto?: DogBroodRequestGetDto | undefined;\n}\n\nexport class DogBroodRequestGetDto implements IDogBroodRequestGetDto {\n motherBreedId?: number;\n birthDate?: Date | undefined;\n babyDogPublication?: boolean;\n currentLetterYear?: string;\n puppies?: DogBroodRequestsTransientDto[] | undefined;\n\n constructor(data?: IDogBroodRequestGetDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.motherBreedId = _data[\"motherBreedId\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.babyDogPublication = _data[\"babyDogPublication\"];\n this.currentLetterYear = _data[\"currentLetterYear\"];\n if (Array.isArray(_data[\"puppies\"])) {\n this.puppies = [] as any;\n for (let item of _data[\"puppies\"])\n this.puppies!.push(DogBroodRequestsTransientDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DogBroodRequestGetDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogBroodRequestGetDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"motherBreedId\"] = this.motherBreedId;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"babyDogPublication\"] = this.babyDogPublication;\n data[\"currentLetterYear\"] = this.currentLetterYear;\n if (Array.isArray(this.puppies)) {\n data[\"puppies\"] = [];\n for (let item of this.puppies)\n data[\"puppies\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDogBroodRequestGetDto {\n motherBreedId?: number;\n birthDate?: Date | undefined;\n babyDogPublication?: boolean;\n currentLetterYear?: string;\n puppies?: DogBroodRequestsTransientDto[] | undefined;\n}\n\nexport class DogBroodRequestsTransientDto implements IDogBroodRequestsTransientDto {\n dogBroodRequestsTransientId?: number;\n deceased?: boolean;\n labStatus?: ELabStatus;\n broodRequestId?: number;\n kennelId?: number | undefined;\n kennelType?: EKennelType | undefined;\n kennelName?: string | undefined;\n breedId?: number;\n colorId?: number | undefined;\n pedigreeId?: number | undefined;\n chipNumber?: string | undefined;\n name?: string | undefined;\n pedigreeNumber?: string | undefined;\n countryPedigreePrefixId?: number | undefined;\n isAlsh?: boolean;\n fatherId?: number | undefined;\n fatherName?: string | undefined;\n sex?: string | undefined;\n puppyOwnerEmail?: string | undefined;\n available?: boolean;\n analysisDoneOn?: Date | undefined;\n lastLabStatusUpdateDoneOn?: Date | undefined;\n certificateReceived?: boolean;\n labStatusTranslation?: string | undefined;\n labStatusDescriptionTranslation?: string | undefined;\n dockedTail?: boolean;\n updatedOn?: Date;\n owners?: DogBroodRequestTransientOwnerGridDto[] | undefined;\n completeName?: string | undefined;\n correspondingDogId?: number | undefined;\n isCorrespondingDogComplete?: boolean | undefined;\n\n constructor(data?: IDogBroodRequestsTransientDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogBroodRequestsTransientId = _data[\"dogBroodRequestsTransientId\"];\n this.deceased = _data[\"deceased\"];\n this.labStatus = _data[\"labStatus\"];\n this.broodRequestId = _data[\"broodRequestId\"];\n this.kennelId = _data[\"kennelId\"];\n this.kennelType = _data[\"kennelType\"];\n this.kennelName = _data[\"kennelName\"];\n this.breedId = _data[\"breedId\"];\n this.colorId = _data[\"colorId\"];\n this.pedigreeId = _data[\"pedigreeId\"];\n this.chipNumber = _data[\"chipNumber\"];\n this.name = _data[\"name\"];\n this.pedigreeNumber = _data[\"pedigreeNumber\"];\n this.countryPedigreePrefixId = _data[\"countryPedigreePrefixId\"];\n this.isAlsh = _data[\"isAlsh\"];\n this.fatherId = _data[\"fatherId\"];\n this.fatherName = _data[\"fatherName\"];\n this.sex = _data[\"sex\"];\n this.puppyOwnerEmail = _data[\"puppyOwnerEmail\"];\n this.available = _data[\"available\"];\n this.analysisDoneOn = _data[\"analysisDoneOn\"] ? new Date(_data[\"analysisDoneOn\"].toString()) : undefined;\n this.lastLabStatusUpdateDoneOn = _data[\"lastLabStatusUpdateDoneOn\"] ? new Date(_data[\"lastLabStatusUpdateDoneOn\"].toString()) : undefined;\n this.certificateReceived = _data[\"certificateReceived\"];\n this.labStatusTranslation = _data[\"labStatusTranslation\"];\n this.labStatusDescriptionTranslation = _data[\"labStatusDescriptionTranslation\"];\n this.dockedTail = _data[\"dockedTail\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n if (Array.isArray(_data[\"owners\"])) {\n this.owners = [] as any;\n for (let item of _data[\"owners\"])\n this.owners!.push(DogBroodRequestTransientOwnerGridDto.fromJS(item));\n }\n this.completeName = _data[\"completeName\"];\n this.correspondingDogId = _data[\"correspondingDogId\"];\n this.isCorrespondingDogComplete = _data[\"isCorrespondingDogComplete\"];\n }\n }\n\n static fromJS(data: any): DogBroodRequestsTransientDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogBroodRequestsTransientDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogBroodRequestsTransientId\"] = this.dogBroodRequestsTransientId;\n data[\"deceased\"] = this.deceased;\n data[\"labStatus\"] = this.labStatus;\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"kennelId\"] = this.kennelId;\n data[\"kennelType\"] = this.kennelType;\n data[\"kennelName\"] = this.kennelName;\n data[\"breedId\"] = this.breedId;\n data[\"colorId\"] = this.colorId;\n data[\"pedigreeId\"] = this.pedigreeId;\n data[\"chipNumber\"] = this.chipNumber;\n data[\"name\"] = this.name;\n data[\"pedigreeNumber\"] = this.pedigreeNumber;\n data[\"countryPedigreePrefixId\"] = this.countryPedigreePrefixId;\n data[\"isAlsh\"] = this.isAlsh;\n data[\"fatherId\"] = this.fatherId;\n data[\"fatherName\"] = this.fatherName;\n data[\"sex\"] = this.sex;\n data[\"puppyOwnerEmail\"] = this.puppyOwnerEmail;\n data[\"available\"] = this.available;\n data[\"analysisDoneOn\"] = this.analysisDoneOn ? this.analysisDoneOn.toISOString() : undefined;\n data[\"lastLabStatusUpdateDoneOn\"] = this.lastLabStatusUpdateDoneOn ? this.lastLabStatusUpdateDoneOn.toISOString() : undefined;\n data[\"certificateReceived\"] = this.certificateReceived;\n data[\"labStatusTranslation\"] = this.labStatusTranslation;\n data[\"labStatusDescriptionTranslation\"] = this.labStatusDescriptionTranslation;\n data[\"dockedTail\"] = this.dockedTail;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n if (Array.isArray(this.owners)) {\n data[\"owners\"] = [];\n for (let item of this.owners)\n data[\"owners\"].push(item.toJSON());\n }\n data[\"completeName\"] = this.completeName;\n data[\"correspondingDogId\"] = this.correspondingDogId;\n data[\"isCorrespondingDogComplete\"] = this.isCorrespondingDogComplete;\n return data;\n }\n}\n\nexport interface IDogBroodRequestsTransientDto {\n dogBroodRequestsTransientId?: number;\n deceased?: boolean;\n labStatus?: ELabStatus;\n broodRequestId?: number;\n kennelId?: number | undefined;\n kennelType?: EKennelType | undefined;\n kennelName?: string | undefined;\n breedId?: number;\n colorId?: number | undefined;\n pedigreeId?: number | undefined;\n chipNumber?: string | undefined;\n name?: string | undefined;\n pedigreeNumber?: string | undefined;\n countryPedigreePrefixId?: number | undefined;\n isAlsh?: boolean;\n fatherId?: number | undefined;\n fatherName?: string | undefined;\n sex?: string | undefined;\n puppyOwnerEmail?: string | undefined;\n available?: boolean;\n analysisDoneOn?: Date | undefined;\n lastLabStatusUpdateDoneOn?: Date | undefined;\n certificateReceived?: boolean;\n labStatusTranslation?: string | undefined;\n labStatusDescriptionTranslation?: string | undefined;\n dockedTail?: boolean;\n updatedOn?: Date;\n owners?: DogBroodRequestTransientOwnerGridDto[] | undefined;\n completeName?: string | undefined;\n correspondingDogId?: number | undefined;\n isCorrespondingDogComplete?: boolean | undefined;\n}\n\nexport class DogBroodRequestTransientOwnerGridDto implements IDogBroodRequestTransientOwnerGridDto {\n personId?: number;\n computedName?: string | undefined;\n email?: string | undefined;\n address?: string | undefined;\n\n constructor(data?: IDogBroodRequestTransientOwnerGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.computedName = _data[\"computedName\"];\n this.email = _data[\"email\"];\n this.address = _data[\"address\"];\n }\n }\n\n static fromJS(data: any): DogBroodRequestTransientOwnerGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogBroodRequestTransientOwnerGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"computedName\"] = this.computedName;\n data[\"email\"] = this.email;\n data[\"address\"] = this.address;\n return data;\n }\n}\n\nexport interface IDogBroodRequestTransientOwnerGridDto {\n personId?: number;\n computedName?: string | undefined;\n email?: string | undefined;\n address?: string | undefined;\n}\n\nexport class DrupalBroodRequestDto implements IDrupalBroodRequestDto {\n broodRequestId?: number;\n breeder?: PersonDto | undefined;\n mother?: DogDto | undefined;\n birthDate?: Date;\n numberOfPuppies?: number;\n price?: number;\n fathers?: DogDto[] | undefined;\n puppies?: DogBroodRequestsTransientDto[] | undefined;\n otherAddress?: boolean;\n number?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n street?: string | undefined;\n definitiveSave?: boolean;\n\n constructor(data?: IDrupalBroodRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.broodRequestId = _data[\"broodRequestId\"];\n this.breeder = _data[\"breeder\"] ? PersonDto.fromJS(_data[\"breeder\"]) : undefined;\n this.mother = _data[\"mother\"] ? DogDto.fromJS(_data[\"mother\"]) : undefined;\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.numberOfPuppies = _data[\"numberOfPuppies\"];\n this.price = _data[\"price\"];\n if (Array.isArray(_data[\"fathers\"])) {\n this.fathers = [] as any;\n for (let item of _data[\"fathers\"])\n this.fathers!.push(DogDto.fromJS(item));\n }\n if (Array.isArray(_data[\"puppies\"])) {\n this.puppies = [] as any;\n for (let item of _data[\"puppies\"])\n this.puppies!.push(DogBroodRequestsTransientDto.fromJS(item));\n }\n this.otherAddress = _data[\"otherAddress\"];\n this.number = _data[\"number\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.countryId = _data[\"countryId\"];\n this.street = _data[\"street\"];\n this.definitiveSave = _data[\"definitiveSave\"];\n }\n }\n\n static fromJS(data: any): DrupalBroodRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalBroodRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"breeder\"] = this.breeder ? this.breeder.toJSON() : undefined;\n data[\"mother\"] = this.mother ? this.mother.toJSON() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"numberOfPuppies\"] = this.numberOfPuppies;\n data[\"price\"] = this.price;\n if (Array.isArray(this.fathers)) {\n data[\"fathers\"] = [];\n for (let item of this.fathers)\n data[\"fathers\"].push(item.toJSON());\n }\n if (Array.isArray(this.puppies)) {\n data[\"puppies\"] = [];\n for (let item of this.puppies)\n data[\"puppies\"].push(item.toJSON());\n }\n data[\"otherAddress\"] = this.otherAddress;\n data[\"number\"] = this.number;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"countryId\"] = this.countryId;\n data[\"street\"] = this.street;\n data[\"definitiveSave\"] = this.definitiveSave;\n return data;\n }\n}\n\nexport interface IDrupalBroodRequestDto {\n broodRequestId?: number;\n breeder?: PersonDto | undefined;\n mother?: DogDto | undefined;\n birthDate?: Date;\n numberOfPuppies?: number;\n price?: number;\n fathers?: DogDto[] | undefined;\n puppies?: DogBroodRequestsTransientDto[] | undefined;\n otherAddress?: boolean;\n number?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n street?: string | undefined;\n definitiveSave?: boolean;\n}\n\nexport class PersonDto implements IPersonDto {\n personId?: number;\n personHonorificId?: number | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n languageId?: number;\n computedName?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n hkNumber?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n country?: string | undefined;\n remark?: string | undefined;\n email?: string | undefined;\n bannedFrom?: Date | undefined;\n bannedTo?: Date | undefined;\n isBadPayer?: boolean;\n deathDate?: Date | undefined;\n birthDate?: Date | undefined;\n bcIdentifier?: string | undefined;\n societyName?: string | undefined;\n vatNumber?: string | undefined;\n bcLanguageCode?: string | undefined;\n countryIso?: string | undefined;\n address?: string | undefined;\n kennelId?: number | undefined;\n kennelName?: string | undefined;\n sharepointUri?: string | undefined;\n isKnownPerson?: boolean;\n\n constructor(data?: IPersonDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.personHonorificId = _data[\"personHonorificId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.languageId = _data[\"languageId\"];\n this.computedName = _data[\"computedName\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.hkNumber = _data[\"hkNumber\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.countryId = _data[\"countryId\"];\n this.country = _data[\"country\"];\n this.remark = _data[\"remark\"];\n this.email = _data[\"email\"];\n this.bannedFrom = _data[\"bannedFrom\"] ? new Date(_data[\"bannedFrom\"].toString()) : undefined;\n this.bannedTo = _data[\"bannedTo\"] ? new Date(_data[\"bannedTo\"].toString()) : undefined;\n this.isBadPayer = _data[\"isBadPayer\"];\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.bcIdentifier = _data[\"bcIdentifier\"];\n this.societyName = _data[\"societyName\"];\n this.vatNumber = _data[\"vatNumber\"];\n this.bcLanguageCode = _data[\"bcLanguageCode\"];\n this.countryIso = _data[\"countryIso\"];\n this.address = _data[\"address\"];\n this.kennelId = _data[\"kennelId\"];\n this.kennelName = _data[\"kennelName\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.isKnownPerson = _data[\"isKnownPerson\"];\n }\n }\n\n static fromJS(data: any): PersonDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"personHonorificId\"] = this.personHonorificId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"languageId\"] = this.languageId;\n data[\"computedName\"] = this.computedName;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"hkNumber\"] = this.hkNumber;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"countryId\"] = this.countryId;\n data[\"country\"] = this.country;\n data[\"remark\"] = this.remark;\n data[\"email\"] = this.email;\n data[\"bannedFrom\"] = this.bannedFrom ? this.bannedFrom.toISOString() : undefined;\n data[\"bannedTo\"] = this.bannedTo ? this.bannedTo.toISOString() : undefined;\n data[\"isBadPayer\"] = this.isBadPayer;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"bcIdentifier\"] = this.bcIdentifier;\n data[\"societyName\"] = this.societyName;\n data[\"vatNumber\"] = this.vatNumber;\n data[\"bcLanguageCode\"] = this.bcLanguageCode;\n data[\"countryIso\"] = this.countryIso;\n data[\"address\"] = this.address;\n data[\"kennelId\"] = this.kennelId;\n data[\"kennelName\"] = this.kennelName;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"isKnownPerson\"] = this.isKnownPerson;\n return data;\n }\n}\n\nexport interface IPersonDto {\n personId?: number;\n personHonorificId?: number | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n languageId?: number;\n computedName?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n hkNumber?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n country?: string | undefined;\n remark?: string | undefined;\n email?: string | undefined;\n bannedFrom?: Date | undefined;\n bannedTo?: Date | undefined;\n isBadPayer?: boolean;\n deathDate?: Date | undefined;\n birthDate?: Date | undefined;\n bcIdentifier?: string | undefined;\n societyName?: string | undefined;\n vatNumber?: string | undefined;\n bcLanguageCode?: string | undefined;\n countryIso?: string | undefined;\n address?: string | undefined;\n kennelId?: number | undefined;\n kennelName?: string | undefined;\n sharepointUri?: string | undefined;\n isKnownPerson?: boolean;\n}\n\nexport class DogDto implements IDogDto {\n dogId?: number;\n firstName?: string | undefined;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n unknownMother?: boolean;\n unknownFather?: boolean;\n motherDogId?: number | undefined;\n fatherDogId?: number | undefined;\n kennelId?: number | undefined;\n breedId?: number;\n colorId?: number | undefined;\n color?: string | undefined;\n dogTypeId?: number;\n sex?: EDogSex;\n remark?: string | undefined;\n sharepointUri?: string | undefined;\n countryId?: number | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n countryPedigreePrefixId?: number | undefined;\n dockedTail?: boolean;\n awaitingValidation?: boolean;\n receivedDna?: boolean;\n pedigreeNumber?: string | undefined;\n internalNumber?: string | undefined;\n as400Pedigree?: string | undefined;\n pedigree?: string | undefined;\n socialBehaviour?: boolean;\n breedingAuthorized?: boolean;\n numberOfImportTries?: number;\n workCertification?: string | undefined;\n dogName?: string | undefined;\n dogTypeAuthorized?: boolean;\n dogType?: string | undefined;\n tatoo?: string | undefined;\n breedName?: string | undefined;\n isFromEliteBreeder?: boolean;\n kennel?: Kennel | undefined;\n chipNumber?: string | undefined;\n secondChipNumber?: string | undefined;\n as400Titles?: string | undefined;\n isFci?: boolean;\n\n constructor(data?: IDogDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.firstName = _data[\"firstName\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n this.unknownMother = _data[\"unknownMother\"];\n this.unknownFather = _data[\"unknownFather\"];\n this.motherDogId = _data[\"motherDogId\"];\n this.fatherDogId = _data[\"fatherDogId\"];\n this.kennelId = _data[\"kennelId\"];\n this.breedId = _data[\"breedId\"];\n this.colorId = _data[\"colorId\"];\n this.color = _data[\"color\"];\n this.dogTypeId = _data[\"dogTypeId\"];\n this.sex = _data[\"sex\"];\n this.remark = _data[\"remark\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.countryId = _data[\"countryId\"];\n this.exclusionReason = _data[\"exclusionReason\"];\n this.exclusionStartDate = _data[\"exclusionStartDate\"] ? new Date(_data[\"exclusionStartDate\"].toString()) : undefined;\n this.exclusionEndDate = _data[\"exclusionEndDate\"] ? new Date(_data[\"exclusionEndDate\"].toString()) : undefined;\n this.countryPedigreePrefixId = _data[\"countryPedigreePrefixId\"];\n this.dockedTail = _data[\"dockedTail\"];\n this.awaitingValidation = _data[\"awaitingValidation\"];\n this.receivedDna = _data[\"receivedDna\"];\n this.pedigreeNumber = _data[\"pedigreeNumber\"];\n this.internalNumber = _data[\"internalNumber\"];\n this.as400Pedigree = _data[\"as400Pedigree\"];\n this.pedigree = _data[\"pedigree\"];\n this.socialBehaviour = _data[\"socialBehaviour\"];\n this.breedingAuthorized = _data[\"breedingAuthorized\"];\n this.numberOfImportTries = _data[\"numberOfImportTries\"];\n this.workCertification = _data[\"workCertification\"];\n this.dogName = _data[\"dogName\"];\n this.dogTypeAuthorized = _data[\"dogTypeAuthorized\"];\n this.dogType = _data[\"dogType\"];\n this.tatoo = _data[\"tatoo\"];\n this.breedName = _data[\"breedName\"];\n this.isFromEliteBreeder = _data[\"isFromEliteBreeder\"];\n this.kennel = _data[\"kennel\"] ? Kennel.fromJS(_data[\"kennel\"]) : undefined;\n this.chipNumber = _data[\"chipNumber\"];\n this.secondChipNumber = _data[\"secondChipNumber\"];\n this.as400Titles = _data[\"as400Titles\"];\n this.isFci = _data[\"isFci\"];\n }\n }\n\n static fromJS(data: any): DogDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"firstName\"] = this.firstName;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n data[\"unknownMother\"] = this.unknownMother;\n data[\"unknownFather\"] = this.unknownFather;\n data[\"motherDogId\"] = this.motherDogId;\n data[\"fatherDogId\"] = this.fatherDogId;\n data[\"kennelId\"] = this.kennelId;\n data[\"breedId\"] = this.breedId;\n data[\"colorId\"] = this.colorId;\n data[\"color\"] = this.color;\n data[\"dogTypeId\"] = this.dogTypeId;\n data[\"sex\"] = this.sex;\n data[\"remark\"] = this.remark;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"countryId\"] = this.countryId;\n data[\"exclusionReason\"] = this.exclusionReason;\n data[\"exclusionStartDate\"] = this.exclusionStartDate ? this.exclusionStartDate.toISOString() : undefined;\n data[\"exclusionEndDate\"] = this.exclusionEndDate ? this.exclusionEndDate.toISOString() : undefined;\n data[\"countryPedigreePrefixId\"] = this.countryPedigreePrefixId;\n data[\"dockedTail\"] = this.dockedTail;\n data[\"awaitingValidation\"] = this.awaitingValidation;\n data[\"receivedDna\"] = this.receivedDna;\n data[\"pedigreeNumber\"] = this.pedigreeNumber;\n data[\"internalNumber\"] = this.internalNumber;\n data[\"as400Pedigree\"] = this.as400Pedigree;\n data[\"pedigree\"] = this.pedigree;\n data[\"socialBehaviour\"] = this.socialBehaviour;\n data[\"breedingAuthorized\"] = this.breedingAuthorized;\n data[\"numberOfImportTries\"] = this.numberOfImportTries;\n data[\"workCertification\"] = this.workCertification;\n data[\"dogName\"] = this.dogName;\n data[\"dogTypeAuthorized\"] = this.dogTypeAuthorized;\n data[\"dogType\"] = this.dogType;\n data[\"tatoo\"] = this.tatoo;\n data[\"breedName\"] = this.breedName;\n data[\"isFromEliteBreeder\"] = this.isFromEliteBreeder;\n data[\"kennel\"] = this.kennel ? this.kennel.toJSON() : undefined;\n data[\"chipNumber\"] = this.chipNumber;\n data[\"secondChipNumber\"] = this.secondChipNumber;\n data[\"as400Titles\"] = this.as400Titles;\n data[\"isFci\"] = this.isFci;\n return data;\n }\n}\n\nexport interface IDogDto {\n dogId?: number;\n firstName?: string | undefined;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n unknownMother?: boolean;\n unknownFather?: boolean;\n motherDogId?: number | undefined;\n fatherDogId?: number | undefined;\n kennelId?: number | undefined;\n breedId?: number;\n colorId?: number | undefined;\n color?: string | undefined;\n dogTypeId?: number;\n sex?: EDogSex;\n remark?: string | undefined;\n sharepointUri?: string | undefined;\n countryId?: number | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n countryPedigreePrefixId?: number | undefined;\n dockedTail?: boolean;\n awaitingValidation?: boolean;\n receivedDna?: boolean;\n pedigreeNumber?: string | undefined;\n internalNumber?: string | undefined;\n as400Pedigree?: string | undefined;\n pedigree?: string | undefined;\n socialBehaviour?: boolean;\n breedingAuthorized?: boolean;\n numberOfImportTries?: number;\n workCertification?: string | undefined;\n dogName?: string | undefined;\n dogTypeAuthorized?: boolean;\n dogType?: string | undefined;\n tatoo?: string | undefined;\n breedName?: string | undefined;\n isFromEliteBreeder?: boolean;\n kennel?: Kennel | undefined;\n chipNumber?: string | undefined;\n secondChipNumber?: string | undefined;\n as400Titles?: string | undefined;\n isFci?: boolean;\n}\n\nexport class DogAs400ConditionDto implements IDogAs400ConditionDto {\n dogId?: number;\n computedName?: string | undefined;\n motherDogId?: number | undefined;\n fatherDogId?: number | undefined;\n as400Titles?: string | undefined;\n\n constructor(data?: IDogAs400ConditionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.computedName = _data[\"computedName\"];\n this.motherDogId = _data[\"motherDogId\"];\n this.fatherDogId = _data[\"fatherDogId\"];\n this.as400Titles = _data[\"as400Titles\"];\n }\n }\n\n static fromJS(data: any): DogAs400ConditionDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogAs400ConditionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"computedName\"] = this.computedName;\n data[\"motherDogId\"] = this.motherDogId;\n data[\"fatherDogId\"] = this.fatherDogId;\n data[\"as400Titles\"] = this.as400Titles;\n return data;\n }\n}\n\nexport interface IDogAs400ConditionDto {\n dogId?: number;\n computedName?: string | undefined;\n motherDogId?: number | undefined;\n fatherDogId?: number | undefined;\n as400Titles?: string | undefined;\n}\n\nexport class FileDto implements IFileDto {\n fileName?: string | undefined;\n fileBytes?: string | undefined;\n extension?: string | undefined;\n nameWithoutExtension?: string | undefined;\n\n constructor(data?: IFileDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileName = _data[\"fileName\"];\n this.fileBytes = _data[\"fileBytes\"];\n this.extension = _data[\"extension\"];\n this.nameWithoutExtension = _data[\"nameWithoutExtension\"];\n }\n }\n\n static fromJS(data: any): FileDto {\n data = typeof data === 'object' ? data : {};\n let result = new FileDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileName\"] = this.fileName;\n data[\"fileBytes\"] = this.fileBytes;\n data[\"extension\"] = this.extension;\n data[\"nameWithoutExtension\"] = this.nameWithoutExtension;\n return data;\n }\n}\n\nexport interface IFileDto {\n fileName?: string | undefined;\n fileBytes?: string | undefined;\n extension?: string | undefined;\n nameWithoutExtension?: string | undefined;\n}\n\nexport class BroodRequesReportDetailDto implements IBroodRequesReportDetailDto {\n dateFrom?: Date;\n dateTo?: Date;\n breedId?: number | undefined;\n\n constructor(data?: IBroodRequesReportDetailDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.breedId = _data[\"breedId\"];\n }\n }\n\n static fromJS(data: any): BroodRequesReportDetailDto {\n data = typeof data === 'object' ? data : {};\n let result = new BroodRequesReportDetailDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"breedId\"] = this.breedId;\n return data;\n }\n}\n\nexport interface IBroodRequesReportDetailDto {\n dateFrom?: Date;\n dateTo?: Date;\n breedId?: number | undefined;\n}\n\nexport class BabyDogPublicationDto implements IBabyDogPublicationDto {\n breederComputedName?: string | undefined;\n breederCity?: string | undefined;\n availablePuppies?: number;\n birthDate?: Date;\n price?: number;\n shouldGetPictures?: boolean;\n puppyPicture1ShpDriveItemId?: string | undefined;\n puppyPicture2ShpDriveItemId?: string | undefined;\n puppyPicture3ShpDriveItemId?: string | undefined;\n sharepointUri?: string | undefined;\n requestId?: number;\n breederPhoneNumber?: string | undefined;\n breederMobileNumber?: string | undefined;\n breederEmail?: string | undefined;\n\n constructor(data?: IBabyDogPublicationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breederComputedName = _data[\"breederComputedName\"];\n this.breederCity = _data[\"breederCity\"];\n this.availablePuppies = _data[\"availablePuppies\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.price = _data[\"price\"];\n this.shouldGetPictures = _data[\"shouldGetPictures\"];\n this.puppyPicture1ShpDriveItemId = _data[\"puppyPicture1ShpDriveItemId\"];\n this.puppyPicture2ShpDriveItemId = _data[\"puppyPicture2ShpDriveItemId\"];\n this.puppyPicture3ShpDriveItemId = _data[\"puppyPicture3ShpDriveItemId\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.requestId = _data[\"requestId\"];\n this.breederPhoneNumber = _data[\"breederPhoneNumber\"];\n this.breederMobileNumber = _data[\"breederMobileNumber\"];\n this.breederEmail = _data[\"breederEmail\"];\n }\n }\n\n static fromJS(data: any): BabyDogPublicationDto {\n data = typeof data === 'object' ? data : {};\n let result = new BabyDogPublicationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breederComputedName\"] = this.breederComputedName;\n data[\"breederCity\"] = this.breederCity;\n data[\"availablePuppies\"] = this.availablePuppies;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"price\"] = this.price;\n data[\"shouldGetPictures\"] = this.shouldGetPictures;\n data[\"puppyPicture1ShpDriveItemId\"] = this.puppyPicture1ShpDriveItemId;\n data[\"puppyPicture2ShpDriveItemId\"] = this.puppyPicture2ShpDriveItemId;\n data[\"puppyPicture3ShpDriveItemId\"] = this.puppyPicture3ShpDriveItemId;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"requestId\"] = this.requestId;\n data[\"breederPhoneNumber\"] = this.breederPhoneNumber;\n data[\"breederMobileNumber\"] = this.breederMobileNumber;\n data[\"breederEmail\"] = this.breederEmail;\n return data;\n }\n}\n\nexport interface IBabyDogPublicationDto {\n breederComputedName?: string | undefined;\n breederCity?: string | undefined;\n availablePuppies?: number;\n birthDate?: Date;\n price?: number;\n shouldGetPictures?: boolean;\n puppyPicture1ShpDriveItemId?: string | undefined;\n puppyPicture2ShpDriveItemId?: string | undefined;\n puppyPicture3ShpDriveItemId?: string | undefined;\n sharepointUri?: string | undefined;\n requestId?: number;\n breederPhoneNumber?: string | undefined;\n breederMobileNumber?: string | undefined;\n breederEmail?: string | undefined;\n}\n\nexport class PuppyGenealogyDto implements IPuppyGenealogyDto {\n fatherId?: number;\n fatherName?: string | undefined;\n genealogyList?: DogWithParentsDto[] | undefined;\n\n constructor(data?: IPuppyGenealogyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fatherId = _data[\"fatherId\"];\n this.fatherName = _data[\"fatherName\"];\n if (Array.isArray(_data[\"genealogyList\"])) {\n this.genealogyList = [] as any;\n for (let item of _data[\"genealogyList\"])\n this.genealogyList!.push(DogWithParentsDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PuppyGenealogyDto {\n data = typeof data === 'object' ? data : {};\n let result = new PuppyGenealogyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fatherId\"] = this.fatherId;\n data[\"fatherName\"] = this.fatherName;\n if (Array.isArray(this.genealogyList)) {\n data[\"genealogyList\"] = [];\n for (let item of this.genealogyList)\n data[\"genealogyList\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPuppyGenealogyDto {\n fatherId?: number;\n fatherName?: string | undefined;\n genealogyList?: DogWithParentsDto[] | undefined;\n}\n\nexport class DogWithParentsDto implements IDogWithParentsDto {\n parent?: string | undefined;\n child?: string | undefined;\n salt?: number;\n parentNodeId?: string | undefined;\n dogType?: EBroodRequestDogType;\n name?: string | undefined;\n firstName?: string | undefined;\n dogId?: number;\n motherDogId?: number | undefined;\n fatherDogId?: number | undefined;\n depthLevel?: number;\n sex?: EDogSex | undefined;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n pedigree?: string | undefined;\n breedName?: string | undefined;\n\n constructor(data?: IDogWithParentsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.parent = _data[\"parent\"];\n this.child = _data[\"child\"];\n this.salt = _data[\"salt\"];\n this.parentNodeId = _data[\"parentNodeId\"];\n this.dogType = _data[\"dogType\"];\n this.name = _data[\"name\"];\n this.firstName = _data[\"firstName\"];\n this.dogId = _data[\"dogId\"];\n this.motherDogId = _data[\"motherDogId\"];\n this.fatherDogId = _data[\"fatherDogId\"];\n this.depthLevel = _data[\"depthLevel\"];\n this.sex = _data[\"sex\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n this.pedigree = _data[\"pedigree\"];\n this.breedName = _data[\"breedName\"];\n }\n }\n\n static fromJS(data: any): DogWithParentsDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogWithParentsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"parent\"] = this.parent;\n data[\"child\"] = this.child;\n data[\"salt\"] = this.salt;\n data[\"parentNodeId\"] = this.parentNodeId;\n data[\"dogType\"] = this.dogType;\n data[\"name\"] = this.name;\n data[\"firstName\"] = this.firstName;\n data[\"dogId\"] = this.dogId;\n data[\"motherDogId\"] = this.motherDogId;\n data[\"fatherDogId\"] = this.fatherDogId;\n data[\"depthLevel\"] = this.depthLevel;\n data[\"sex\"] = this.sex;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n data[\"pedigree\"] = this.pedigree;\n data[\"breedName\"] = this.breedName;\n return data;\n }\n}\n\nexport interface IDogWithParentsDto {\n parent?: string | undefined;\n child?: string | undefined;\n salt?: number;\n parentNodeId?: string | undefined;\n dogType?: EBroodRequestDogType;\n name?: string | undefined;\n firstName?: string | undefined;\n dogId?: number;\n motherDogId?: number | undefined;\n fatherDogId?: number | undefined;\n depthLevel?: number;\n sex?: EDogSex | undefined;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n pedigree?: string | undefined;\n breedName?: string | undefined;\n}\n\nexport enum EBroodRequestDogType {\n Puppy = \"Puppy\",\n Dog = \"Dog\",\n Mother = \"Mother\",\n Father = \"Father\",\n}\n\nexport class DogConditionDto implements IDogConditionDto {\n name?: string | undefined;\n concernedSex?: EDogSex;\n conditions?: DogConditionValueDto[] | undefined;\n dogId?: number;\n isGenealogyComplete?: boolean;\n\n constructor(data?: IDogConditionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.concernedSex = _data[\"concernedSex\"];\n if (Array.isArray(_data[\"conditions\"])) {\n this.conditions = [] as any;\n for (let item of _data[\"conditions\"])\n this.conditions!.push(DogConditionValueDto.fromJS(item));\n }\n this.dogId = _data[\"dogId\"];\n this.isGenealogyComplete = _data[\"isGenealogyComplete\"];\n }\n }\n\n static fromJS(data: any): DogConditionDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogConditionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"concernedSex\"] = this.concernedSex;\n if (Array.isArray(this.conditions)) {\n data[\"conditions\"] = [];\n for (let item of this.conditions)\n data[\"conditions\"].push(item.toJSON());\n }\n data[\"dogId\"] = this.dogId;\n data[\"isGenealogyComplete\"] = this.isGenealogyComplete;\n return data;\n }\n}\n\nexport interface IDogConditionDto {\n name?: string | undefined;\n concernedSex?: EDogSex;\n conditions?: DogConditionValueDto[] | undefined;\n dogId?: number;\n isGenealogyComplete?: boolean;\n}\n\nexport class DogConditionValueDto implements IDogConditionValueDto {\n dogNeededConditionId?: number;\n conditionCode?: EDogCondition;\n forceable?: boolean;\n label?: string | undefined;\n forced?: boolean;\n value?: boolean;\n\n constructor(data?: IDogConditionValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogNeededConditionId = _data[\"dogNeededConditionId\"];\n this.conditionCode = _data[\"conditionCode\"];\n this.forceable = _data[\"forceable\"];\n this.label = _data[\"label\"];\n this.forced = _data[\"forced\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): DogConditionValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogConditionValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogNeededConditionId\"] = this.dogNeededConditionId;\n data[\"conditionCode\"] = this.conditionCode;\n data[\"forceable\"] = this.forceable;\n data[\"label\"] = this.label;\n data[\"forced\"] = this.forced;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IDogConditionValueDto {\n dogNeededConditionId?: number;\n conditionCode?: EDogCondition;\n forceable?: boolean;\n label?: string | undefined;\n forced?: boolean;\n value?: boolean;\n}\n\nexport class SaveDogBroodRequestTransientDto implements ISaveDogBroodRequestTransientDto {\n puppies?: DogBroodRequestsTransientDto[] | undefined;\n definitiveSave?: boolean;\n\n constructor(data?: ISaveDogBroodRequestTransientDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"puppies\"])) {\n this.puppies = [] as any;\n for (let item of _data[\"puppies\"])\n this.puppies!.push(DogBroodRequestsTransientDto.fromJS(item));\n }\n this.definitiveSave = _data[\"definitiveSave\"];\n }\n }\n\n static fromJS(data: any): SaveDogBroodRequestTransientDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveDogBroodRequestTransientDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.puppies)) {\n data[\"puppies\"] = [];\n for (let item of this.puppies)\n data[\"puppies\"].push(item.toJSON());\n }\n data[\"definitiveSave\"] = this.definitiveSave;\n return data;\n }\n}\n\nexport interface ISaveDogBroodRequestTransientDto {\n puppies?: DogBroodRequestsTransientDto[] | undefined;\n definitiveSave?: boolean;\n}\n\nexport class PaginatedResultsOfPotentialFatherGridDto implements IPaginatedResultsOfPotentialFatherGridDto {\n totalCount?: number;\n results?: PotentialFatherGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPotentialFatherGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PotentialFatherGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPotentialFatherGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPotentialFatherGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPotentialFatherGridDto {\n totalCount?: number;\n results?: PotentialFatherGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PotentialFatherGridDto implements IPotentialFatherGridDto {\n dogId?: number;\n name?: string | undefined;\n ownerApproval?: boolean | undefined;\n breed?: string | undefined;\n color?: string | undefined;\n chip?: string | undefined;\n pedigree?: string | undefined;\n\n constructor(data?: IPotentialFatherGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.name = _data[\"name\"];\n this.ownerApproval = _data[\"ownerApproval\"];\n this.breed = _data[\"breed\"];\n this.color = _data[\"color\"];\n this.chip = _data[\"chip\"];\n this.pedigree = _data[\"pedigree\"];\n }\n }\n\n static fromJS(data: any): PotentialFatherGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PotentialFatherGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"name\"] = this.name;\n data[\"ownerApproval\"] = this.ownerApproval;\n data[\"breed\"] = this.breed;\n data[\"color\"] = this.color;\n data[\"chip\"] = this.chip;\n data[\"pedigree\"] = this.pedigree;\n return data;\n }\n}\n\nexport interface IPotentialFatherGridDto {\n dogId?: number;\n name?: string | undefined;\n ownerApproval?: boolean | undefined;\n breed?: string | undefined;\n color?: string | undefined;\n chip?: string | undefined;\n pedigree?: string | undefined;\n}\n\nexport class PotentialFathersSearch extends PaginatedSearch implements IPotentialFathersSearch {\n broodRequestId?: number;\n languageId?: number;\n name?: TextSearch | undefined;\n\n constructor(data?: IPotentialFathersSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.broodRequestId = _data[\"broodRequestId\"];\n this.languageId = _data[\"languageId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PotentialFathersSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PotentialFathersSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"languageId\"] = this.languageId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPotentialFathersSearch extends IPaginatedSearch {\n broodRequestId?: number;\n languageId?: number;\n name?: TextSearch | undefined;\n}\n\nexport class PaginatedResultsOfCalendarYearDto implements IPaginatedResultsOfCalendarYearDto {\n totalCount?: number;\n results?: CalendarYearDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfCalendarYearDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(CalendarYearDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfCalendarYearDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfCalendarYearDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfCalendarYearDto {\n totalCount?: number;\n results?: CalendarYearDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class CalendarYearDto implements ICalendarYearDto {\n calendarYearId?: number;\n year?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n namingLetter?: string;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICalendarYearDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.calendarYearId = _data[\"calendarYearId\"];\n this.year = _data[\"year\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.namingLetter = _data[\"namingLetter\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CalendarYearDto {\n data = typeof data === 'object' ? data : {};\n let result = new CalendarYearDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"calendarYearId\"] = this.calendarYearId;\n data[\"year\"] = this.year;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"namingLetter\"] = this.namingLetter;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICalendarYearDto {\n calendarYearId?: number;\n year?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n namingLetter?: string;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class CalendarYearSearch extends PaginatedSearch implements ICalendarYearSearch {\n\n constructor(data?: ICalendarYearSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): CalendarYearSearch {\n data = typeof data === 'object' ? data : {};\n let result = new CalendarYearSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICalendarYearSearch extends IPaginatedSearch {\n}\n\nexport class PaginatedResultsOfCharacteristicsGridDto implements IPaginatedResultsOfCharacteristicsGridDto {\n totalCount?: number;\n results?: CharacteristicsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfCharacteristicsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(CharacteristicsGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfCharacteristicsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfCharacteristicsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfCharacteristicsGridDto {\n totalCount?: number;\n results?: CharacteristicsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class CharacteristicsGridDto implements ICharacteristicsGridDto {\n characteristicId?: number;\n characteristicTypeId?: number;\n appliedToDysplasia?: EDysplasiaType | undefined;\n code?: string | undefined;\n characteristicType?: string | undefined;\n name?: string | undefined;\n lab?: ELab | undefined;\n labName?: string | undefined;\n price?: number;\n orderIndex?: number;\n\n constructor(data?: ICharacteristicsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicId = _data[\"characteristicId\"];\n this.characteristicTypeId = _data[\"characteristicTypeId\"];\n this.appliedToDysplasia = _data[\"appliedToDysplasia\"];\n this.code = _data[\"code\"];\n this.characteristicType = _data[\"characteristicType\"];\n this.name = _data[\"name\"];\n this.lab = _data[\"lab\"];\n this.labName = _data[\"labName\"];\n this.price = _data[\"price\"];\n this.orderIndex = _data[\"orderIndex\"];\n }\n }\n\n static fromJS(data: any): CharacteristicsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicId\"] = this.characteristicId;\n data[\"characteristicTypeId\"] = this.characteristicTypeId;\n data[\"appliedToDysplasia\"] = this.appliedToDysplasia;\n data[\"code\"] = this.code;\n data[\"characteristicType\"] = this.characteristicType;\n data[\"name\"] = this.name;\n data[\"lab\"] = this.lab;\n data[\"labName\"] = this.labName;\n data[\"price\"] = this.price;\n data[\"orderIndex\"] = this.orderIndex;\n return data;\n }\n}\n\nexport interface ICharacteristicsGridDto {\n characteristicId?: number;\n characteristicTypeId?: number;\n appliedToDysplasia?: EDysplasiaType | undefined;\n code?: string | undefined;\n characteristicType?: string | undefined;\n name?: string | undefined;\n lab?: ELab | undefined;\n labName?: string | undefined;\n price?: number;\n orderIndex?: number;\n}\n\nexport class CharacteristicSearch extends PaginatedSearch implements ICharacteristicSearch {\n languageId?: number;\n onlyIsLab?: boolean;\n hideDysplasia?: boolean;\n hideProgenusDna?: boolean;\n name?: TextSearch | undefined;\n code?: TextSearch | undefined;\n characteristicTypeId?: ListSearchOfNullableInteger | undefined;\n lab?: ListSearchOfNullableELab | undefined;\n customLab?: ELab | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: ICharacteristicSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.onlyIsLab = _data[\"onlyIsLab\"];\n this.hideDysplasia = _data[\"hideDysplasia\"];\n this.hideProgenusDna = _data[\"hideProgenusDna\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.code = _data[\"code\"] ? TextSearch.fromJS(_data[\"code\"]) : undefined;\n this.characteristicTypeId = _data[\"characteristicTypeId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"characteristicTypeId\"]) : undefined;\n this.lab = _data[\"lab\"] ? ListSearchOfNullableELab.fromJS(_data[\"lab\"]) : undefined;\n this.customLab = _data[\"customLab\"];\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): CharacteristicSearch {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"onlyIsLab\"] = this.onlyIsLab;\n data[\"hideDysplasia\"] = this.hideDysplasia;\n data[\"hideProgenusDna\"] = this.hideProgenusDna;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"code\"] = this.code ? this.code.toJSON() : undefined;\n data[\"characteristicTypeId\"] = this.characteristicTypeId ? this.characteristicTypeId.toJSON() : undefined;\n data[\"lab\"] = this.lab ? this.lab.toJSON() : undefined;\n data[\"customLab\"] = this.customLab;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICharacteristicSearch extends IPaginatedSearch {\n languageId?: number;\n onlyIsLab?: boolean;\n hideDysplasia?: boolean;\n hideProgenusDna?: boolean;\n name?: TextSearch | undefined;\n code?: TextSearch | undefined;\n characteristicTypeId?: ListSearchOfNullableInteger | undefined;\n lab?: ListSearchOfNullableELab | undefined;\n customLab?: ELab | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport abstract class FilterCriteriaBaseOfEListSearchTypeAndNullableELab implements IFilterCriteriaBaseOfEListSearchTypeAndNullableELab {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableELab[] | undefined;\n searchMode?: EListSearchType;\n value?: ELab | undefined;\n secondaryValue?: ELab | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEListSearchTypeAndNullableELab) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEListSearchTypeAndNullableELab.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEListSearchTypeAndNullableELab {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEListSearchTypeAndNullableELab' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEListSearchTypeAndNullableELab {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableELab[] | undefined;\n searchMode?: EListSearchType;\n value?: ELab | undefined;\n secondaryValue?: ELab | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class ListSearchOfNullableELab extends FilterCriteriaBaseOfEListSearchTypeAndNullableELab implements IListSearchOfNullableELab {\n\n constructor(data?: IListSearchOfNullableELab) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ListSearchOfNullableELab {\n data = typeof data === 'object' ? data : {};\n let result = new ListSearchOfNullableELab();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IListSearchOfNullableELab extends IFilterCriteriaBaseOfEListSearchTypeAndNullableELab {\n}\n\nexport class CombinableCriteriaOfEListSearchTypeAndNullableELab implements ICombinableCriteriaOfEListSearchTypeAndNullableELab {\n searchMode?: EListSearchType;\n value?: ELab | undefined;\n secondaryValue?: ELab | undefined;\n\n constructor(data?: ICombinableCriteriaOfEListSearchTypeAndNullableELab) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEListSearchTypeAndNullableELab {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEListSearchTypeAndNullableELab();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEListSearchTypeAndNullableELab {\n searchMode?: EListSearchType;\n value?: ELab | undefined;\n secondaryValue?: ELab | undefined;\n}\n\nexport class CharacteristicsDto implements ICharacteristicsDto {\n characteristicId?: number;\n characteristicTypeId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n code?: string | undefined;\n labCode?: string | undefined;\n dysplasiaTypeId?: number | undefined;\n characteristicValuesIds?: number[] | undefined;\n type?: string | undefined;\n characteristicTranslations?: CharacteristicTranslationDto[] | undefined;\n lab?: ELab;\n healthValueTypeId?: number;\n\n constructor(data?: ICharacteristicsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicId = _data[\"characteristicId\"];\n this.characteristicTypeId = _data[\"characteristicTypeId\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.code = _data[\"code\"];\n this.labCode = _data[\"labCode\"];\n this.dysplasiaTypeId = _data[\"dysplasiaTypeId\"];\n if (Array.isArray(_data[\"characteristicValuesIds\"])) {\n this.characteristicValuesIds = [] as any;\n for (let item of _data[\"characteristicValuesIds\"])\n this.characteristicValuesIds!.push(item);\n }\n this.type = _data[\"type\"];\n if (Array.isArray(_data[\"characteristicTranslations\"])) {\n this.characteristicTranslations = [] as any;\n for (let item of _data[\"characteristicTranslations\"])\n this.characteristicTranslations!.push(CharacteristicTranslationDto.fromJS(item));\n }\n this.lab = _data[\"lab\"];\n this.healthValueTypeId = _data[\"healthValueTypeId\"];\n }\n }\n\n static fromJS(data: any): CharacteristicsDto {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicId\"] = this.characteristicId;\n data[\"characteristicTypeId\"] = this.characteristicTypeId;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"code\"] = this.code;\n data[\"labCode\"] = this.labCode;\n data[\"dysplasiaTypeId\"] = this.dysplasiaTypeId;\n if (Array.isArray(this.characteristicValuesIds)) {\n data[\"characteristicValuesIds\"] = [];\n for (let item of this.characteristicValuesIds)\n data[\"characteristicValuesIds\"].push(item);\n }\n data[\"type\"] = this.type;\n if (Array.isArray(this.characteristicTranslations)) {\n data[\"characteristicTranslations\"] = [];\n for (let item of this.characteristicTranslations)\n data[\"characteristicTranslations\"].push(item.toJSON());\n }\n data[\"lab\"] = this.lab;\n data[\"healthValueTypeId\"] = this.healthValueTypeId;\n return data;\n }\n}\n\nexport interface ICharacteristicsDto {\n characteristicId?: number;\n characteristicTypeId?: number;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n code?: string | undefined;\n labCode?: string | undefined;\n dysplasiaTypeId?: number | undefined;\n characteristicValuesIds?: number[] | undefined;\n type?: string | undefined;\n characteristicTranslations?: CharacteristicTranslationDto[] | undefined;\n lab?: ELab;\n healthValueTypeId?: number;\n}\n\nexport class CharacteristicTranslationDto implements ICharacteristicTranslationDto {\n characteristicId?: number;\n languageId?: number;\n text?: string | undefined;\n characteristicTranslationId?: number;\n\n constructor(data?: ICharacteristicTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicId = _data[\"characteristicId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.characteristicTranslationId = _data[\"characteristicTranslationId\"];\n }\n }\n\n static fromJS(data: any): CharacteristicTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicId\"] = this.characteristicId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"characteristicTranslationId\"] = this.characteristicTranslationId;\n return data;\n }\n}\n\nexport interface ICharacteristicTranslationDto {\n characteristicId?: number;\n languageId?: number;\n text?: string | undefined;\n characteristicTranslationId?: number;\n}\n\nexport class PaginatedResultsOfCharacteristicValuesGridDto implements IPaginatedResultsOfCharacteristicValuesGridDto {\n totalCount?: number;\n results?: CharacteristicValuesGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfCharacteristicValuesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(CharacteristicValuesGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfCharacteristicValuesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfCharacteristicValuesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfCharacteristicValuesGridDto {\n totalCount?: number;\n results?: CharacteristicValuesGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class CharacteristicValuesGridDto implements ICharacteristicValuesGridDto {\n healthValueId?: number;\n value?: string | undefined;\n name?: string | undefined;\n lab?: ELab;\n okForInheritance?: boolean;\n\n constructor(data?: ICharacteristicValuesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthValueId = _data[\"healthValueId\"];\n this.value = _data[\"value\"];\n this.name = _data[\"name\"];\n this.lab = _data[\"lab\"];\n this.okForInheritance = _data[\"okForInheritance\"];\n }\n }\n\n static fromJS(data: any): CharacteristicValuesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicValuesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthValueId\"] = this.healthValueId;\n data[\"value\"] = this.value;\n data[\"name\"] = this.name;\n data[\"lab\"] = this.lab;\n data[\"okForInheritance\"] = this.okForInheritance;\n return data;\n }\n}\n\nexport interface ICharacteristicValuesGridDto {\n healthValueId?: number;\n value?: string | undefined;\n name?: string | undefined;\n lab?: ELab;\n okForInheritance?: boolean;\n}\n\nexport class CharacteristicValuesSearch extends PaginatedSearch implements ICharacteristicValuesSearch {\n languageId?: number;\n characteristicValuesId?: number;\n name?: TextSearch | undefined;\n lab?: ListSearchOfNullableELab | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: ICharacteristicValuesSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.characteristicValuesId = _data[\"characteristicValuesId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.lab = _data[\"lab\"] ? ListSearchOfNullableELab.fromJS(_data[\"lab\"]) : undefined;\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): CharacteristicValuesSearch {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicValuesSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"characteristicValuesId\"] = this.characteristicValuesId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"lab\"] = this.lab ? this.lab.toJSON() : undefined;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICharacteristicValuesSearch extends IPaginatedSearch {\n languageId?: number;\n characteristicValuesId?: number;\n name?: TextSearch | undefined;\n lab?: ListSearchOfNullableELab | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class CharacteristicValuesDto implements ICharacteristicValuesDto {\n healthValueId?: number;\n value?: string | undefined;\n remark?: string | undefined;\n lab?: ELab;\n okForInheritance?: boolean;\n characteristicValuesTranslations?: CharacteristicValuesTranslationDto[] | undefined;\n\n constructor(data?: ICharacteristicValuesDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthValueId = _data[\"healthValueId\"];\n this.value = _data[\"value\"];\n this.remark = _data[\"remark\"];\n this.lab = _data[\"lab\"];\n this.okForInheritance = _data[\"okForInheritance\"];\n if (Array.isArray(_data[\"characteristicValuesTranslations\"])) {\n this.characteristicValuesTranslations = [] as any;\n for (let item of _data[\"characteristicValuesTranslations\"])\n this.characteristicValuesTranslations!.push(CharacteristicValuesTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CharacteristicValuesDto {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicValuesDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthValueId\"] = this.healthValueId;\n data[\"value\"] = this.value;\n data[\"remark\"] = this.remark;\n data[\"lab\"] = this.lab;\n data[\"okForInheritance\"] = this.okForInheritance;\n if (Array.isArray(this.characteristicValuesTranslations)) {\n data[\"characteristicValuesTranslations\"] = [];\n for (let item of this.characteristicValuesTranslations)\n data[\"characteristicValuesTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICharacteristicValuesDto {\n healthValueId?: number;\n value?: string | undefined;\n remark?: string | undefined;\n lab?: ELab;\n okForInheritance?: boolean;\n characteristicValuesTranslations?: CharacteristicValuesTranslationDto[] | undefined;\n}\n\nexport class CharacteristicValuesTranslationDto implements ICharacteristicValuesTranslationDto {\n healthValueId?: number;\n languageId?: number;\n text?: string | undefined;\n healthValueTranslationId?: number;\n\n constructor(data?: ICharacteristicValuesTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthValueId = _data[\"healthValueId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.healthValueTranslationId = _data[\"healthValueTranslationId\"];\n }\n }\n\n static fromJS(data: any): CharacteristicValuesTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new CharacteristicValuesTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthValueId\"] = this.healthValueId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"healthValueTranslationId\"] = this.healthValueTranslationId;\n return data;\n }\n}\n\nexport interface ICharacteristicValuesTranslationDto {\n healthValueId?: number;\n languageId?: number;\n text?: string | undefined;\n healthValueTranslationId?: number;\n}\n\nexport class PaginatedResultsOfChartSignaturesHistoryDto implements IPaginatedResultsOfChartSignaturesHistoryDto {\n totalCount?: number;\n results?: ChartSignaturesHistoryDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfChartSignaturesHistoryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ChartSignaturesHistoryDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfChartSignaturesHistoryDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfChartSignaturesHistoryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfChartSignaturesHistoryDto {\n totalCount?: number;\n results?: ChartSignaturesHistoryDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ChartSignaturesHistoryDto implements IChartSignaturesHistoryDto {\n chartSignaturesHistoryId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n personId?: number;\n\n constructor(data?: IChartSignaturesHistoryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.chartSignaturesHistoryId = _data[\"chartSignaturesHistoryId\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.personId = _data[\"personId\"];\n }\n }\n\n static fromJS(data: any): ChartSignaturesHistoryDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChartSignaturesHistoryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"chartSignaturesHistoryId\"] = this.chartSignaturesHistoryId;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"personId\"] = this.personId;\n return data;\n }\n}\n\nexport interface IChartSignaturesHistoryDto {\n chartSignaturesHistoryId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n personId?: number;\n}\n\nexport class ChartSignaturesHistorySearch extends PaginatedSearch implements IChartSignaturesHistorySearch {\n personId?: number;\n\n constructor(data?: IChartSignaturesHistorySearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n }\n }\n\n static fromJS(data: any): ChartSignaturesHistorySearch {\n data = typeof data === 'object' ? data : {};\n let result = new ChartSignaturesHistorySearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IChartSignaturesHistorySearch extends IPaginatedSearch {\n personId?: number;\n}\n\nexport class PaginatedResultsOfClinicGridDto implements IPaginatedResultsOfClinicGridDto {\n totalCount?: number;\n results?: ClinicGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfClinicGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ClinicGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfClinicGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfClinicGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfClinicGridDto {\n totalCount?: number;\n results?: ClinicGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ClinicGridDto implements IClinicGridDto {\n clinicId?: number;\n name?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n\n constructor(data?: IClinicGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clinicId = _data[\"clinicId\"];\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n }\n }\n\n static fromJS(data: any): ClinicGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClinicGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clinicId\"] = this.clinicId;\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n return data;\n }\n}\n\nexport interface IClinicGridDto {\n clinicId?: number;\n name?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n}\n\nexport class ClinicSearch extends PaginatedSearch implements IClinicSearch {\n languageId?: number;\n name?: TextSearch | undefined;\n\n constructor(data?: IClinicSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ClinicSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClinicSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClinicSearch extends IPaginatedSearch {\n languageId?: number;\n name?: TextSearch | undefined;\n}\n\nexport class ClinicDto implements IClinicDto {\n clinicId?: number;\n name?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n languageId?: number;\n siteWeb?: string | undefined;\n tva?: string | undefined;\n adress?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n\n constructor(data?: IClinicDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clinicId = _data[\"clinicId\"];\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.languageId = _data[\"languageId\"];\n this.siteWeb = _data[\"siteWeb\"];\n this.tva = _data[\"tva\"];\n this.adress = _data[\"adress\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.countryId = _data[\"countryId\"];\n }\n }\n\n static fromJS(data: any): ClinicDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClinicDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clinicId\"] = this.clinicId;\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"languageId\"] = this.languageId;\n data[\"siteWeb\"] = this.siteWeb;\n data[\"tva\"] = this.tva;\n data[\"adress\"] = this.adress;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"countryId\"] = this.countryId;\n return data;\n }\n}\n\nexport interface IClinicDto {\n clinicId?: number;\n name?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n languageId?: number;\n siteWeb?: string | undefined;\n tva?: string | undefined;\n adress?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n}\n\nexport class PaginatedResultsOfClubAllowedSectionsDto implements IPaginatedResultsOfClubAllowedSectionsDto {\n totalCount?: number;\n results?: ClubAllowedSectionsDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfClubAllowedSectionsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ClubAllowedSectionsDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfClubAllowedSectionsDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfClubAllowedSectionsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfClubAllowedSectionsDto {\n totalCount?: number;\n results?: ClubAllowedSectionsDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ClubAllowedSectionsDto implements IClubAllowedSectionsDto {\n clubSectionId?: number;\n contactEmails?: string | undefined;\n sectionId?: number;\n clubId?: number;\n sectionName?: string | undefined;\n\n constructor(data?: IClubAllowedSectionsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubSectionId = _data[\"clubSectionId\"];\n this.contactEmails = _data[\"contactEmails\"];\n this.sectionId = _data[\"sectionId\"];\n this.clubId = _data[\"clubId\"];\n this.sectionName = _data[\"sectionName\"];\n }\n }\n\n static fromJS(data: any): ClubAllowedSectionsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubAllowedSectionsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubSectionId\"] = this.clubSectionId;\n data[\"contactEmails\"] = this.contactEmails;\n data[\"sectionId\"] = this.sectionId;\n data[\"clubId\"] = this.clubId;\n data[\"sectionName\"] = this.sectionName;\n return data;\n }\n}\n\nexport interface IClubAllowedSectionsDto {\n clubSectionId?: number;\n contactEmails?: string | undefined;\n sectionId?: number;\n clubId?: number;\n sectionName?: string | undefined;\n}\n\nexport class ClubAllowedSectionsSearch extends PaginatedSearch implements IClubAllowedSectionsSearch {\n languageId?: string | undefined;\n clubId?: number;\n sectionId?: number;\n\n constructor(data?: IClubAllowedSectionsSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.clubId = _data[\"clubId\"];\n this.sectionId = _data[\"sectionId\"];\n }\n }\n\n static fromJS(data: any): ClubAllowedSectionsSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClubAllowedSectionsSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"clubId\"] = this.clubId;\n data[\"sectionId\"] = this.sectionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClubAllowedSectionsSearch extends IPaginatedSearch {\n languageId?: string | undefined;\n clubId?: number;\n sectionId?: number;\n}\n\nexport class SaveNewClubAllowedSectionDto implements ISaveNewClubAllowedSectionDto {\n allowedSectionClubId?: number;\n sectionId?: number;\n clubId?: number;\n contactEmails?: string | undefined;\n\n constructor(data?: ISaveNewClubAllowedSectionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.allowedSectionClubId = _data[\"allowedSectionClubId\"];\n this.sectionId = _data[\"sectionId\"];\n this.clubId = _data[\"clubId\"];\n this.contactEmails = _data[\"contactEmails\"];\n }\n }\n\n static fromJS(data: any): SaveNewClubAllowedSectionDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveNewClubAllowedSectionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"allowedSectionClubId\"] = this.allowedSectionClubId;\n data[\"sectionId\"] = this.sectionId;\n data[\"clubId\"] = this.clubId;\n data[\"contactEmails\"] = this.contactEmails;\n return data;\n }\n}\n\nexport interface ISaveNewClubAllowedSectionDto {\n allowedSectionClubId?: number;\n sectionId?: number;\n clubId?: number;\n contactEmails?: string | undefined;\n}\n\nexport class PaginatedResultsOfClubGridDto implements IPaginatedResultsOfClubGridDto {\n totalCount?: number;\n results?: ClubGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfClubGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ClubGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfClubGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfClubGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfClubGridDto {\n totalCount?: number;\n results?: ClubGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ClubGridDto implements IClubGridDto {\n clubId?: number;\n name?: string | undefined;\n vatNumber?: string | undefined;\n accountNumber?: string | undefined;\n number?: string | undefined;\n postalCode?: string | undefined;\n street?: string | undefined;\n city?: string | undefined;\n finalNumber?: string | undefined;\n language?: string | undefined;\n country?: string | undefined;\n globalEmail?: string | undefined;\n phoneNumber?: string | undefined;\n websiteAddress?: string | undefined;\n\n constructor(data?: IClubGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubId = _data[\"clubId\"];\n this.name = _data[\"name\"];\n this.vatNumber = _data[\"vatNumber\"];\n this.accountNumber = _data[\"accountNumber\"];\n this.number = _data[\"number\"];\n this.postalCode = _data[\"postalCode\"];\n this.street = _data[\"street\"];\n this.city = _data[\"city\"];\n this.finalNumber = _data[\"finalNumber\"];\n this.language = _data[\"language\"];\n this.country = _data[\"country\"];\n this.globalEmail = _data[\"globalEmail\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.websiteAddress = _data[\"websiteAddress\"];\n }\n }\n\n static fromJS(data: any): ClubGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubId\"] = this.clubId;\n data[\"name\"] = this.name;\n data[\"vatNumber\"] = this.vatNumber;\n data[\"accountNumber\"] = this.accountNumber;\n data[\"number\"] = this.number;\n data[\"postalCode\"] = this.postalCode;\n data[\"street\"] = this.street;\n data[\"city\"] = this.city;\n data[\"finalNumber\"] = this.finalNumber;\n data[\"language\"] = this.language;\n data[\"country\"] = this.country;\n data[\"globalEmail\"] = this.globalEmail;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"websiteAddress\"] = this.websiteAddress;\n return data;\n }\n}\n\nexport interface IClubGridDto {\n clubId?: number;\n name?: string | undefined;\n vatNumber?: string | undefined;\n accountNumber?: string | undefined;\n number?: string | undefined;\n postalCode?: string | undefined;\n street?: string | undefined;\n city?: string | undefined;\n finalNumber?: string | undefined;\n language?: string | undefined;\n country?: string | undefined;\n globalEmail?: string | undefined;\n phoneNumber?: string | undefined;\n websiteAddress?: string | undefined;\n}\n\nexport class ClubBreedSearch extends SelectorSearchOfInteger implements IClubBreedSearch {\n languageId?: number;\n breedId?: number | undefined;\n name?: TextSearch | undefined;\n vatNumber?: TextSearch | undefined;\n\n constructor(data?: IClubBreedSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.breedId = _data[\"breedId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.vatNumber = _data[\"vatNumber\"] ? TextSearch.fromJS(_data[\"vatNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ClubBreedSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClubBreedSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"breedId\"] = this.breedId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"vatNumber\"] = this.vatNumber ? this.vatNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClubBreedSearch extends ISelectorSearchOfInteger {\n languageId?: number;\n breedId?: number | undefined;\n name?: TextSearch | undefined;\n vatNumber?: TextSearch | undefined;\n}\n\nexport class PaginatedResultsOfClubCompetitionRequestGridDto implements IPaginatedResultsOfClubCompetitionRequestGridDto {\n totalCount?: number;\n results?: ClubCompetitionRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfClubCompetitionRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ClubCompetitionRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfClubCompetitionRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfClubCompetitionRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfClubCompetitionRequestGridDto {\n totalCount?: number;\n results?: ClubCompetitionRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ClubCompetitionRequestGridDto implements IClubCompetitionRequestGridDto {\n requestNumber?: string | undefined;\n requestType?: string | undefined;\n requestDate?: Date;\n dateFrom?: Date;\n dateTo?: Date;\n requestTypeCode?: ERequestType;\n requestState?: string | undefined;\n requestId?: number;\n subRequestId?: number;\n\n constructor(data?: IClubCompetitionRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestNumber = _data[\"requestNumber\"];\n this.requestType = _data[\"requestType\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.requestState = _data[\"requestState\"];\n this.requestId = _data[\"requestId\"];\n this.subRequestId = _data[\"subRequestId\"];\n }\n }\n\n static fromJS(data: any): ClubCompetitionRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubCompetitionRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestType\"] = this.requestType;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"requestState\"] = this.requestState;\n data[\"requestId\"] = this.requestId;\n data[\"subRequestId\"] = this.subRequestId;\n return data;\n }\n}\n\nexport interface IClubCompetitionRequestGridDto {\n requestNumber?: string | undefined;\n requestType?: string | undefined;\n requestDate?: Date;\n dateFrom?: Date;\n dateTo?: Date;\n requestTypeCode?: ERequestType;\n requestState?: string | undefined;\n requestId?: number;\n subRequestId?: number;\n}\n\nexport class ClubCompetitionRequestsSearch extends PaginatedSearch implements IClubCompetitionRequestsSearch {\n languageId?: number;\n clubId?: number;\n\n constructor(data?: IClubCompetitionRequestsSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.clubId = _data[\"clubId\"];\n }\n }\n\n static fromJS(data: any): ClubCompetitionRequestsSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClubCompetitionRequestsSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"clubId\"] = this.clubId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClubCompetitionRequestsSearch extends IPaginatedSearch {\n languageId?: number;\n clubId?: number;\n}\n\nexport class PaginatedResultsOfClubContactGridDto implements IPaginatedResultsOfClubContactGridDto {\n totalCount?: number;\n results?: ClubContactGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfClubContactGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ClubContactGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfClubContactGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfClubContactGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfClubContactGridDto {\n totalCount?: number;\n results?: ClubContactGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ClubContactGridDto implements IClubContactGridDto {\n personId?: number;\n clubContactId?: number;\n role?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n fullName?: string | undefined;\n\n constructor(data?: IClubContactGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.clubContactId = _data[\"clubContactId\"];\n this.role = _data[\"role\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.language = _data[\"language\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.fullName = _data[\"fullName\"];\n }\n }\n\n static fromJS(data: any): ClubContactGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubContactGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"clubContactId\"] = this.clubContactId;\n data[\"role\"] = this.role;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"language\"] = this.language;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"fullName\"] = this.fullName;\n return data;\n }\n}\n\nexport interface IClubContactGridDto {\n personId?: number;\n clubContactId?: number;\n role?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n fullName?: string | undefined;\n}\n\nexport class ClubContactSearch extends PaginatedSearch implements IClubContactSearch {\n clubId?: number;\n languageId?: number;\n\n constructor(data?: IClubContactSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.clubId = _data[\"clubId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): ClubContactSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClubContactSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubId\"] = this.clubId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClubContactSearch extends IPaginatedSearch {\n clubId?: number;\n languageId?: number;\n}\n\nexport class SaveClubContactDto implements ISaveClubContactDto {\n clubId?: number;\n clubRoleId?: number;\n personId?: number;\n\n constructor(data?: ISaveClubContactDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubId = _data[\"clubId\"];\n this.clubRoleId = _data[\"clubRoleId\"];\n this.personId = _data[\"personId\"];\n }\n }\n\n static fromJS(data: any): SaveClubContactDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveClubContactDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubId\"] = this.clubId;\n data[\"clubRoleId\"] = this.clubRoleId;\n data[\"personId\"] = this.personId;\n return data;\n }\n}\n\nexport interface ISaveClubContactDto {\n clubId?: number;\n clubRoleId?: number;\n personId?: number;\n}\n\nexport class ClubSearch extends SelectorSearchOfInteger implements IClubSearch {\n languageId?: number;\n name?: TextSearch | undefined;\n finalNumber?: TextSearch | undefined;\n\n constructor(data?: IClubSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.finalNumber = _data[\"finalNumber\"] ? TextSearch.fromJS(_data[\"finalNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ClubSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClubSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"finalNumber\"] = this.finalNumber ? this.finalNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClubSearch extends ISelectorSearchOfInteger {\n languageId?: number;\n name?: TextSearch | undefined;\n finalNumber?: TextSearch | undefined;\n}\n\nexport class DrupalClubDto implements IDrupalClubDto {\n name?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n website?: string | undefined;\n chairmans?: PersonDto[] | undefined;\n secretaries?: PersonDto[] | undefined;\n breeds?: BreedGridDto[] | undefined;\n\n constructor(data?: IDrupalClubDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.website = _data[\"website\"];\n if (Array.isArray(_data[\"chairmans\"])) {\n this.chairmans = [] as any;\n for (let item of _data[\"chairmans\"])\n this.chairmans!.push(PersonDto.fromJS(item));\n }\n if (Array.isArray(_data[\"secretaries\"])) {\n this.secretaries = [] as any;\n for (let item of _data[\"secretaries\"])\n this.secretaries!.push(PersonDto.fromJS(item));\n }\n if (Array.isArray(_data[\"breeds\"])) {\n this.breeds = [] as any;\n for (let item of _data[\"breeds\"])\n this.breeds!.push(BreedGridDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DrupalClubDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalClubDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"website\"] = this.website;\n if (Array.isArray(this.chairmans)) {\n data[\"chairmans\"] = [];\n for (let item of this.chairmans)\n data[\"chairmans\"].push(item.toJSON());\n }\n if (Array.isArray(this.secretaries)) {\n data[\"secretaries\"] = [];\n for (let item of this.secretaries)\n data[\"secretaries\"].push(item.toJSON());\n }\n if (Array.isArray(this.breeds)) {\n data[\"breeds\"] = [];\n for (let item of this.breeds)\n data[\"breeds\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDrupalClubDto {\n name?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n website?: string | undefined;\n chairmans?: PersonDto[] | undefined;\n secretaries?: PersonDto[] | undefined;\n breeds?: BreedGridDto[] | undefined;\n}\n\nexport class ClubDto implements IClubDto {\n name?: string | undefined;\n vatNumber?: string | undefined;\n accountNumber?: string | undefined;\n number?: string | undefined;\n postalCode?: string | undefined;\n street?: string | undefined;\n city?: string | undefined;\n remark?: string | undefined;\n phoneNumber?: string | undefined;\n globalEmail?: string | undefined;\n websiteAdresse?: string | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n provisionalNumber?: string | undefined;\n provisionalNumberDate?: Date | undefined;\n finalNumber?: string | undefined;\n finalNumberDate?: Date | undefined;\n hasLinkedBreed?: boolean;\n terrainNumber?: string | undefined;\n terrainStreet?: string | undefined;\n terrainCity?: string | undefined;\n terrainPostalCode?: string | undefined;\n terrainProvince?: string | undefined;\n clubId?: number;\n terrainCountryId?: number | undefined;\n countryId?: number | undefined;\n languageId?: number;\n bcIdentifier?: string | undefined;\n societyName?: string | undefined;\n bcLanguageCode?: string | undefined;\n countryIso?: string | undefined;\n sharepointUri?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: IClubDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.vatNumber = _data[\"vatNumber\"];\n this.accountNumber = _data[\"accountNumber\"];\n this.number = _data[\"number\"];\n this.postalCode = _data[\"postalCode\"];\n this.street = _data[\"street\"];\n this.city = _data[\"city\"];\n this.remark = _data[\"remark\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.globalEmail = _data[\"globalEmail\"];\n this.websiteAdresse = _data[\"websiteAdresse\"];\n this.exclusionReason = _data[\"exclusionReason\"];\n this.exclusionStartDate = _data[\"exclusionStartDate\"] ? new Date(_data[\"exclusionStartDate\"].toString()) : undefined;\n this.exclusionEndDate = _data[\"exclusionEndDate\"] ? new Date(_data[\"exclusionEndDate\"].toString()) : undefined;\n this.provisionalNumber = _data[\"provisionalNumber\"];\n this.provisionalNumberDate = _data[\"provisionalNumberDate\"] ? new Date(_data[\"provisionalNumberDate\"].toString()) : undefined;\n this.finalNumber = _data[\"finalNumber\"];\n this.finalNumberDate = _data[\"finalNumberDate\"] ? new Date(_data[\"finalNumberDate\"].toString()) : undefined;\n this.hasLinkedBreed = _data[\"hasLinkedBreed\"];\n this.terrainNumber = _data[\"terrainNumber\"];\n this.terrainStreet = _data[\"terrainStreet\"];\n this.terrainCity = _data[\"terrainCity\"];\n this.terrainPostalCode = _data[\"terrainPostalCode\"];\n this.terrainProvince = _data[\"terrainProvince\"];\n this.clubId = _data[\"clubId\"];\n this.terrainCountryId = _data[\"terrainCountryId\"];\n this.countryId = _data[\"countryId\"];\n this.languageId = _data[\"languageId\"];\n this.bcIdentifier = _data[\"bcIdentifier\"];\n this.societyName = _data[\"societyName\"];\n this.bcLanguageCode = _data[\"bcLanguageCode\"];\n this.countryIso = _data[\"countryIso\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): ClubDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"vatNumber\"] = this.vatNumber;\n data[\"accountNumber\"] = this.accountNumber;\n data[\"number\"] = this.number;\n data[\"postalCode\"] = this.postalCode;\n data[\"street\"] = this.street;\n data[\"city\"] = this.city;\n data[\"remark\"] = this.remark;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"globalEmail\"] = this.globalEmail;\n data[\"websiteAdresse\"] = this.websiteAdresse;\n data[\"exclusionReason\"] = this.exclusionReason;\n data[\"exclusionStartDate\"] = this.exclusionStartDate ? this.exclusionStartDate.toISOString() : undefined;\n data[\"exclusionEndDate\"] = this.exclusionEndDate ? this.exclusionEndDate.toISOString() : undefined;\n data[\"provisionalNumber\"] = this.provisionalNumber;\n data[\"provisionalNumberDate\"] = this.provisionalNumberDate ? this.provisionalNumberDate.toISOString() : undefined;\n data[\"finalNumber\"] = this.finalNumber;\n data[\"finalNumberDate\"] = this.finalNumberDate ? this.finalNumberDate.toISOString() : undefined;\n data[\"hasLinkedBreed\"] = this.hasLinkedBreed;\n data[\"terrainNumber\"] = this.terrainNumber;\n data[\"terrainStreet\"] = this.terrainStreet;\n data[\"terrainCity\"] = this.terrainCity;\n data[\"terrainPostalCode\"] = this.terrainPostalCode;\n data[\"terrainProvince\"] = this.terrainProvince;\n data[\"clubId\"] = this.clubId;\n data[\"terrainCountryId\"] = this.terrainCountryId;\n data[\"countryId\"] = this.countryId;\n data[\"languageId\"] = this.languageId;\n data[\"bcIdentifier\"] = this.bcIdentifier;\n data[\"societyName\"] = this.societyName;\n data[\"bcLanguageCode\"] = this.bcLanguageCode;\n data[\"countryIso\"] = this.countryIso;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface IClubDto {\n name?: string | undefined;\n vatNumber?: string | undefined;\n accountNumber?: string | undefined;\n number?: string | undefined;\n postalCode?: string | undefined;\n street?: string | undefined;\n city?: string | undefined;\n remark?: string | undefined;\n phoneNumber?: string | undefined;\n globalEmail?: string | undefined;\n websiteAdresse?: string | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n provisionalNumber?: string | undefined;\n provisionalNumberDate?: Date | undefined;\n finalNumber?: string | undefined;\n finalNumberDate?: Date | undefined;\n hasLinkedBreed?: boolean;\n terrainNumber?: string | undefined;\n terrainStreet?: string | undefined;\n terrainCity?: string | undefined;\n terrainPostalCode?: string | undefined;\n terrainProvince?: string | undefined;\n clubId?: number;\n terrainCountryId?: number | undefined;\n countryId?: number | undefined;\n languageId?: number;\n bcIdentifier?: string | undefined;\n societyName?: string | undefined;\n bcLanguageCode?: string | undefined;\n countryIso?: string | undefined;\n sharepointUri?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class SaveClubAllowedBreedsDto implements ISaveClubAllowedBreedsDto {\n clubId?: number;\n breedIds?: number[] | undefined;\n\n constructor(data?: ISaveClubAllowedBreedsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubId = _data[\"clubId\"];\n if (Array.isArray(_data[\"breedIds\"])) {\n this.breedIds = [] as any;\n for (let item of _data[\"breedIds\"])\n this.breedIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SaveClubAllowedBreedsDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveClubAllowedBreedsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubId\"] = this.clubId;\n if (Array.isArray(this.breedIds)) {\n data[\"breedIds\"] = [];\n for (let item of this.breedIds)\n data[\"breedIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISaveClubAllowedBreedsDto {\n clubId?: number;\n breedIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfJudgesForClubGridDto implements IPaginatedResultsOfJudgesForClubGridDto {\n totalCount?: number;\n results?: JudgesForClubGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfJudgesForClubGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(JudgesForClubGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfJudgesForClubGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfJudgesForClubGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfJudgesForClubGridDto {\n totalCount?: number;\n results?: JudgesForClubGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class JudgesForClubGridDto implements IJudgesForClubGridDto {\n judgesForClubId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n computedName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n isAptForBeauty?: boolean;\n isAptForWork?: boolean;\n\n constructor(data?: IJudgesForClubGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.judgesForClubId = _data[\"judgesForClubId\"];\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.computedName = _data[\"computedName\"];\n this.language = _data[\"language\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.isAptForBeauty = _data[\"isAptForBeauty\"];\n this.isAptForWork = _data[\"isAptForWork\"];\n }\n }\n\n static fromJS(data: any): JudgesForClubGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new JudgesForClubGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"judgesForClubId\"] = this.judgesForClubId;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"computedName\"] = this.computedName;\n data[\"language\"] = this.language;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"isAptForBeauty\"] = this.isAptForBeauty;\n data[\"isAptForWork\"] = this.isAptForWork;\n return data;\n }\n}\n\nexport interface IJudgesForClubGridDto {\n judgesForClubId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n computedName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n isAptForBeauty?: boolean;\n isAptForWork?: boolean;\n}\n\nexport class JudgesForClubSearch extends PaginatedSearch implements IJudgesForClubSearch {\n clubId?: number;\n languageId?: number;\n firstName?: TextSearch | undefined;\n lastName?: TextSearch | undefined;\n\n constructor(data?: IJudgesForClubSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.clubId = _data[\"clubId\"];\n this.languageId = _data[\"languageId\"];\n this.firstName = _data[\"firstName\"] ? TextSearch.fromJS(_data[\"firstName\"]) : undefined;\n this.lastName = _data[\"lastName\"] ? TextSearch.fromJS(_data[\"lastName\"]) : undefined;\n }\n }\n\n static fromJS(data: any): JudgesForClubSearch {\n data = typeof data === 'object' ? data : {};\n let result = new JudgesForClubSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubId\"] = this.clubId;\n data[\"languageId\"] = this.languageId;\n data[\"firstName\"] = this.firstName ? this.firstName.toJSON() : undefined;\n data[\"lastName\"] = this.lastName ? this.lastName.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IJudgesForClubSearch extends IPaginatedSearch {\n clubId?: number;\n languageId?: number;\n firstName?: TextSearch | undefined;\n lastName?: TextSearch | undefined;\n}\n\nexport class SaveClubJudgeDto implements ISaveClubJudgeDto {\n clubId?: number;\n judgeId?: number;\n isAptForBeauty?: boolean;\n isAptForWork?: boolean;\n\n constructor(data?: ISaveClubJudgeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubId = _data[\"clubId\"];\n this.judgeId = _data[\"judgeId\"];\n this.isAptForBeauty = _data[\"isAptForBeauty\"];\n this.isAptForWork = _data[\"isAptForWork\"];\n }\n }\n\n static fromJS(data: any): SaveClubJudgeDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveClubJudgeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubId\"] = this.clubId;\n data[\"judgeId\"] = this.judgeId;\n data[\"isAptForBeauty\"] = this.isAptForBeauty;\n data[\"isAptForWork\"] = this.isAptForWork;\n return data;\n }\n}\n\nexport interface ISaveClubJudgeDto {\n clubId?: number;\n judgeId?: number;\n isAptForBeauty?: boolean;\n isAptForWork?: boolean;\n}\n\nexport class PaginatedResultsOfClubRoleGridDto implements IPaginatedResultsOfClubRoleGridDto {\n totalCount?: number;\n results?: ClubRoleGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfClubRoleGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ClubRoleGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfClubRoleGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfClubRoleGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfClubRoleGridDto {\n totalCount?: number;\n results?: ClubRoleGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ClubRoleGridDto implements IClubRoleGridDto {\n clubRoleId?: number;\n name?: string | undefined;\n\n constructor(data?: IClubRoleGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubRoleId = _data[\"clubRoleId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): ClubRoleGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubRoleGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubRoleId\"] = this.clubRoleId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IClubRoleGridDto {\n clubRoleId?: number;\n name?: string | undefined;\n}\n\nexport class ClubRoleSearch extends SelectorSearchOfInteger implements IClubRoleSearch {\n name?: TextSearch | undefined;\n languageId?: number;\n\n constructor(data?: IClubRoleSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): ClubRoleSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClubRoleSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClubRoleSearch extends ISelectorSearchOfInteger {\n name?: TextSearch | undefined;\n languageId?: number;\n}\n\nexport class ClubRoleDto implements IClubRoleDto {\n clubRoleId?: number;\n clubRoleTranslations?: ClubRoleTranslationDto[] | undefined;\n remark?: string | undefined;\n\n constructor(data?: IClubRoleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubRoleId = _data[\"clubRoleId\"];\n if (Array.isArray(_data[\"clubRoleTranslations\"])) {\n this.clubRoleTranslations = [] as any;\n for (let item of _data[\"clubRoleTranslations\"])\n this.clubRoleTranslations!.push(ClubRoleTranslationDto.fromJS(item));\n }\n this.remark = _data[\"remark\"];\n }\n }\n\n static fromJS(data: any): ClubRoleDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubRoleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubRoleId\"] = this.clubRoleId;\n if (Array.isArray(this.clubRoleTranslations)) {\n data[\"clubRoleTranslations\"] = [];\n for (let item of this.clubRoleTranslations)\n data[\"clubRoleTranslations\"].push(item.toJSON());\n }\n data[\"remark\"] = this.remark;\n return data;\n }\n}\n\nexport interface IClubRoleDto {\n clubRoleId?: number;\n clubRoleTranslations?: ClubRoleTranslationDto[] | undefined;\n remark?: string | undefined;\n}\n\nexport class ClubRoleTranslationDto implements IClubRoleTranslationDto {\n clubRoleId?: number;\n languageId?: number;\n text?: string | undefined;\n clubRoleTranslationId?: number;\n\n constructor(data?: IClubRoleTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clubRoleId = _data[\"clubRoleId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.clubRoleTranslationId = _data[\"clubRoleTranslationId\"];\n }\n }\n\n static fromJS(data: any): ClubRoleTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubRoleTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clubRoleId\"] = this.clubRoleId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"clubRoleTranslationId\"] = this.clubRoleTranslationId;\n return data;\n }\n}\n\nexport interface IClubRoleTranslationDto {\n clubRoleId?: number;\n languageId?: number;\n text?: string | undefined;\n clubRoleTranslationId?: number;\n}\n\nexport class PaginatedResultsOfClubWorkbookRequestGridDto implements IPaginatedResultsOfClubWorkbookRequestGridDto {\n totalCount?: number;\n results?: ClubWorkbookRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfClubWorkbookRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ClubWorkbookRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfClubWorkbookRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfClubWorkbookRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfClubWorkbookRequestGridDto {\n totalCount?: number;\n results?: ClubWorkbookRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ClubWorkbookRequestGridDto implements IClubWorkbookRequestGridDto {\n requestNumber?: string | undefined;\n requestType?: string | undefined;\n requestDate?: Date;\n requestTypeCode?: ERequestType;\n requestId?: number;\n subRequestId?: number;\n\n constructor(data?: IClubWorkbookRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestNumber = _data[\"requestNumber\"];\n this.requestType = _data[\"requestType\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.requestId = _data[\"requestId\"];\n this.subRequestId = _data[\"subRequestId\"];\n }\n }\n\n static fromJS(data: any): ClubWorkbookRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubWorkbookRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestType\"] = this.requestType;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"requestId\"] = this.requestId;\n data[\"subRequestId\"] = this.subRequestId;\n return data;\n }\n}\n\nexport interface IClubWorkbookRequestGridDto {\n requestNumber?: string | undefined;\n requestType?: string | undefined;\n requestDate?: Date;\n requestTypeCode?: ERequestType;\n requestId?: number;\n subRequestId?: number;\n}\n\nexport class ClubWorkbookRequestSearch extends PaginatedSearch implements IClubWorkbookRequestSearch {\n languageId?: number;\n clubId?: number;\n\n constructor(data?: IClubWorkbookRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.clubId = _data[\"clubId\"];\n }\n }\n\n static fromJS(data: any): ClubWorkbookRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ClubWorkbookRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"clubId\"] = this.clubId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClubWorkbookRequestSearch extends IPaginatedSearch {\n languageId?: number;\n clubId?: number;\n}\n\nexport class PaginatedResultsOfColorGridDto implements IPaginatedResultsOfColorGridDto {\n totalCount?: number;\n results?: ColorGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfColorGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ColorGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfColorGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfColorGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfColorGridDto {\n totalCount?: number;\n results?: ColorGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ColorGridDto implements IColorGridDto {\n colorId?: number;\n name?: string | undefined;\n code?: string | undefined;\n official?: boolean;\n isMerle?: boolean | undefined;\n\n constructor(data?: IColorGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.colorId = _data[\"colorId\"];\n this.name = _data[\"name\"];\n this.code = _data[\"code\"];\n this.official = _data[\"official\"];\n this.isMerle = _data[\"isMerle\"];\n }\n }\n\n static fromJS(data: any): ColorGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ColorGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"colorId\"] = this.colorId;\n data[\"name\"] = this.name;\n data[\"code\"] = this.code;\n data[\"official\"] = this.official;\n data[\"isMerle\"] = this.isMerle;\n return data;\n }\n}\n\nexport interface IColorGridDto {\n colorId?: number;\n name?: string | undefined;\n code?: string | undefined;\n official?: boolean;\n isMerle?: boolean | undefined;\n}\n\nexport class ColorSearch extends PaginatedSearch implements IColorSearch {\n name?: TextSearch | undefined;\n official?: BooleanSearch | undefined;\n isMerle?: BooleanSearch | undefined;\n languageId?: number;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: IColorSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.official = _data[\"official\"] ? BooleanSearch.fromJS(_data[\"official\"]) : undefined;\n this.isMerle = _data[\"isMerle\"] ? BooleanSearch.fromJS(_data[\"isMerle\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): ColorSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ColorSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"official\"] = this.official ? this.official.toJSON() : undefined;\n data[\"isMerle\"] = this.isMerle ? this.isMerle.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IColorSearch extends IPaginatedSearch {\n name?: TextSearch | undefined;\n official?: BooleanSearch | undefined;\n isMerle?: BooleanSearch | undefined;\n languageId?: number;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class PaginatedResultsOfCompetitionGridDto implements IPaginatedResultsOfCompetitionGridDto {\n totalCount?: number;\n results?: CompetitionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfCompetitionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(CompetitionGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfCompetitionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfCompetitionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfCompetitionGridDto {\n totalCount?: number;\n results?: CompetitionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class CompetitionGridDto implements ICompetitionGridDto {\n competitionId?: number;\n competitionRequestId?: number;\n requestNumber?: string | undefined;\n competitionName?: string | undefined;\n competitionDateFrom?: Date;\n competitionDateTo?: Date;\n city?: string | undefined;\n extra?: string | undefined;\n country?: string | undefined;\n subActivity?: string | undefined;\n clubName?: string | undefined;\n\n constructor(data?: ICompetitionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionId = _data[\"competitionId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.competitionName = _data[\"competitionName\"];\n this.competitionDateFrom = _data[\"competitionDateFrom\"] ? new Date(_data[\"competitionDateFrom\"].toString()) : undefined;\n this.competitionDateTo = _data[\"competitionDateTo\"] ? new Date(_data[\"competitionDateTo\"].toString()) : undefined;\n this.city = _data[\"city\"];\n this.extra = _data[\"extra\"];\n this.country = _data[\"country\"];\n this.subActivity = _data[\"subActivity\"];\n this.clubName = _data[\"clubName\"];\n }\n }\n\n static fromJS(data: any): CompetitionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionId\"] = this.competitionId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"competitionName\"] = this.competitionName;\n data[\"competitionDateFrom\"] = this.competitionDateFrom ? this.competitionDateFrom.toISOString() : undefined;\n data[\"competitionDateTo\"] = this.competitionDateTo ? this.competitionDateTo.toISOString() : undefined;\n data[\"city\"] = this.city;\n data[\"extra\"] = this.extra;\n data[\"country\"] = this.country;\n data[\"subActivity\"] = this.subActivity;\n data[\"clubName\"] = this.clubName;\n return data;\n }\n}\n\nexport interface ICompetitionGridDto {\n competitionId?: number;\n competitionRequestId?: number;\n requestNumber?: string | undefined;\n competitionName?: string | undefined;\n competitionDateFrom?: Date;\n competitionDateTo?: Date;\n city?: string | undefined;\n extra?: string | undefined;\n country?: string | undefined;\n subActivity?: string | undefined;\n clubName?: string | undefined;\n}\n\nexport class CompetitionSearch extends PaginatedSearch implements ICompetitionSearch {\n languageId?: number;\n competitionName?: TextSearch | undefined;\n requestNumber?: TextSearch | undefined;\n competitionDateFrom?: DateSearch | undefined;\n competitionDateTo?: DateSearch | undefined;\n city?: TextSearch | undefined;\n country?: TextSearch | undefined;\n\n constructor(data?: ICompetitionSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.competitionName = _data[\"competitionName\"] ? TextSearch.fromJS(_data[\"competitionName\"]) : undefined;\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.competitionDateFrom = _data[\"competitionDateFrom\"] ? DateSearch.fromJS(_data[\"competitionDateFrom\"]) : undefined;\n this.competitionDateTo = _data[\"competitionDateTo\"] ? DateSearch.fromJS(_data[\"competitionDateTo\"]) : undefined;\n this.city = _data[\"city\"] ? TextSearch.fromJS(_data[\"city\"]) : undefined;\n this.country = _data[\"country\"] ? TextSearch.fromJS(_data[\"country\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CompetitionSearch {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"competitionName\"] = this.competitionName ? this.competitionName.toJSON() : undefined;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"competitionDateFrom\"] = this.competitionDateFrom ? this.competitionDateFrom.toJSON() : undefined;\n data[\"competitionDateTo\"] = this.competitionDateTo ? this.competitionDateTo.toJSON() : undefined;\n data[\"city\"] = this.city ? this.city.toJSON() : undefined;\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICompetitionSearch extends IPaginatedSearch {\n languageId?: number;\n competitionName?: TextSearch | undefined;\n requestNumber?: TextSearch | undefined;\n competitionDateFrom?: DateSearch | undefined;\n competitionDateTo?: DateSearch | undefined;\n city?: TextSearch | undefined;\n country?: TextSearch | undefined;\n}\n\nexport class DrupalDisplayCompetitionDto implements IDrupalDisplayCompetitionDto {\n dateFrom?: Date;\n linkTo?: string | undefined;\n activity?: string | undefined;\n subactivity?: string | undefined;\n locality?: string | undefined;\n competitionId?: number;\n\n constructor(data?: IDrupalDisplayCompetitionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.linkTo = _data[\"linkTo\"];\n this.activity = _data[\"activity\"];\n this.subactivity = _data[\"subactivity\"];\n this.locality = _data[\"locality\"];\n this.competitionId = _data[\"competitionId\"];\n }\n }\n\n static fromJS(data: any): DrupalDisplayCompetitionDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalDisplayCompetitionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"linkTo\"] = this.linkTo;\n data[\"activity\"] = this.activity;\n data[\"subactivity\"] = this.subactivity;\n data[\"locality\"] = this.locality;\n data[\"competitionId\"] = this.competitionId;\n return data;\n }\n}\n\nexport interface IDrupalDisplayCompetitionDto {\n dateFrom?: Date;\n linkTo?: string | undefined;\n activity?: string | undefined;\n subactivity?: string | undefined;\n locality?: string | undefined;\n competitionId?: number;\n}\n\nexport class CompetitionDto implements ICompetitionDto {\n competitionId?: number;\n competitionRequestId?: number;\n isImporting?: boolean;\n competitionRequest?: CompetitionRequestDto | undefined;\n competitionStatusId?: number | undefined;\n\n constructor(data?: ICompetitionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionId = _data[\"competitionId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.isImporting = _data[\"isImporting\"];\n this.competitionRequest = _data[\"competitionRequest\"] ? CompetitionRequestDto.fromJS(_data[\"competitionRequest\"]) : undefined;\n this.competitionStatusId = _data[\"competitionStatusId\"];\n }\n }\n\n static fromJS(data: any): CompetitionDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionId\"] = this.competitionId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"isImporting\"] = this.isImporting;\n data[\"competitionRequest\"] = this.competitionRequest ? this.competitionRequest.toJSON() : undefined;\n data[\"competitionStatusId\"] = this.competitionStatusId;\n return data;\n }\n}\n\nexport interface ICompetitionDto {\n competitionId?: number;\n competitionRequestId?: number;\n isImporting?: boolean;\n competitionRequest?: CompetitionRequestDto | undefined;\n competitionStatusId?: number | undefined;\n}\n\nexport class CompetitionRequestDto implements ICompetitionRequestDto {\n competitionRequestId?: number;\n requestId?: number;\n request?: RequestDto | undefined;\n clubSharepointUri?: string | undefined;\n clubRemark?: string | undefined;\n personEmail?: string | undefined;\n competitionName?: string | undefined;\n competitionNamePlaceHolder?: string | undefined;\n competitionId?: number | undefined;\n dateFrom?: Date;\n dateTo?: Date;\n foreignCity?: string | undefined;\n subActivityId?: number;\n subActivityName?: string | undefined;\n countryId?: number | undefined;\n postalCodeId?: number | undefined;\n clubId?: number;\n clubEmail?: string | undefined;\n sectionId?: number;\n activityId?: number;\n extra?: string | undefined;\n clubAddress?: string | undefined;\n otherAddress?: boolean;\n judgeIds?: number[] | undefined;\n catalogReceptionDate?: Date | undefined;\n numberParticipants?: number;\n otherAddressString?: string | undefined;\n requestState?: string | undefined;\n myDogShowAuthorized?: boolean;\n myDogShowBilling?: boolean;\n useTablet?: boolean;\n personId?: number | undefined;\n competitionVolunteerProfiles?: number[] | undefined;\n shouldDouble?: boolean;\n crufts?: boolean;\n\n constructor(data?: ICompetitionRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.clubSharepointUri = _data[\"clubSharepointUri\"];\n this.clubRemark = _data[\"clubRemark\"];\n this.personEmail = _data[\"personEmail\"];\n this.competitionName = _data[\"competitionName\"];\n this.competitionNamePlaceHolder = _data[\"competitionNamePlaceHolder\"];\n this.competitionId = _data[\"competitionId\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.foreignCity = _data[\"foreignCity\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.subActivityName = _data[\"subActivityName\"];\n this.countryId = _data[\"countryId\"];\n this.postalCodeId = _data[\"postalCodeId\"];\n this.clubId = _data[\"clubId\"];\n this.clubEmail = _data[\"clubEmail\"];\n this.sectionId = _data[\"sectionId\"];\n this.activityId = _data[\"activityId\"];\n this.extra = _data[\"extra\"];\n this.clubAddress = _data[\"clubAddress\"];\n this.otherAddress = _data[\"otherAddress\"];\n if (Array.isArray(_data[\"judgeIds\"])) {\n this.judgeIds = [] as any;\n for (let item of _data[\"judgeIds\"])\n this.judgeIds!.push(item);\n }\n this.catalogReceptionDate = _data[\"catalogReceptionDate\"] ? new Date(_data[\"catalogReceptionDate\"].toString()) : undefined;\n this.numberParticipants = _data[\"numberParticipants\"];\n this.otherAddressString = _data[\"otherAddressString\"];\n this.requestState = _data[\"requestState\"];\n this.myDogShowAuthorized = _data[\"myDogShowAuthorized\"];\n this.myDogShowBilling = _data[\"myDogShowBilling\"];\n this.useTablet = _data[\"useTablet\"];\n this.personId = _data[\"personId\"];\n if (Array.isArray(_data[\"competitionVolunteerProfiles\"])) {\n this.competitionVolunteerProfiles = [] as any;\n for (let item of _data[\"competitionVolunteerProfiles\"])\n this.competitionVolunteerProfiles!.push(item);\n }\n this.shouldDouble = _data[\"shouldDouble\"];\n this.crufts = _data[\"crufts\"];\n }\n }\n\n static fromJS(data: any): CompetitionRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"clubSharepointUri\"] = this.clubSharepointUri;\n data[\"clubRemark\"] = this.clubRemark;\n data[\"personEmail\"] = this.personEmail;\n data[\"competitionName\"] = this.competitionName;\n data[\"competitionNamePlaceHolder\"] = this.competitionNamePlaceHolder;\n data[\"competitionId\"] = this.competitionId;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"foreignCity\"] = this.foreignCity;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"subActivityName\"] = this.subActivityName;\n data[\"countryId\"] = this.countryId;\n data[\"postalCodeId\"] = this.postalCodeId;\n data[\"clubId\"] = this.clubId;\n data[\"clubEmail\"] = this.clubEmail;\n data[\"sectionId\"] = this.sectionId;\n data[\"activityId\"] = this.activityId;\n data[\"extra\"] = this.extra;\n data[\"clubAddress\"] = this.clubAddress;\n data[\"otherAddress\"] = this.otherAddress;\n if (Array.isArray(this.judgeIds)) {\n data[\"judgeIds\"] = [];\n for (let item of this.judgeIds)\n data[\"judgeIds\"].push(item);\n }\n data[\"catalogReceptionDate\"] = this.catalogReceptionDate ? this.catalogReceptionDate.toISOString() : undefined;\n data[\"numberParticipants\"] = this.numberParticipants;\n data[\"otherAddressString\"] = this.otherAddressString;\n data[\"requestState\"] = this.requestState;\n data[\"myDogShowAuthorized\"] = this.myDogShowAuthorized;\n data[\"myDogShowBilling\"] = this.myDogShowBilling;\n data[\"useTablet\"] = this.useTablet;\n data[\"personId\"] = this.personId;\n if (Array.isArray(this.competitionVolunteerProfiles)) {\n data[\"competitionVolunteerProfiles\"] = [];\n for (let item of this.competitionVolunteerProfiles)\n data[\"competitionVolunteerProfiles\"].push(item);\n }\n data[\"shouldDouble\"] = this.shouldDouble;\n data[\"crufts\"] = this.crufts;\n return data;\n }\n}\n\nexport interface ICompetitionRequestDto {\n competitionRequestId?: number;\n requestId?: number;\n request?: RequestDto | undefined;\n clubSharepointUri?: string | undefined;\n clubRemark?: string | undefined;\n personEmail?: string | undefined;\n competitionName?: string | undefined;\n competitionNamePlaceHolder?: string | undefined;\n competitionId?: number | undefined;\n dateFrom?: Date;\n dateTo?: Date;\n foreignCity?: string | undefined;\n subActivityId?: number;\n subActivityName?: string | undefined;\n countryId?: number | undefined;\n postalCodeId?: number | undefined;\n clubId?: number;\n clubEmail?: string | undefined;\n sectionId?: number;\n activityId?: number;\n extra?: string | undefined;\n clubAddress?: string | undefined;\n otherAddress?: boolean;\n judgeIds?: number[] | undefined;\n catalogReceptionDate?: Date | undefined;\n numberParticipants?: number;\n otherAddressString?: string | undefined;\n requestState?: string | undefined;\n myDogShowAuthorized?: boolean;\n myDogShowBilling?: boolean;\n useTablet?: boolean;\n personId?: number | undefined;\n competitionVolunteerProfiles?: number[] | undefined;\n shouldDouble?: boolean;\n crufts?: boolean;\n}\n\nexport class DrupalCompetitionDto implements IDrupalCompetitionDto {\n competitionRequestId?: number;\n judges?: DrupalJudgeDto[] | undefined;\n personEmail?: string | undefined;\n clubId?: number;\n dateFrom?: Date | undefined;\n dateTo?: Date | undefined;\n subActivityName?: string | undefined;\n otherAddressString?: string | undefined;\n otherAddress?: boolean;\n clubEmail?: string | undefined;\n clubAddress?: string | undefined;\n\n constructor(data?: IDrupalCompetitionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionRequestId = _data[\"competitionRequestId\"];\n if (Array.isArray(_data[\"judges\"])) {\n this.judges = [] as any;\n for (let item of _data[\"judges\"])\n this.judges!.push(DrupalJudgeDto.fromJS(item));\n }\n this.personEmail = _data[\"personEmail\"];\n this.clubId = _data[\"clubId\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.subActivityName = _data[\"subActivityName\"];\n this.otherAddressString = _data[\"otherAddressString\"];\n this.otherAddress = _data[\"otherAddress\"];\n this.clubEmail = _data[\"clubEmail\"];\n this.clubAddress = _data[\"clubAddress\"];\n }\n }\n\n static fromJS(data: any): DrupalCompetitionDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalCompetitionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionRequestId\"] = this.competitionRequestId;\n if (Array.isArray(this.judges)) {\n data[\"judges\"] = [];\n for (let item of this.judges)\n data[\"judges\"].push(item.toJSON());\n }\n data[\"personEmail\"] = this.personEmail;\n data[\"clubId\"] = this.clubId;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"subActivityName\"] = this.subActivityName;\n data[\"otherAddressString\"] = this.otherAddressString;\n data[\"otherAddress\"] = this.otherAddress;\n data[\"clubEmail\"] = this.clubEmail;\n data[\"clubAddress\"] = this.clubAddress;\n return data;\n }\n}\n\nexport interface IDrupalCompetitionDto {\n competitionRequestId?: number;\n judges?: DrupalJudgeDto[] | undefined;\n personEmail?: string | undefined;\n clubId?: number;\n dateFrom?: Date | undefined;\n dateTo?: Date | undefined;\n subActivityName?: string | undefined;\n otherAddressString?: string | undefined;\n otherAddress?: boolean;\n clubEmail?: string | undefined;\n clubAddress?: string | undefined;\n}\n\nexport class DrupalJudgeDto implements IDrupalJudgeDto {\n computedName?: string | undefined;\n email?: string | undefined;\n\n constructor(data?: IDrupalJudgeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.computedName = _data[\"computedName\"];\n this.email = _data[\"email\"];\n }\n }\n\n static fromJS(data: any): DrupalJudgeDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalJudgeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"computedName\"] = this.computedName;\n data[\"email\"] = this.email;\n return data;\n }\n}\n\nexport interface IDrupalJudgeDto {\n computedName?: string | undefined;\n email?: string | undefined;\n}\n\nexport class PaginatedResultsOfJudgeCompetitionRequestGridDto implements IPaginatedResultsOfJudgeCompetitionRequestGridDto {\n totalCount?: number;\n results?: JudgeCompetitionRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfJudgeCompetitionRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(JudgeCompetitionRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfJudgeCompetitionRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfJudgeCompetitionRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfJudgeCompetitionRequestGridDto {\n totalCount?: number;\n results?: JudgeCompetitionRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class JudgeCompetitionRequestGridDto implements IJudgeCompetitionRequestGridDto {\n judgeId?: number;\n judgeEmail?: string | undefined;\n competitionJudgeId?: number;\n personId?: number;\n country?: string | undefined;\n name?: string | undefined;\n subActivityValidated?: boolean | undefined;\n breedValidated?: boolean | undefined;\n isBelgian?: boolean;\n isBeauty?: boolean;\n isSubActivityBanned?: boolean;\n isBannedFromBreed?: boolean;\n mailSent?: boolean;\n\n constructor(data?: IJudgeCompetitionRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.judgeId = _data[\"judgeId\"];\n this.judgeEmail = _data[\"judgeEmail\"];\n this.competitionJudgeId = _data[\"competitionJudgeId\"];\n this.personId = _data[\"personId\"];\n this.country = _data[\"country\"];\n this.name = _data[\"name\"];\n this.subActivityValidated = _data[\"subActivityValidated\"];\n this.breedValidated = _data[\"breedValidated\"];\n this.isBelgian = _data[\"isBelgian\"];\n this.isBeauty = _data[\"isBeauty\"];\n this.isSubActivityBanned = _data[\"isSubActivityBanned\"];\n this.isBannedFromBreed = _data[\"isBannedFromBreed\"];\n this.mailSent = _data[\"mailSent\"];\n }\n }\n\n static fromJS(data: any): JudgeCompetitionRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeCompetitionRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"judgeId\"] = this.judgeId;\n data[\"judgeEmail\"] = this.judgeEmail;\n data[\"competitionJudgeId\"] = this.competitionJudgeId;\n data[\"personId\"] = this.personId;\n data[\"country\"] = this.country;\n data[\"name\"] = this.name;\n data[\"subActivityValidated\"] = this.subActivityValidated;\n data[\"breedValidated\"] = this.breedValidated;\n data[\"isBelgian\"] = this.isBelgian;\n data[\"isBeauty\"] = this.isBeauty;\n data[\"isSubActivityBanned\"] = this.isSubActivityBanned;\n data[\"isBannedFromBreed\"] = this.isBannedFromBreed;\n data[\"mailSent\"] = this.mailSent;\n return data;\n }\n}\n\nexport interface IJudgeCompetitionRequestGridDto {\n judgeId?: number;\n judgeEmail?: string | undefined;\n competitionJudgeId?: number;\n personId?: number;\n country?: string | undefined;\n name?: string | undefined;\n subActivityValidated?: boolean | undefined;\n breedValidated?: boolean | undefined;\n isBelgian?: boolean;\n isBeauty?: boolean;\n isSubActivityBanned?: boolean;\n isBannedFromBreed?: boolean;\n mailSent?: boolean;\n}\n\nexport class JudgeCompetitionRequestSearch extends PaginatedSearch implements IJudgeCompetitionRequestSearch {\n competitionRequestId?: number;\n\n constructor(data?: IJudgeCompetitionRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.competitionRequestId = _data[\"competitionRequestId\"];\n }\n }\n\n static fromJS(data: any): JudgeCompetitionRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeCompetitionRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionRequestId\"] = this.competitionRequestId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IJudgeCompetitionRequestSearch extends IPaginatedSearch {\n competitionRequestId?: number;\n}\n\nexport class JudgeValidationDto implements IJudgeValidationDto {\n competitionJudgeId?: number;\n breedValidated?: boolean | undefined;\n subActivityValidated?: boolean | undefined;\n\n constructor(data?: IJudgeValidationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionJudgeId = _data[\"competitionJudgeId\"];\n this.breedValidated = _data[\"breedValidated\"];\n this.subActivityValidated = _data[\"subActivityValidated\"];\n }\n }\n\n static fromJS(data: any): JudgeValidationDto {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeValidationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionJudgeId\"] = this.competitionJudgeId;\n data[\"breedValidated\"] = this.breedValidated;\n data[\"subActivityValidated\"] = this.subActivityValidated;\n return data;\n }\n}\n\nexport interface IJudgeValidationDto {\n competitionJudgeId?: number;\n breedValidated?: boolean | undefined;\n subActivityValidated?: boolean | undefined;\n}\n\nexport class PaginatedResultsOfCompetitionRequestGridDto implements IPaginatedResultsOfCompetitionRequestGridDto {\n totalCount?: number;\n results?: CompetitionRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfCompetitionRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(CompetitionRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfCompetitionRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfCompetitionRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfCompetitionRequestGridDto {\n totalCount?: number;\n results?: CompetitionRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class CompetitionRequestGridDto implements ICompetitionRequestGridDto {\n requestId?: number;\n competitionRequestId?: number;\n isBlocked?: boolean;\n requestNumber?: string | undefined;\n requestDate?: Date;\n dateFrom?: Date;\n dateTo?: Date;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n clubId?: number;\n clubName?: string | undefined;\n contactId?: number;\n contact?: string | undefined;\n invoiceNumber?: string | undefined;\n competitionName?: string | undefined;\n myDogShow?: boolean;\n myDogShowActionRequired?: boolean;\n\n constructor(data?: ICompetitionRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.clubId = _data[\"clubId\"];\n this.clubName = _data[\"clubName\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n this.competitionName = _data[\"competitionName\"];\n this.myDogShow = _data[\"myDogShow\"];\n this.myDogShowActionRequired = _data[\"myDogShowActionRequired\"];\n }\n }\n\n static fromJS(data: any): CompetitionRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"clubId\"] = this.clubId;\n data[\"clubName\"] = this.clubName;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n data[\"competitionName\"] = this.competitionName;\n data[\"myDogShow\"] = this.myDogShow;\n data[\"myDogShowActionRequired\"] = this.myDogShowActionRequired;\n return data;\n }\n}\n\nexport interface ICompetitionRequestGridDto {\n requestId?: number;\n competitionRequestId?: number;\n isBlocked?: boolean;\n requestNumber?: string | undefined;\n requestDate?: Date;\n dateFrom?: Date;\n dateTo?: Date;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n clubId?: number;\n clubName?: string | undefined;\n contactId?: number;\n contact?: string | undefined;\n invoiceNumber?: string | undefined;\n competitionName?: string | undefined;\n myDogShow?: boolean;\n myDogShowActionRequired?: boolean;\n}\n\nexport class CompetitionRequestSearch extends PaginatedSearch implements ICompetitionRequestSearch {\n languageId?: number;\n personId?: number | undefined;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n clubName?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n dateFrom?: DateSearch | undefined;\n dateTo?: DateSearch | undefined;\n myDogShowActionRequired?: BooleanSearch | undefined;\n myDogShow?: BooleanSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: ICompetitionRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.personId = _data[\"personId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.clubName = _data[\"clubName\"] ? TextSearch.fromJS(_data[\"clubName\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.dateFrom = _data[\"dateFrom\"] ? DateSearch.fromJS(_data[\"dateFrom\"]) : undefined;\n this.dateTo = _data[\"dateTo\"] ? DateSearch.fromJS(_data[\"dateTo\"]) : undefined;\n this.myDogShowActionRequired = _data[\"myDogShowActionRequired\"] ? BooleanSearch.fromJS(_data[\"myDogShowActionRequired\"]) : undefined;\n this.myDogShow = _data[\"myDogShow\"] ? BooleanSearch.fromJS(_data[\"myDogShow\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CompetitionRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"personId\"] = this.personId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"clubName\"] = this.clubName ? this.clubName.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toJSON() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toJSON() : undefined;\n data[\"myDogShowActionRequired\"] = this.myDogShowActionRequired ? this.myDogShowActionRequired.toJSON() : undefined;\n data[\"myDogShow\"] = this.myDogShow ? this.myDogShow.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICompetitionRequestSearch extends IPaginatedSearch {\n languageId?: number;\n personId?: number | undefined;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n clubName?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n dateFrom?: DateSearch | undefined;\n dateTo?: DateSearch | undefined;\n myDogShowActionRequired?: BooleanSearch | undefined;\n myDogShow?: BooleanSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class IsWorkOrBeautyDto implements IIsWorkOrBeautyDto {\n isBeauty?: boolean;\n isWork?: boolean;\n\n constructor(data?: IIsWorkOrBeautyDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isBeauty = _data[\"isBeauty\"];\n this.isWork = _data[\"isWork\"];\n }\n }\n\n static fromJS(data: any): IsWorkOrBeautyDto {\n data = typeof data === 'object' ? data : {};\n let result = new IsWorkOrBeautyDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isBeauty\"] = this.isBeauty;\n data[\"isWork\"] = this.isWork;\n return data;\n }\n}\n\nexport interface IIsWorkOrBeautyDto {\n isBeauty?: boolean;\n isWork?: boolean;\n}\n\nexport class CompetitionRequestExpoDaysDto implements ICompetitionRequestExpoDaysDto {\n competitionId?: number;\n competitionRequestId?: number;\n competition?: CompetitionDaysCompetitionDto | undefined;\n\n constructor(data?: ICompetitionRequestExpoDaysDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionId = _data[\"competitionId\"];\n this.competitionRequestId = _data[\"competitionRequestId\"];\n this.competition = _data[\"competition\"] ? CompetitionDaysCompetitionDto.fromJS(_data[\"competition\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CompetitionRequestExpoDaysDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionRequestExpoDaysDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionId\"] = this.competitionId;\n data[\"competitionRequestId\"] = this.competitionRequestId;\n data[\"competition\"] = this.competition ? this.competition.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICompetitionRequestExpoDaysDto {\n competitionId?: number;\n competitionRequestId?: number;\n competition?: CompetitionDaysCompetitionDto | undefined;\n}\n\nexport class CompetitionDaysCompetitionDto implements ICompetitionDaysCompetitionDto {\n competitionDays?: CompetitionDaysDto[] | undefined;\n\n constructor(data?: ICompetitionDaysCompetitionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"competitionDays\"])) {\n this.competitionDays = [] as any;\n for (let item of _data[\"competitionDays\"])\n this.competitionDays!.push(CompetitionDaysDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CompetitionDaysCompetitionDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionDaysCompetitionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.competitionDays)) {\n data[\"competitionDays\"] = [];\n for (let item of this.competitionDays)\n data[\"competitionDays\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICompetitionDaysCompetitionDto {\n competitionDays?: CompetitionDaysDto[] | undefined;\n}\n\nexport class CompetitionDaysDto implements ICompetitionDaysDto {\n competitionDayId?: number;\n competitionId?: number;\n dayDate?: Date;\n expos?: ExpoDto[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ICompetitionDaysDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionDayId = _data[\"competitionDayId\"];\n this.competitionId = _data[\"competitionId\"];\n this.dayDate = _data[\"dayDate\"] ? new Date(_data[\"dayDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"expos\"])) {\n this.expos = [] as any;\n for (let item of _data[\"expos\"])\n this.expos!.push(ExpoDto.fromJS(item));\n }\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): CompetitionDaysDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionDaysDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionDayId\"] = this.competitionDayId;\n data[\"competitionId\"] = this.competitionId;\n data[\"dayDate\"] = this.dayDate ? this.dayDate.toISOString() : undefined;\n if (Array.isArray(this.expos)) {\n data[\"expos\"] = [];\n for (let item of this.expos)\n data[\"expos\"].push(item.toJSON());\n }\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ICompetitionDaysDto {\n competitionDayId?: number;\n competitionId?: number;\n dayDate?: Date;\n expos?: ExpoDto[] | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class ExpoDto implements IExpoDto {\n expoId?: number;\n subActivityId?: number;\n name?: string | undefined;\n cruft?: boolean;\n\n constructor(data?: IExpoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.expoId = _data[\"expoId\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.name = _data[\"name\"];\n this.cruft = _data[\"cruft\"];\n }\n }\n\n static fromJS(data: any): ExpoDto {\n data = typeof data === 'object' ? data : {};\n let result = new ExpoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"expoId\"] = this.expoId;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"name\"] = this.name;\n data[\"cruft\"] = this.cruft;\n return data;\n }\n}\n\nexport interface IExpoDto {\n expoId?: number;\n subActivityId?: number;\n name?: string | undefined;\n cruft?: boolean;\n}\n\nexport class CompetitionReportInfoDto implements ICompetitionReportInfoDto {\n sectionId?: number | undefined;\n\n constructor(data?: ICompetitionReportInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sectionId = _data[\"sectionId\"];\n }\n }\n\n static fromJS(data: any): CompetitionReportInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionReportInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sectionId\"] = this.sectionId;\n return data;\n }\n}\n\nexport interface ICompetitionReportInfoDto {\n sectionId?: number | undefined;\n}\n\nexport class PaginatedResultsOfCompetitionResultGridDto implements IPaginatedResultsOfCompetitionResultGridDto {\n totalCount?: number;\n results?: CompetitionResultGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfCompetitionResultGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(CompetitionResultGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfCompetitionResultGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfCompetitionResultGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfCompetitionResultGridDto {\n totalCount?: number;\n results?: CompetitionResultGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class CompetitionResultGridDto implements ICompetitionResultGridDto {\n competitionResultId?: number;\n dog?: string | undefined;\n dogId?: number;\n judge?: string | undefined;\n judgeId?: number;\n qualification?: string | undefined;\n qualificationId?: number;\n result?: number;\n class?: string | undefined;\n expo?: string | undefined;\n catalogNumber?: number | undefined;\n\n constructor(data?: ICompetitionResultGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionResultId = _data[\"competitionResultId\"];\n this.dog = _data[\"dog\"];\n this.dogId = _data[\"dogId\"];\n this.judge = _data[\"judge\"];\n this.judgeId = _data[\"judgeId\"];\n this.qualification = _data[\"qualification\"];\n this.qualificationId = _data[\"qualificationId\"];\n this.result = _data[\"result\"];\n this.class = _data[\"class\"];\n this.expo = _data[\"expo\"];\n this.catalogNumber = _data[\"catalogNumber\"];\n }\n }\n\n static fromJS(data: any): CompetitionResultGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionResultGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionResultId\"] = this.competitionResultId;\n data[\"dog\"] = this.dog;\n data[\"dogId\"] = this.dogId;\n data[\"judge\"] = this.judge;\n data[\"judgeId\"] = this.judgeId;\n data[\"qualification\"] = this.qualification;\n data[\"qualificationId\"] = this.qualificationId;\n data[\"result\"] = this.result;\n data[\"class\"] = this.class;\n data[\"expo\"] = this.expo;\n data[\"catalogNumber\"] = this.catalogNumber;\n return data;\n }\n}\n\nexport interface ICompetitionResultGridDto {\n competitionResultId?: number;\n dog?: string | undefined;\n dogId?: number;\n judge?: string | undefined;\n judgeId?: number;\n qualification?: string | undefined;\n qualificationId?: number;\n result?: number;\n class?: string | undefined;\n expo?: string | undefined;\n catalogNumber?: number | undefined;\n}\n\nexport class CompetitionResultSearch extends PaginatedSearch implements ICompetitionResultSearch {\n languageId?: number;\n competitionId?: number;\n\n constructor(data?: ICompetitionResultSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.competitionId = _data[\"competitionId\"];\n }\n }\n\n static fromJS(data: any): CompetitionResultSearch {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionResultSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"competitionId\"] = this.competitionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICompetitionResultSearch extends IPaginatedSearch {\n languageId?: number;\n competitionId?: number;\n}\n\nexport class CompetitionResultDto implements ICompetitionResultDto {\n competitionResultId?: number;\n competitionId?: number;\n dogId?: number;\n qualificationId?: number;\n dogTitleId?: number | undefined;\n judgeId?: number;\n result?: number;\n catalogNumber?: number | undefined;\n showClass?: string;\n standardConformed?: boolean;\n bestOfBreed?: boolean;\n bestOfSex?: boolean;\n bestInShow?: boolean;\n bestInGroup?: boolean;\n bestVeteran?: boolean;\n bestWorkDog?: boolean;\n bestYouth?: boolean;\n bestMinorPuppy?: boolean;\n bestPuppy?: boolean;\n belgianWinner?: boolean;\n beneluxWinner?: boolean;\n beneluxYouthWinner?: boolean;\n beneluxVeteranWinner?: boolean;\n europeanWinner?: boolean;\n crufts?: boolean;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n cacbl?: boolean;\n cacblReserve?: boolean;\n cacgpo?: boolean;\n cacgpoReserve?: boolean;\n caciag?: boolean;\n caciagReserve?: boolean;\n cacil?: boolean;\n cacilReserve?: boolean;\n caciob?: boolean;\n caciobReserve?: boolean;\n cacit?: boolean;\n cacitReserve?: boolean;\n\n constructor(data?: ICompetitionResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionResultId = _data[\"competitionResultId\"];\n this.competitionId = _data[\"competitionId\"];\n this.dogId = _data[\"dogId\"];\n this.qualificationId = _data[\"qualificationId\"];\n this.dogTitleId = _data[\"dogTitleId\"];\n this.judgeId = _data[\"judgeId\"];\n this.result = _data[\"result\"];\n this.catalogNumber = _data[\"catalogNumber\"];\n this.showClass = _data[\"showClass\"];\n this.standardConformed = _data[\"standardConformed\"];\n this.bestOfBreed = _data[\"bestOfBreed\"];\n this.bestOfSex = _data[\"bestOfSex\"];\n this.bestInShow = _data[\"bestInShow\"];\n this.bestInGroup = _data[\"bestInGroup\"];\n this.bestVeteran = _data[\"bestVeteran\"];\n this.bestWorkDog = _data[\"bestWorkDog\"];\n this.bestYouth = _data[\"bestYouth\"];\n this.bestMinorPuppy = _data[\"bestMinorPuppy\"];\n this.bestPuppy = _data[\"bestPuppy\"];\n this.belgianWinner = _data[\"belgianWinner\"];\n this.beneluxWinner = _data[\"beneluxWinner\"];\n this.beneluxYouthWinner = _data[\"beneluxYouthWinner\"];\n this.beneluxVeteranWinner = _data[\"beneluxVeteranWinner\"];\n this.europeanWinner = _data[\"europeanWinner\"];\n this.crufts = _data[\"crufts\"];\n this.cac = _data[\"cac\"];\n this.cacReserve = _data[\"cacReserve\"];\n this.cacib = _data[\"cacib\"];\n this.cacibReserve = _data[\"cacibReserve\"];\n this.cacbl = _data[\"cacbl\"];\n this.cacblReserve = _data[\"cacblReserve\"];\n this.cacgpo = _data[\"cacgpo\"];\n this.cacgpoReserve = _data[\"cacgpoReserve\"];\n this.caciag = _data[\"caciag\"];\n this.caciagReserve = _data[\"caciagReserve\"];\n this.cacil = _data[\"cacil\"];\n this.cacilReserve = _data[\"cacilReserve\"];\n this.caciob = _data[\"caciob\"];\n this.caciobReserve = _data[\"caciobReserve\"];\n this.cacit = _data[\"cacit\"];\n this.cacitReserve = _data[\"cacitReserve\"];\n }\n }\n\n static fromJS(data: any): CompetitionResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionResultId\"] = this.competitionResultId;\n data[\"competitionId\"] = this.competitionId;\n data[\"dogId\"] = this.dogId;\n data[\"qualificationId\"] = this.qualificationId;\n data[\"dogTitleId\"] = this.dogTitleId;\n data[\"judgeId\"] = this.judgeId;\n data[\"result\"] = this.result;\n data[\"catalogNumber\"] = this.catalogNumber;\n data[\"showClass\"] = this.showClass;\n data[\"standardConformed\"] = this.standardConformed;\n data[\"bestOfBreed\"] = this.bestOfBreed;\n data[\"bestOfSex\"] = this.bestOfSex;\n data[\"bestInShow\"] = this.bestInShow;\n data[\"bestInGroup\"] = this.bestInGroup;\n data[\"bestVeteran\"] = this.bestVeteran;\n data[\"bestWorkDog\"] = this.bestWorkDog;\n data[\"bestYouth\"] = this.bestYouth;\n data[\"bestMinorPuppy\"] = this.bestMinorPuppy;\n data[\"bestPuppy\"] = this.bestPuppy;\n data[\"belgianWinner\"] = this.belgianWinner;\n data[\"beneluxWinner\"] = this.beneluxWinner;\n data[\"beneluxYouthWinner\"] = this.beneluxYouthWinner;\n data[\"beneluxVeteranWinner\"] = this.beneluxVeteranWinner;\n data[\"europeanWinner\"] = this.europeanWinner;\n data[\"crufts\"] = this.crufts;\n data[\"cac\"] = this.cac;\n data[\"cacReserve\"] = this.cacReserve;\n data[\"cacib\"] = this.cacib;\n data[\"cacibReserve\"] = this.cacibReserve;\n data[\"cacbl\"] = this.cacbl;\n data[\"cacblReserve\"] = this.cacblReserve;\n data[\"cacgpo\"] = this.cacgpo;\n data[\"cacgpoReserve\"] = this.cacgpoReserve;\n data[\"caciag\"] = this.caciag;\n data[\"caciagReserve\"] = this.caciagReserve;\n data[\"cacil\"] = this.cacil;\n data[\"cacilReserve\"] = this.cacilReserve;\n data[\"caciob\"] = this.caciob;\n data[\"caciobReserve\"] = this.caciobReserve;\n data[\"cacit\"] = this.cacit;\n data[\"cacitReserve\"] = this.cacitReserve;\n return data;\n }\n}\n\nexport interface ICompetitionResultDto {\n competitionResultId?: number;\n competitionId?: number;\n dogId?: number;\n qualificationId?: number;\n dogTitleId?: number | undefined;\n judgeId?: number;\n result?: number;\n catalogNumber?: number | undefined;\n showClass?: string;\n standardConformed?: boolean;\n bestOfBreed?: boolean;\n bestOfSex?: boolean;\n bestInShow?: boolean;\n bestInGroup?: boolean;\n bestVeteran?: boolean;\n bestWorkDog?: boolean;\n bestYouth?: boolean;\n bestMinorPuppy?: boolean;\n bestPuppy?: boolean;\n belgianWinner?: boolean;\n beneluxWinner?: boolean;\n beneluxYouthWinner?: boolean;\n beneluxVeteranWinner?: boolean;\n europeanWinner?: boolean;\n crufts?: boolean;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n cacbl?: boolean;\n cacblReserve?: boolean;\n cacgpo?: boolean;\n cacgpoReserve?: boolean;\n caciag?: boolean;\n caciagReserve?: boolean;\n cacil?: boolean;\n cacilReserve?: boolean;\n caciob?: boolean;\n caciobReserve?: boolean;\n cacit?: boolean;\n cacitReserve?: boolean;\n}\n\nexport class CompetitionImportDto implements ICompetitionImportDto {\n dogId?: number | undefined;\n automaticDogCreation?: boolean | undefined;\n judgeId?: number | undefined;\n importStatus?: ECompetitionResultImportStatus;\n error?: boolean;\n isSelected?: boolean;\n isAlreadyImported?: boolean;\n automaticDogDto?: AutomaticDogDto | undefined;\n competitionId?: number;\n qualificationId?: number | undefined;\n dogTitleId?: number | undefined;\n result?: number | undefined;\n catalogNumber?: number | undefined;\n showClass?: string;\n standardConformed?: boolean;\n bestOfBreed?: boolean;\n bestOfSex?: boolean;\n bestInShow?: boolean;\n bestInGroup?: boolean;\n bestVeteran?: boolean;\n bestWorkDog?: boolean;\n bestYouth?: boolean;\n bestMinorPuppy?: boolean;\n bestPuppy?: boolean;\n belgianWinner?: boolean;\n beneluxWinner?: boolean;\n beneluxYouthWinner?: boolean;\n beneluxVeteranWinner?: boolean;\n europeanWinner?: boolean;\n crufts?: boolean;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n cacbl?: boolean;\n cacblReserve?: boolean;\n cacgpo?: boolean;\n cacgpoReserve?: boolean;\n caciag?: boolean;\n caciagReserve?: boolean;\n cacil?: boolean;\n cacilReserve?: boolean;\n caciob?: boolean;\n caciobReserve?: boolean;\n cacit?: boolean;\n cacitReserve?: boolean;\n\n constructor(data?: ICompetitionImportDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.automaticDogCreation = _data[\"automaticDogCreation\"];\n this.judgeId = _data[\"judgeId\"];\n this.importStatus = _data[\"importStatus\"];\n this.error = _data[\"error\"];\n this.isSelected = _data[\"isSelected\"];\n this.isAlreadyImported = _data[\"isAlreadyImported\"];\n this.automaticDogDto = _data[\"automaticDogDto\"] ? AutomaticDogDto.fromJS(_data[\"automaticDogDto\"]) : undefined;\n this.competitionId = _data[\"competitionId\"];\n this.qualificationId = _data[\"qualificationId\"];\n this.dogTitleId = _data[\"dogTitleId\"];\n this.result = _data[\"result\"];\n this.catalogNumber = _data[\"catalogNumber\"];\n this.showClass = _data[\"showClass\"];\n this.standardConformed = _data[\"standardConformed\"];\n this.bestOfBreed = _data[\"bestOfBreed\"];\n this.bestOfSex = _data[\"bestOfSex\"];\n this.bestInShow = _data[\"bestInShow\"];\n this.bestInGroup = _data[\"bestInGroup\"];\n this.bestVeteran = _data[\"bestVeteran\"];\n this.bestWorkDog = _data[\"bestWorkDog\"];\n this.bestYouth = _data[\"bestYouth\"];\n this.bestMinorPuppy = _data[\"bestMinorPuppy\"];\n this.bestPuppy = _data[\"bestPuppy\"];\n this.belgianWinner = _data[\"belgianWinner\"];\n this.beneluxWinner = _data[\"beneluxWinner\"];\n this.beneluxYouthWinner = _data[\"beneluxYouthWinner\"];\n this.beneluxVeteranWinner = _data[\"beneluxVeteranWinner\"];\n this.europeanWinner = _data[\"europeanWinner\"];\n this.crufts = _data[\"crufts\"];\n this.cac = _data[\"cac\"];\n this.cacReserve = _data[\"cacReserve\"];\n this.cacib = _data[\"cacib\"];\n this.cacibReserve = _data[\"cacibReserve\"];\n this.cacbl = _data[\"cacbl\"];\n this.cacblReserve = _data[\"cacblReserve\"];\n this.cacgpo = _data[\"cacgpo\"];\n this.cacgpoReserve = _data[\"cacgpoReserve\"];\n this.caciag = _data[\"caciag\"];\n this.caciagReserve = _data[\"caciagReserve\"];\n this.cacil = _data[\"cacil\"];\n this.cacilReserve = _data[\"cacilReserve\"];\n this.caciob = _data[\"caciob\"];\n this.caciobReserve = _data[\"caciobReserve\"];\n this.cacit = _data[\"cacit\"];\n this.cacitReserve = _data[\"cacitReserve\"];\n }\n }\n\n static fromJS(data: any): CompetitionImportDto {\n data = typeof data === 'object' ? data : {};\n let result = new CompetitionImportDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"automaticDogCreation\"] = this.automaticDogCreation;\n data[\"judgeId\"] = this.judgeId;\n data[\"importStatus\"] = this.importStatus;\n data[\"error\"] = this.error;\n data[\"isSelected\"] = this.isSelected;\n data[\"isAlreadyImported\"] = this.isAlreadyImported;\n data[\"automaticDogDto\"] = this.automaticDogDto ? this.automaticDogDto.toJSON() : undefined;\n data[\"competitionId\"] = this.competitionId;\n data[\"qualificationId\"] = this.qualificationId;\n data[\"dogTitleId\"] = this.dogTitleId;\n data[\"result\"] = this.result;\n data[\"catalogNumber\"] = this.catalogNumber;\n data[\"showClass\"] = this.showClass;\n data[\"standardConformed\"] = this.standardConformed;\n data[\"bestOfBreed\"] = this.bestOfBreed;\n data[\"bestOfSex\"] = this.bestOfSex;\n data[\"bestInShow\"] = this.bestInShow;\n data[\"bestInGroup\"] = this.bestInGroup;\n data[\"bestVeteran\"] = this.bestVeteran;\n data[\"bestWorkDog\"] = this.bestWorkDog;\n data[\"bestYouth\"] = this.bestYouth;\n data[\"bestMinorPuppy\"] = this.bestMinorPuppy;\n data[\"bestPuppy\"] = this.bestPuppy;\n data[\"belgianWinner\"] = this.belgianWinner;\n data[\"beneluxWinner\"] = this.beneluxWinner;\n data[\"beneluxYouthWinner\"] = this.beneluxYouthWinner;\n data[\"beneluxVeteranWinner\"] = this.beneluxVeteranWinner;\n data[\"europeanWinner\"] = this.europeanWinner;\n data[\"crufts\"] = this.crufts;\n data[\"cac\"] = this.cac;\n data[\"cacReserve\"] = this.cacReserve;\n data[\"cacib\"] = this.cacib;\n data[\"cacibReserve\"] = this.cacibReserve;\n data[\"cacbl\"] = this.cacbl;\n data[\"cacblReserve\"] = this.cacblReserve;\n data[\"cacgpo\"] = this.cacgpo;\n data[\"cacgpoReserve\"] = this.cacgpoReserve;\n data[\"caciag\"] = this.caciag;\n data[\"caciagReserve\"] = this.caciagReserve;\n data[\"cacil\"] = this.cacil;\n data[\"cacilReserve\"] = this.cacilReserve;\n data[\"caciob\"] = this.caciob;\n data[\"caciobReserve\"] = this.caciobReserve;\n data[\"cacit\"] = this.cacit;\n data[\"cacitReserve\"] = this.cacitReserve;\n return data;\n }\n}\n\nexport interface ICompetitionImportDto {\n dogId?: number | undefined;\n automaticDogCreation?: boolean | undefined;\n judgeId?: number | undefined;\n importStatus?: ECompetitionResultImportStatus;\n error?: boolean;\n isSelected?: boolean;\n isAlreadyImported?: boolean;\n automaticDogDto?: AutomaticDogDto | undefined;\n competitionId?: number;\n qualificationId?: number | undefined;\n dogTitleId?: number | undefined;\n result?: number | undefined;\n catalogNumber?: number | undefined;\n showClass?: string;\n standardConformed?: boolean;\n bestOfBreed?: boolean;\n bestOfSex?: boolean;\n bestInShow?: boolean;\n bestInGroup?: boolean;\n bestVeteran?: boolean;\n bestWorkDog?: boolean;\n bestYouth?: boolean;\n bestMinorPuppy?: boolean;\n bestPuppy?: boolean;\n belgianWinner?: boolean;\n beneluxWinner?: boolean;\n beneluxYouthWinner?: boolean;\n beneluxVeteranWinner?: boolean;\n europeanWinner?: boolean;\n crufts?: boolean;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n cacbl?: boolean;\n cacblReserve?: boolean;\n cacgpo?: boolean;\n cacgpoReserve?: boolean;\n caciag?: boolean;\n caciagReserve?: boolean;\n cacil?: boolean;\n cacilReserve?: boolean;\n caciob?: boolean;\n caciobReserve?: boolean;\n cacit?: boolean;\n cacitReserve?: boolean;\n}\n\nexport enum ECompetitionResultImportStatus {\n ALREADY_IMPORTED = \"ALREADY_IMPORTED\",\n OK = \"OK\",\n NOK_DOG_MISSING = \"NOK_DOG_MISSING\",\n NOK_JUDGE_MISSING = \"NOK_JUDGE_MISSING\",\n NOK_DOG_MISSING_CANNOT_CREATE = \"NOK_DOG_MISSING_CANNOT_CREATE\",\n NOK_INFORMATION_MISSING = \"NOK_INFORMATION_MISSING\",\n}\n\nexport class AutomaticDogDto implements IAutomaticDogDto {\n dogId?: number | undefined;\n firstName?: string | undefined;\n birthDate?: Date | undefined;\n breedId?: number;\n colorId?: number;\n dogTypeId?: number;\n sex?: EDogSex;\n chipNumber?: string | undefined;\n tatoo?: string | undefined;\n ownerFirstName?: string | undefined;\n ownerLastName?: string | undefined;\n ownerEmail?: string | undefined;\n countryId?: number;\n\n constructor(data?: IAutomaticDogDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.firstName = _data[\"firstName\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.breedId = _data[\"breedId\"];\n this.colorId = _data[\"colorId\"];\n this.dogTypeId = _data[\"dogTypeId\"];\n this.sex = _data[\"sex\"];\n this.chipNumber = _data[\"chipNumber\"];\n this.tatoo = _data[\"tatoo\"];\n this.ownerFirstName = _data[\"ownerFirstName\"];\n this.ownerLastName = _data[\"ownerLastName\"];\n this.ownerEmail = _data[\"ownerEmail\"];\n this.countryId = _data[\"countryId\"];\n }\n }\n\n static fromJS(data: any): AutomaticDogDto {\n data = typeof data === 'object' ? data : {};\n let result = new AutomaticDogDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"firstName\"] = this.firstName;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"breedId\"] = this.breedId;\n data[\"colorId\"] = this.colorId;\n data[\"dogTypeId\"] = this.dogTypeId;\n data[\"sex\"] = this.sex;\n data[\"chipNumber\"] = this.chipNumber;\n data[\"tatoo\"] = this.tatoo;\n data[\"ownerFirstName\"] = this.ownerFirstName;\n data[\"ownerLastName\"] = this.ownerLastName;\n data[\"ownerEmail\"] = this.ownerEmail;\n data[\"countryId\"] = this.countryId;\n return data;\n }\n}\n\nexport interface IAutomaticDogDto {\n dogId?: number | undefined;\n firstName?: string | undefined;\n birthDate?: Date | undefined;\n breedId?: number;\n colorId?: number;\n dogTypeId?: number;\n sex?: EDogSex;\n chipNumber?: string | undefined;\n tatoo?: string | undefined;\n ownerFirstName?: string | undefined;\n ownerLastName?: string | undefined;\n ownerEmail?: string | undefined;\n countryId?: number;\n}\n\nexport class PaginatedResultsOfCountryGridDto implements IPaginatedResultsOfCountryGridDto {\n totalCount?: number;\n results?: CountryGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfCountryGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(CountryGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfCountryGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfCountryGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfCountryGridDto {\n totalCount?: number;\n results?: CountryGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class CountryGridDto implements ICountryGridDto {\n countryId?: number;\n isoCode?: string | undefined;\n isoAs400?: string | undefined;\n name?: string | undefined;\n emailForBeautyJudge?: string | undefined;\n flagLink?: string | undefined;\n\n constructor(data?: ICountryGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryId = _data[\"countryId\"];\n this.isoCode = _data[\"isoCode\"];\n this.isoAs400 = _data[\"isoAs400\"];\n this.name = _data[\"name\"];\n this.emailForBeautyJudge = _data[\"emailForBeautyJudge\"];\n this.flagLink = _data[\"flagLink\"];\n }\n }\n\n static fromJS(data: any): CountryGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new CountryGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryId\"] = this.countryId;\n data[\"isoCode\"] = this.isoCode;\n data[\"isoAs400\"] = this.isoAs400;\n data[\"name\"] = this.name;\n data[\"emailForBeautyJudge\"] = this.emailForBeautyJudge;\n data[\"flagLink\"] = this.flagLink;\n return data;\n }\n}\n\nexport interface ICountryGridDto {\n countryId?: number;\n isoCode?: string | undefined;\n isoAs400?: string | undefined;\n name?: string | undefined;\n emailForBeautyJudge?: string | undefined;\n flagLink?: string | undefined;\n}\n\nexport class CountrySearch extends PaginatedSearch implements ICountrySearch {\n name?: TextSearch | undefined;\n isoCode?: TextSearch | undefined;\n languageId?: number;\n\n constructor(data?: ICountrySearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.isoCode = _data[\"isoCode\"] ? TextSearch.fromJS(_data[\"isoCode\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): CountrySearch {\n data = typeof data === 'object' ? data : {};\n let result = new CountrySearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"isoCode\"] = this.isoCode ? this.isoCode.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICountrySearch extends IPaginatedSearch {\n name?: TextSearch | undefined;\n isoCode?: TextSearch | undefined;\n languageId?: number;\n}\n\nexport class CountryDto implements ICountryDto {\n countryId?: number;\n countryTranslations?: CountryTranslationDto[] | undefined;\n languageIds?: number[] | undefined;\n isoCode?: string | undefined;\n isoAs400?: string | undefined;\n canineNumber?: string | undefined;\n canineStreet?: string | undefined;\n caninePostalCode?: string | undefined;\n canineCity?: string | undefined;\n canineGlobalEmail?: string | undefined;\n emailForJudgeInCompetition?: string | undefined;\n emailForWorkAttest?: string | undefined;\n emailForBeautyJudge?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n flagLink?: string | undefined;\n sharepointUri?: string | undefined;\n\n constructor(data?: ICountryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryId = _data[\"countryId\"];\n if (Array.isArray(_data[\"countryTranslations\"])) {\n this.countryTranslations = [] as any;\n for (let item of _data[\"countryTranslations\"])\n this.countryTranslations!.push(CountryTranslationDto.fromJS(item));\n }\n if (Array.isArray(_data[\"languageIds\"])) {\n this.languageIds = [] as any;\n for (let item of _data[\"languageIds\"])\n this.languageIds!.push(item);\n }\n this.isoCode = _data[\"isoCode\"];\n this.isoAs400 = _data[\"isoAs400\"];\n this.canineNumber = _data[\"canineNumber\"];\n this.canineStreet = _data[\"canineStreet\"];\n this.caninePostalCode = _data[\"caninePostalCode\"];\n this.canineCity = _data[\"canineCity\"];\n this.canineGlobalEmail = _data[\"canineGlobalEmail\"];\n this.emailForJudgeInCompetition = _data[\"emailForJudgeInCompetition\"];\n this.emailForWorkAttest = _data[\"emailForWorkAttest\"];\n this.emailForBeautyJudge = _data[\"emailForBeautyJudge\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.flagLink = _data[\"flagLink\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n }\n }\n\n static fromJS(data: any): CountryDto {\n data = typeof data === 'object' ? data : {};\n let result = new CountryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryId\"] = this.countryId;\n if (Array.isArray(this.countryTranslations)) {\n data[\"countryTranslations\"] = [];\n for (let item of this.countryTranslations)\n data[\"countryTranslations\"].push(item.toJSON());\n }\n if (Array.isArray(this.languageIds)) {\n data[\"languageIds\"] = [];\n for (let item of this.languageIds)\n data[\"languageIds\"].push(item);\n }\n data[\"isoCode\"] = this.isoCode;\n data[\"isoAs400\"] = this.isoAs400;\n data[\"canineNumber\"] = this.canineNumber;\n data[\"canineStreet\"] = this.canineStreet;\n data[\"caninePostalCode\"] = this.caninePostalCode;\n data[\"canineCity\"] = this.canineCity;\n data[\"canineGlobalEmail\"] = this.canineGlobalEmail;\n data[\"emailForJudgeInCompetition\"] = this.emailForJudgeInCompetition;\n data[\"emailForWorkAttest\"] = this.emailForWorkAttest;\n data[\"emailForBeautyJudge\"] = this.emailForBeautyJudge;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"flagLink\"] = this.flagLink;\n data[\"sharepointUri\"] = this.sharepointUri;\n return data;\n }\n}\n\nexport interface ICountryDto {\n countryId?: number;\n countryTranslations?: CountryTranslationDto[] | undefined;\n languageIds?: number[] | undefined;\n isoCode?: string | undefined;\n isoAs400?: string | undefined;\n canineNumber?: string | undefined;\n canineStreet?: string | undefined;\n caninePostalCode?: string | undefined;\n canineCity?: string | undefined;\n canineGlobalEmail?: string | undefined;\n emailForJudgeInCompetition?: string | undefined;\n emailForWorkAttest?: string | undefined;\n emailForBeautyJudge?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n flagLink?: string | undefined;\n sharepointUri?: string | undefined;\n}\n\nexport class CountryTranslationDto implements ICountryTranslationDto {\n languageId?: number;\n countryId?: number;\n text?: string | undefined;\n breedTranslationId?: number;\n\n constructor(data?: ICountryTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.countryId = _data[\"countryId\"];\n this.text = _data[\"text\"];\n this.breedTranslationId = _data[\"breedTranslationId\"];\n }\n }\n\n static fromJS(data: any): CountryTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new CountryTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"countryId\"] = this.countryId;\n data[\"text\"] = this.text;\n data[\"breedTranslationId\"] = this.breedTranslationId;\n return data;\n }\n}\n\nexport interface ICountryTranslationDto {\n languageId?: number;\n countryId?: number;\n text?: string | undefined;\n breedTranslationId?: number;\n}\n\nexport class PaginatedResultsOfDashboardTaskGridDto implements IPaginatedResultsOfDashboardTaskGridDto {\n totalCount?: number;\n results?: DashboardTaskGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDashboardTaskGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DashboardTaskGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDashboardTaskGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDashboardTaskGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDashboardTaskGridDto {\n totalCount?: number;\n results?: DashboardTaskGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DashboardTaskGridDto implements IDashboardTaskGridDto {\n requestNumber?: string | undefined;\n requestId?: number;\n requestTypeId?: number;\n dashboardTaskId?: number;\n requestDate?: Date;\n requestState?: string | undefined;\n requestType?: string | undefined;\n contact?: string | undefined;\n personId?: number;\n requestTypeCode?: ERequestType;\n containsPuppiesToTreat?: boolean;\n allPuppiesToTreat?: boolean;\n readyToBill?: boolean;\n subTasks?: DashboardSubTaskGridDto[] | undefined;\n\n constructor(data?: IDashboardTaskGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestNumber = _data[\"requestNumber\"];\n this.requestId = _data[\"requestId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.dashboardTaskId = _data[\"dashboardTaskId\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestState = _data[\"requestState\"];\n this.requestType = _data[\"requestType\"];\n this.contact = _data[\"contact\"];\n this.personId = _data[\"personId\"];\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.containsPuppiesToTreat = _data[\"containsPuppiesToTreat\"];\n this.allPuppiesToTreat = _data[\"allPuppiesToTreat\"];\n this.readyToBill = _data[\"readyToBill\"];\n if (Array.isArray(_data[\"subTasks\"])) {\n this.subTasks = [] as any;\n for (let item of _data[\"subTasks\"])\n this.subTasks!.push(DashboardSubTaskGridDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DashboardTaskGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardTaskGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestId\"] = this.requestId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"dashboardTaskId\"] = this.dashboardTaskId;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestState\"] = this.requestState;\n data[\"requestType\"] = this.requestType;\n data[\"contact\"] = this.contact;\n data[\"personId\"] = this.personId;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"containsPuppiesToTreat\"] = this.containsPuppiesToTreat;\n data[\"allPuppiesToTreat\"] = this.allPuppiesToTreat;\n data[\"readyToBill\"] = this.readyToBill;\n if (Array.isArray(this.subTasks)) {\n data[\"subTasks\"] = [];\n for (let item of this.subTasks)\n data[\"subTasks\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDashboardTaskGridDto {\n requestNumber?: string | undefined;\n requestId?: number;\n requestTypeId?: number;\n dashboardTaskId?: number;\n requestDate?: Date;\n requestState?: string | undefined;\n requestType?: string | undefined;\n contact?: string | undefined;\n personId?: number;\n requestTypeCode?: ERequestType;\n containsPuppiesToTreat?: boolean;\n allPuppiesToTreat?: boolean;\n readyToBill?: boolean;\n subTasks?: DashboardSubTaskGridDto[] | undefined;\n}\n\nexport class DashboardSubTaskGridDto implements IDashboardSubTaskGridDto {\n task?: string | undefined;\n closedOn?: Date | undefined;\n dashboardTaskId?: number;\n\n constructor(data?: IDashboardSubTaskGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.task = _data[\"task\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.dashboardTaskId = _data[\"dashboardTaskId\"];\n }\n }\n\n static fromJS(data: any): DashboardSubTaskGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardSubTaskGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"task\"] = this.task;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"dashboardTaskId\"] = this.dashboardTaskId;\n return data;\n }\n}\n\nexport interface IDashboardSubTaskGridDto {\n task?: string | undefined;\n closedOn?: Date | undefined;\n dashboardTaskId?: number;\n}\n\nexport class DashboardSearch extends PaginatedSearch implements IDashboardSearch {\n languageId?: number;\n assigned?: boolean;\n department?: EDepartment | undefined;\n taskType?: ETaskType | undefined;\n requestNumber?: TextSearch | undefined;\n containsPuppiesToTreat?: BooleanSearch | undefined;\n allPuppiesToTreat?: BooleanSearch | undefined;\n requestTypeId?: ListSearchOfNullableInteger | undefined;\n readyToBill?: BooleanSearch | undefined;\n\n constructor(data?: IDashboardSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.assigned = _data[\"assigned\"];\n this.department = _data[\"department\"];\n this.taskType = _data[\"taskType\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.containsPuppiesToTreat = _data[\"containsPuppiesToTreat\"] ? BooleanSearch.fromJS(_data[\"containsPuppiesToTreat\"]) : undefined;\n this.allPuppiesToTreat = _data[\"allPuppiesToTreat\"] ? BooleanSearch.fromJS(_data[\"allPuppiesToTreat\"]) : undefined;\n this.requestTypeId = _data[\"requestTypeId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestTypeId\"]) : undefined;\n this.readyToBill = _data[\"readyToBill\"] ? BooleanSearch.fromJS(_data[\"readyToBill\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DashboardSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"assigned\"] = this.assigned;\n data[\"department\"] = this.department;\n data[\"taskType\"] = this.taskType;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"containsPuppiesToTreat\"] = this.containsPuppiesToTreat ? this.containsPuppiesToTreat.toJSON() : undefined;\n data[\"allPuppiesToTreat\"] = this.allPuppiesToTreat ? this.allPuppiesToTreat.toJSON() : undefined;\n data[\"requestTypeId\"] = this.requestTypeId ? this.requestTypeId.toJSON() : undefined;\n data[\"readyToBill\"] = this.readyToBill ? this.readyToBill.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDashboardSearch extends IPaginatedSearch {\n languageId?: number;\n assigned?: boolean;\n department?: EDepartment | undefined;\n taskType?: ETaskType | undefined;\n requestNumber?: TextSearch | undefined;\n containsPuppiesToTreat?: BooleanSearch | undefined;\n allPuppiesToTreat?: BooleanSearch | undefined;\n requestTypeId?: ListSearchOfNullableInteger | undefined;\n readyToBill?: BooleanSearch | undefined;\n}\n\nexport class PaginatedResultsOfDashboardSubTaskGridDto implements IPaginatedResultsOfDashboardSubTaskGridDto {\n totalCount?: number;\n results?: DashboardSubTaskGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDashboardSubTaskGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DashboardSubTaskGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDashboardSubTaskGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDashboardSubTaskGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDashboardSubTaskGridDto {\n totalCount?: number;\n results?: DashboardSubTaskGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DashboardDogSearch extends PaginatedSearch implements IDashboardDogSearch {\n languageId?: number;\n assigned?: boolean;\n showClosed?: boolean;\n task?: TextSearch | undefined;\n\n constructor(data?: IDashboardDogSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.assigned = _data[\"assigned\"];\n this.showClosed = _data[\"showClosed\"];\n this.task = _data[\"task\"] ? TextSearch.fromJS(_data[\"task\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DashboardDogSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardDogSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"assigned\"] = this.assigned;\n data[\"showClosed\"] = this.showClosed;\n data[\"task\"] = this.task ? this.task.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDashboardDogSearch extends IPaginatedSearch {\n languageId?: number;\n assigned?: boolean;\n showClosed?: boolean;\n task?: TextSearch | undefined;\n}\n\nexport class PaginatedResultsOfDocumentTemplateGridDto implements IPaginatedResultsOfDocumentTemplateGridDto {\n totalCount?: number;\n results?: DocumentTemplateGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDocumentTemplateGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DocumentTemplateGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDocumentTemplateGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDocumentTemplateGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDocumentTemplateGridDto {\n totalCount?: number;\n results?: DocumentTemplateGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DocumentTemplateGridDto implements IDocumentTemplateGridDto {\n documentTemplateId?: number;\n templateCode?: EDocumentTemplate;\n description?: string | undefined;\n frContent?: boolean;\n enContent?: boolean;\n nlcontent?: boolean;\n\n constructor(data?: IDocumentTemplateGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.documentTemplateId = _data[\"documentTemplateId\"];\n this.templateCode = _data[\"templateCode\"];\n this.description = _data[\"description\"];\n this.frContent = _data[\"frContent\"];\n this.enContent = _data[\"enContent\"];\n this.nlcontent = _data[\"nlcontent\"];\n }\n }\n\n static fromJS(data: any): DocumentTemplateGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentTemplateGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"documentTemplateId\"] = this.documentTemplateId;\n data[\"templateCode\"] = this.templateCode;\n data[\"description\"] = this.description;\n data[\"frContent\"] = this.frContent;\n data[\"enContent\"] = this.enContent;\n data[\"nlcontent\"] = this.nlcontent;\n return data;\n }\n}\n\nexport interface IDocumentTemplateGridDto {\n documentTemplateId?: number;\n templateCode?: EDocumentTemplate;\n description?: string | undefined;\n frContent?: boolean;\n enContent?: boolean;\n nlcontent?: boolean;\n}\n\nexport class DocumentTemplateSearch extends PaginatedSearch implements IDocumentTemplateSearch {\n templateCode?: ListSearchOfNullableEDocumentTemplate | undefined;\n description?: TextSearch | undefined;\n frContent?: BooleanSearch | undefined;\n enContent?: BooleanSearch | undefined;\n nlcontent?: BooleanSearch | undefined;\n\n constructor(data?: IDocumentTemplateSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.templateCode = _data[\"templateCode\"] ? ListSearchOfNullableEDocumentTemplate.fromJS(_data[\"templateCode\"]) : undefined;\n this.description = _data[\"description\"] ? TextSearch.fromJS(_data[\"description\"]) : undefined;\n this.frContent = _data[\"frContent\"] ? BooleanSearch.fromJS(_data[\"frContent\"]) : undefined;\n this.enContent = _data[\"enContent\"] ? BooleanSearch.fromJS(_data[\"enContent\"]) : undefined;\n this.nlcontent = _data[\"nlcontent\"] ? BooleanSearch.fromJS(_data[\"nlcontent\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DocumentTemplateSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentTemplateSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"templateCode\"] = this.templateCode ? this.templateCode.toJSON() : undefined;\n data[\"description\"] = this.description ? this.description.toJSON() : undefined;\n data[\"frContent\"] = this.frContent ? this.frContent.toJSON() : undefined;\n data[\"enContent\"] = this.enContent ? this.enContent.toJSON() : undefined;\n data[\"nlcontent\"] = this.nlcontent ? this.nlcontent.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDocumentTemplateSearch extends IPaginatedSearch {\n templateCode?: ListSearchOfNullableEDocumentTemplate | undefined;\n description?: TextSearch | undefined;\n frContent?: BooleanSearch | undefined;\n enContent?: BooleanSearch | undefined;\n nlcontent?: BooleanSearch | undefined;\n}\n\nexport abstract class FilterCriteriaBaseOfEListSearchTypeAndNullableEDocumentTemplate implements IFilterCriteriaBaseOfEListSearchTypeAndNullableEDocumentTemplate {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate[] | undefined;\n searchMode?: EListSearchType;\n value?: EDocumentTemplate | undefined;\n secondaryValue?: EDocumentTemplate | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEListSearchTypeAndNullableEDocumentTemplate) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEListSearchTypeAndNullableEDocumentTemplate {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEListSearchTypeAndNullableEDocumentTemplate' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEListSearchTypeAndNullableEDocumentTemplate {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate[] | undefined;\n searchMode?: EListSearchType;\n value?: EDocumentTemplate | undefined;\n secondaryValue?: EDocumentTemplate | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class ListSearchOfNullableEDocumentTemplate extends FilterCriteriaBaseOfEListSearchTypeAndNullableEDocumentTemplate implements IListSearchOfNullableEDocumentTemplate {\n\n constructor(data?: IListSearchOfNullableEDocumentTemplate) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ListSearchOfNullableEDocumentTemplate {\n data = typeof data === 'object' ? data : {};\n let result = new ListSearchOfNullableEDocumentTemplate();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IListSearchOfNullableEDocumentTemplate extends IFilterCriteriaBaseOfEListSearchTypeAndNullableEDocumentTemplate {\n}\n\nexport class CombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate implements ICombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate {\n searchMode?: EListSearchType;\n value?: EDocumentTemplate | undefined;\n secondaryValue?: EDocumentTemplate | undefined;\n\n constructor(data?: ICombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEListSearchTypeAndNullableEDocumentTemplate {\n searchMode?: EListSearchType;\n value?: EDocumentTemplate | undefined;\n secondaryValue?: EDocumentTemplate | undefined;\n}\n\nexport class DocumentTemplateDto implements IDocumentTemplateDto {\n documentTemplateId?: number;\n templateCode?: EDocumentTemplate;\n printer?: string | undefined;\n paperDecoration?: EPaperDecorationType;\n printMethod?: EPrintMethod | undefined;\n documentContent?: DocumentContentDto[] | undefined;\n\n constructor(data?: IDocumentTemplateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.documentTemplateId = _data[\"documentTemplateId\"];\n this.templateCode = _data[\"templateCode\"];\n this.printer = _data[\"printer\"];\n this.paperDecoration = _data[\"paperDecoration\"];\n this.printMethod = _data[\"printMethod\"];\n if (Array.isArray(_data[\"documentContent\"])) {\n this.documentContent = [] as any;\n for (let item of _data[\"documentContent\"])\n this.documentContent!.push(DocumentContentDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DocumentTemplateDto {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentTemplateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"documentTemplateId\"] = this.documentTemplateId;\n data[\"templateCode\"] = this.templateCode;\n data[\"printer\"] = this.printer;\n data[\"paperDecoration\"] = this.paperDecoration;\n data[\"printMethod\"] = this.printMethod;\n if (Array.isArray(this.documentContent)) {\n data[\"documentContent\"] = [];\n for (let item of this.documentContent)\n data[\"documentContent\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDocumentTemplateDto {\n documentTemplateId?: number;\n templateCode?: EDocumentTemplate;\n printer?: string | undefined;\n paperDecoration?: EPaperDecorationType;\n printMethod?: EPrintMethod | undefined;\n documentContent?: DocumentContentDto[] | undefined;\n}\n\nexport enum EPaperDecorationType {\n Season = \"Season\",\n Health = \"Health\",\n General = \"General\",\n Sport = \"Sport\",\n}\n\nexport class DocumentContentDto implements IDocumentContentDto {\n documentContentId?: number;\n recipientInfo?: string | undefined;\n content?: string | undefined;\n description?: string | undefined;\n languageId?: number;\n documentTemplateId?: number;\n\n constructor(data?: IDocumentContentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.documentContentId = _data[\"documentContentId\"];\n this.recipientInfo = _data[\"recipientInfo\"];\n this.content = _data[\"content\"];\n this.description = _data[\"description\"];\n this.languageId = _data[\"languageId\"];\n this.documentTemplateId = _data[\"documentTemplateId\"];\n }\n }\n\n static fromJS(data: any): DocumentContentDto {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentContentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"documentContentId\"] = this.documentContentId;\n data[\"recipientInfo\"] = this.recipientInfo;\n data[\"content\"] = this.content;\n data[\"description\"] = this.description;\n data[\"languageId\"] = this.languageId;\n data[\"documentTemplateId\"] = this.documentTemplateId;\n return data;\n }\n}\n\nexport interface IDocumentContentDto {\n documentContentId?: number;\n recipientInfo?: string | undefined;\n content?: string | undefined;\n description?: string | undefined;\n languageId?: number;\n documentTemplateId?: number;\n}\n\nexport class PaginatedResultsOfPersonGridDto implements IPaginatedResultsOfPersonGridDto {\n totalCount?: number;\n results?: PersonGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPersonGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PersonGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPersonGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPersonGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPersonGridDto {\n totalCount?: number;\n results?: PersonGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PersonGridDto implements IPersonGridDto {\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n isBreeder?: boolean;\n isMember?: boolean;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n email?: string | undefined;\n parentPersonId?: number | undefined;\n computedName?: string | undefined;\n isKnownPerson?: boolean;\n webAccess?: boolean;\n\n constructor(data?: IPersonGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.country = _data[\"country\"];\n this.isBreeder = _data[\"isBreeder\"];\n this.isMember = _data[\"isMember\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.email = _data[\"email\"];\n this.parentPersonId = _data[\"parentPersonId\"];\n this.computedName = _data[\"computedName\"];\n this.isKnownPerson = _data[\"isKnownPerson\"];\n this.webAccess = _data[\"webAccess\"];\n }\n }\n\n static fromJS(data: any): PersonGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"country\"] = this.country;\n data[\"isBreeder\"] = this.isBreeder;\n data[\"isMember\"] = this.isMember;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"email\"] = this.email;\n data[\"parentPersonId\"] = this.parentPersonId;\n data[\"computedName\"] = this.computedName;\n data[\"isKnownPerson\"] = this.isKnownPerson;\n data[\"webAccess\"] = this.webAccess;\n return data;\n }\n}\n\nexport interface IPersonGridDto {\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n isBreeder?: boolean;\n isMember?: boolean;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n email?: string | undefined;\n parentPersonId?: number | undefined;\n computedName?: string | undefined;\n isKnownPerson?: boolean;\n webAccess?: boolean;\n}\n\nexport class DogBaseSearch extends PaginatedSearch implements IDogBaseSearch {\n dogId?: number;\n languageId?: number;\n currentOwners?: boolean;\n showTemporaryOwners?: boolean;\n\n constructor(data?: IDogBaseSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n this.currentOwners = _data[\"currentOwners\"];\n this.showTemporaryOwners = _data[\"showTemporaryOwners\"];\n }\n }\n\n static fromJS(data: any): DogBaseSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogBaseSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n data[\"currentOwners\"] = this.currentOwners;\n data[\"showTemporaryOwners\"] = this.showTemporaryOwners;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogBaseSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n currentOwners?: boolean;\n showTemporaryOwners?: boolean;\n}\n\nexport class PaginatedResultsOfDogBreederGridDto implements IPaginatedResultsOfDogBreederGridDto {\n totalCount?: number;\n results?: DogBreederGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogBreederGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogBreederGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogBreederGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogBreederGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogBreederGridDto {\n totalCount?: number;\n results?: DogBreederGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogBreederGridDto implements IDogBreederGridDto {\n kennelsOwnersDogsOwnershipId?: number;\n breederId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n computedName?: string | undefined;\n email?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n\n constructor(data?: IDogBreederGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelsOwnersDogsOwnershipId = _data[\"kennelsOwnersDogsOwnershipId\"];\n this.breederId = _data[\"breederId\"];\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.computedName = _data[\"computedName\"];\n this.email = _data[\"email\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.country = _data[\"country\"];\n }\n }\n\n static fromJS(data: any): DogBreederGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogBreederGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelsOwnersDogsOwnershipId\"] = this.kennelsOwnersDogsOwnershipId;\n data[\"breederId\"] = this.breederId;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"computedName\"] = this.computedName;\n data[\"email\"] = this.email;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"country\"] = this.country;\n return data;\n }\n}\n\nexport interface IDogBreederGridDto {\n kennelsOwnersDogsOwnershipId?: number;\n breederId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n computedName?: string | undefined;\n email?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n}\n\nexport class SaveBreederDto implements ISaveBreederDto {\n breederId?: number;\n personId?: number;\n hkNumber?: string | undefined;\n vatNumber?: string | undefined;\n firmNameInvoicing?: string | undefined;\n webSiteUri?: string | undefined;\n bannedFrom?: Date | undefined;\n bannedTo?: Date | undefined;\n\n constructor(data?: ISaveBreederDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breederId = _data[\"breederId\"];\n this.personId = _data[\"personId\"];\n this.hkNumber = _data[\"hkNumber\"];\n this.vatNumber = _data[\"vatNumber\"];\n this.firmNameInvoicing = _data[\"firmNameInvoicing\"];\n this.webSiteUri = _data[\"webSiteUri\"];\n this.bannedFrom = _data[\"bannedFrom\"] ? new Date(_data[\"bannedFrom\"].toString()) : undefined;\n this.bannedTo = _data[\"bannedTo\"] ? new Date(_data[\"bannedTo\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): SaveBreederDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveBreederDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breederId\"] = this.breederId;\n data[\"personId\"] = this.personId;\n data[\"hkNumber\"] = this.hkNumber;\n data[\"vatNumber\"] = this.vatNumber;\n data[\"firmNameInvoicing\"] = this.firmNameInvoicing;\n data[\"webSiteUri\"] = this.webSiteUri;\n data[\"bannedFrom\"] = this.bannedFrom ? this.bannedFrom.toISOString() : undefined;\n data[\"bannedTo\"] = this.bannedTo ? this.bannedTo.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ISaveBreederDto {\n breederId?: number;\n personId?: number;\n hkNumber?: string | undefined;\n vatNumber?: string | undefined;\n firmNameInvoicing?: string | undefined;\n webSiteUri?: string | undefined;\n bannedFrom?: Date | undefined;\n bannedTo?: Date | undefined;\n}\n\nexport class GetDogBreederParameters implements IGetDogBreederParameters {\n personId?: number | undefined;\n breederId?: number | undefined;\n\n constructor(data?: IGetDogBreederParameters) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.breederId = _data[\"breederId\"];\n }\n }\n\n static fromJS(data: any): GetDogBreederParameters {\n data = typeof data === 'object' ? data : {};\n let result = new GetDogBreederParameters();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"breederId\"] = this.breederId;\n return data;\n }\n}\n\nexport interface IGetDogBreederParameters {\n personId?: number | undefined;\n breederId?: number | undefined;\n}\n\nexport class PaginatedResultsOfDogBroodRequestGridDto implements IPaginatedResultsOfDogBroodRequestGridDto {\n totalCount?: number;\n results?: DogBroodRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogBroodRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogBroodRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogBroodRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogBroodRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogBroodRequestGridDto {\n totalCount?: number;\n results?: DogBroodRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogBroodRequestGridDto implements IDogBroodRequestGridDto {\n birthDate?: Date | undefined;\n requestNumber?: string | undefined;\n broodRequestId?: number;\n breeder?: string | undefined;\n breederId?: number;\n dogTypeInRequest?: EBroodRequestDogType;\n requestStatus?: string | undefined;\n\n constructor(data?: IDogBroodRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.requestNumber = _data[\"requestNumber\"];\n this.broodRequestId = _data[\"broodRequestId\"];\n this.breeder = _data[\"breeder\"];\n this.breederId = _data[\"breederId\"];\n this.dogTypeInRequest = _data[\"dogTypeInRequest\"];\n this.requestStatus = _data[\"requestStatus\"];\n }\n }\n\n static fromJS(data: any): DogBroodRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogBroodRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"broodRequestId\"] = this.broodRequestId;\n data[\"breeder\"] = this.breeder;\n data[\"breederId\"] = this.breederId;\n data[\"dogTypeInRequest\"] = this.dogTypeInRequest;\n data[\"requestStatus\"] = this.requestStatus;\n return data;\n }\n}\n\nexport interface IDogBroodRequestGridDto {\n birthDate?: Date | undefined;\n requestNumber?: string | undefined;\n broodRequestId?: number;\n breeder?: string | undefined;\n breederId?: number;\n dogTypeInRequest?: EBroodRequestDogType;\n requestStatus?: string | undefined;\n}\n\nexport class DogBroodRequestSearch extends PaginatedSearch implements IDogBroodRequestSearch {\n dogId?: number;\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n breeder?: TextSearch | undefined;\n birthDate?: DateSearch | undefined;\n\n constructor(data?: IDogBroodRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.breeder = _data[\"breeder\"] ? TextSearch.fromJS(_data[\"breeder\"]) : undefined;\n this.birthDate = _data[\"birthDate\"] ? DateSearch.fromJS(_data[\"birthDate\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DogBroodRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogBroodRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"breeder\"] = this.breeder ? this.breeder.toJSON() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogBroodRequestSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n breeder?: TextSearch | undefined;\n birthDate?: DateSearch | undefined;\n}\n\nexport class PaginatedResultsOfDogChipGridDto implements IPaginatedResultsOfDogChipGridDto {\n totalCount?: number;\n results?: DogChipGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogChipGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogChipGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogChipGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogChipGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogChipGridDto {\n totalCount?: number;\n results?: DogChipGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogChipGridDto implements IDogChipGridDto {\n dogChipId?: number;\n dogId?: number;\n chipNumber?: string | undefined;\n createdOn?: Date;\n\n constructor(data?: IDogChipGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogChipId = _data[\"dogChipId\"];\n this.dogId = _data[\"dogId\"];\n this.chipNumber = _data[\"chipNumber\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogChipGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogChipGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogChipId\"] = this.dogChipId;\n data[\"dogId\"] = this.dogId;\n data[\"chipNumber\"] = this.chipNumber;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogChipGridDto {\n dogChipId?: number;\n dogId?: number;\n chipNumber?: string | undefined;\n createdOn?: Date;\n}\n\nexport class DogChipSearch extends PaginatedSearch implements IDogChipSearch {\n dogId?: number;\n\n constructor(data?: IDogChipSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): DogChipSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogChipSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogChipSearch extends IPaginatedSearch {\n dogId?: number;\n}\n\nexport class DogChipDto implements IDogChipDto {\n dogId?: number;\n chipNumber?: string | undefined;\n dogChipId?: number;\n\n constructor(data?: IDogChipDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.chipNumber = _data[\"chipNumber\"];\n this.dogChipId = _data[\"dogChipId\"];\n }\n }\n\n static fromJS(data: any): DogChipDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogChipDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"chipNumber\"] = this.chipNumber;\n data[\"dogChipId\"] = this.dogChipId;\n return data;\n }\n}\n\nexport interface IDogChipDto {\n dogId?: number;\n chipNumber?: string | undefined;\n dogChipId?: number;\n}\n\nexport class PaginatedResultsOfDogGridDto implements IPaginatedResultsOfDogGridDto {\n totalCount?: number;\n results?: DogGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogGridDto {\n totalCount?: number;\n results?: DogGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogGridDto implements IDogGridDto {\n dogId?: number;\n computedName?: string | undefined;\n pedigrees?: string[] | undefined;\n pedigree?: string | undefined;\n dogChip?: string | undefined;\n secondDogChip?: string | undefined;\n colorId?: number;\n color?: string | undefined;\n breedId?: number;\n breedName?: string | undefined;\n sex?: EDogSex;\n isDead?: boolean;\n isExcluded?: boolean;\n type?: string | undefined;\n dogTypeId?: number;\n birthDate?: Date | undefined;\n dogTransientId?: number | undefined;\n closedOn?: Date | undefined;\n deathDate?: Date | undefined;\n\n constructor(data?: IDogGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.computedName = _data[\"computedName\"];\n if (Array.isArray(_data[\"pedigrees\"])) {\n this.pedigrees = [] as any;\n for (let item of _data[\"pedigrees\"])\n this.pedigrees!.push(item);\n }\n this.pedigree = _data[\"pedigree\"];\n this.dogChip = _data[\"dogChip\"];\n this.secondDogChip = _data[\"secondDogChip\"];\n this.colorId = _data[\"colorId\"];\n this.color = _data[\"color\"];\n this.breedId = _data[\"breedId\"];\n this.breedName = _data[\"breedName\"];\n this.sex = _data[\"sex\"];\n this.isDead = _data[\"isDead\"];\n this.isExcluded = _data[\"isExcluded\"];\n this.type = _data[\"type\"];\n this.dogTypeId = _data[\"dogTypeId\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.dogTransientId = _data[\"dogTransientId\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"computedName\"] = this.computedName;\n if (Array.isArray(this.pedigrees)) {\n data[\"pedigrees\"] = [];\n for (let item of this.pedigrees)\n data[\"pedigrees\"].push(item);\n }\n data[\"pedigree\"] = this.pedigree;\n data[\"dogChip\"] = this.dogChip;\n data[\"secondDogChip\"] = this.secondDogChip;\n data[\"colorId\"] = this.colorId;\n data[\"color\"] = this.color;\n data[\"breedId\"] = this.breedId;\n data[\"breedName\"] = this.breedName;\n data[\"sex\"] = this.sex;\n data[\"isDead\"] = this.isDead;\n data[\"isExcluded\"] = this.isExcluded;\n data[\"type\"] = this.type;\n data[\"dogTypeId\"] = this.dogTypeId;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"dogTransientId\"] = this.dogTransientId;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogGridDto {\n dogId?: number;\n computedName?: string | undefined;\n pedigrees?: string[] | undefined;\n pedigree?: string | undefined;\n dogChip?: string | undefined;\n secondDogChip?: string | undefined;\n colorId?: number;\n color?: string | undefined;\n breedId?: number;\n breedName?: string | undefined;\n sex?: EDogSex;\n isDead?: boolean;\n isExcluded?: boolean;\n type?: string | undefined;\n dogTypeId?: number;\n birthDate?: Date | undefined;\n dogTransientId?: number | undefined;\n closedOn?: Date | undefined;\n deathDate?: Date | undefined;\n}\n\nexport class DogSearch extends PaginatedSearch implements IDogSearch {\n languageId?: number;\n computedName?: TextSearch | undefined;\n color?: TextSearch | undefined;\n breedName?: TextSearch | undefined;\n pedigree?: TextSearch | undefined;\n sex?: ListSearchOfNullableEDogSex | undefined;\n dogTypeId?: ListSearchOfNullableInteger | undefined;\n identificationNumber?: TextSearch | undefined;\n birthDate?: DateSearch | undefined;\n personId?: number | undefined;\n selectOnlyMales?: boolean | undefined;\n compatibleDogId?: number | undefined;\n isBroodRequest?: boolean | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n excludeExpoDogs?: boolean | undefined;\n checkbreedAuthorized?: boolean | undefined;\n\n constructor(data?: IDogSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.computedName = _data[\"computedName\"] ? TextSearch.fromJS(_data[\"computedName\"]) : undefined;\n this.color = _data[\"color\"] ? TextSearch.fromJS(_data[\"color\"]) : undefined;\n this.breedName = _data[\"breedName\"] ? TextSearch.fromJS(_data[\"breedName\"]) : undefined;\n this.pedigree = _data[\"pedigree\"] ? TextSearch.fromJS(_data[\"pedigree\"]) : undefined;\n this.sex = _data[\"sex\"] ? ListSearchOfNullableEDogSex.fromJS(_data[\"sex\"]) : undefined;\n this.dogTypeId = _data[\"dogTypeId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"dogTypeId\"]) : undefined;\n this.identificationNumber = _data[\"identificationNumber\"] ? TextSearch.fromJS(_data[\"identificationNumber\"]) : undefined;\n this.birthDate = _data[\"birthDate\"] ? DateSearch.fromJS(_data[\"birthDate\"]) : undefined;\n this.personId = _data[\"personId\"];\n this.selectOnlyMales = _data[\"selectOnlyMales\"];\n this.compatibleDogId = _data[\"compatibleDogId\"];\n this.isBroodRequest = _data[\"isBroodRequest\"];\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n this.excludeExpoDogs = _data[\"excludeExpoDogs\"];\n this.checkbreedAuthorized = _data[\"checkbreedAuthorized\"];\n }\n }\n\n static fromJS(data: any): DogSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"computedName\"] = this.computedName ? this.computedName.toJSON() : undefined;\n data[\"color\"] = this.color ? this.color.toJSON() : undefined;\n data[\"breedName\"] = this.breedName ? this.breedName.toJSON() : undefined;\n data[\"pedigree\"] = this.pedigree ? this.pedigree.toJSON() : undefined;\n data[\"sex\"] = this.sex ? this.sex.toJSON() : undefined;\n data[\"dogTypeId\"] = this.dogTypeId ? this.dogTypeId.toJSON() : undefined;\n data[\"identificationNumber\"] = this.identificationNumber ? this.identificationNumber.toJSON() : undefined;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toJSON() : undefined;\n data[\"personId\"] = this.personId;\n data[\"selectOnlyMales\"] = this.selectOnlyMales;\n data[\"compatibleDogId\"] = this.compatibleDogId;\n data[\"isBroodRequest\"] = this.isBroodRequest;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n data[\"excludeExpoDogs\"] = this.excludeExpoDogs;\n data[\"checkbreedAuthorized\"] = this.checkbreedAuthorized;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogSearch extends IPaginatedSearch {\n languageId?: number;\n computedName?: TextSearch | undefined;\n color?: TextSearch | undefined;\n breedName?: TextSearch | undefined;\n pedigree?: TextSearch | undefined;\n sex?: ListSearchOfNullableEDogSex | undefined;\n dogTypeId?: ListSearchOfNullableInteger | undefined;\n identificationNumber?: TextSearch | undefined;\n birthDate?: DateSearch | undefined;\n personId?: number | undefined;\n selectOnlyMales?: boolean | undefined;\n compatibleDogId?: number | undefined;\n isBroodRequest?: boolean | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n excludeExpoDogs?: boolean | undefined;\n checkbreedAuthorized?: boolean | undefined;\n}\n\nexport abstract class FilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex implements IFilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableEDogSex[] | undefined;\n searchMode?: EListSearchType;\n value?: EDogSex | undefined;\n secondaryValue?: EDogSex | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEListSearchTypeAndNullableEDogSex.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableEDogSex[] | undefined;\n searchMode?: EListSearchType;\n value?: EDogSex | undefined;\n secondaryValue?: EDogSex | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class ListSearchOfNullableEDogSex extends FilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex implements IListSearchOfNullableEDogSex {\n\n constructor(data?: IListSearchOfNullableEDogSex) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ListSearchOfNullableEDogSex {\n data = typeof data === 'object' ? data : {};\n let result = new ListSearchOfNullableEDogSex();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IListSearchOfNullableEDogSex extends IFilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex {\n}\n\nexport class CombinableCriteriaOfEListSearchTypeAndNullableEDogSex implements ICombinableCriteriaOfEListSearchTypeAndNullableEDogSex {\n searchMode?: EListSearchType;\n value?: EDogSex | undefined;\n secondaryValue?: EDogSex | undefined;\n\n constructor(data?: ICombinableCriteriaOfEListSearchTypeAndNullableEDogSex) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEListSearchTypeAndNullableEDogSex {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEListSearchTypeAndNullableEDogSex();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEListSearchTypeAndNullableEDogSex {\n searchMode?: EListSearchType;\n value?: EDogSex | undefined;\n secondaryValue?: EDogSex | undefined;\n}\n\nexport class ShpDocumentDto implements IShpDocumentDto {\n fileName?: string | undefined;\n docType?: string | undefined;\n date?: Date | undefined;\n visibleOnELocket?: boolean;\n driveItemId?: string | undefined;\n extension?: string | undefined;\n nameWithoutExtension?: string | undefined;\n\n constructor(data?: IShpDocumentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileName = _data[\"fileName\"];\n this.docType = _data[\"docType\"];\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\n this.visibleOnELocket = _data[\"visibleOnELocket\"];\n this.driveItemId = _data[\"driveItemId\"];\n this.extension = _data[\"extension\"];\n this.nameWithoutExtension = _data[\"nameWithoutExtension\"];\n }\n }\n\n static fromJS(data: any): ShpDocumentDto {\n data = typeof data === 'object' ? data : {};\n let result = new ShpDocumentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileName\"] = this.fileName;\n data[\"docType\"] = this.docType;\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\n data[\"visibleOnELocket\"] = this.visibleOnELocket;\n data[\"driveItemId\"] = this.driveItemId;\n data[\"extension\"] = this.extension;\n data[\"nameWithoutExtension\"] = this.nameWithoutExtension;\n return data;\n }\n}\n\nexport interface IShpDocumentDto {\n fileName?: string | undefined;\n docType?: string | undefined;\n date?: Date | undefined;\n visibleOnELocket?: boolean;\n driveItemId?: string | undefined;\n extension?: string | undefined;\n nameWithoutExtension?: string | undefined;\n}\n\nexport class DogFusionDto implements IDogFusionDto {\n fusedDog?: DogDto | undefined;\n dogId1?: number;\n dogId2?: number;\n\n constructor(data?: IDogFusionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fusedDog = _data[\"fusedDog\"] ? DogDto.fromJS(_data[\"fusedDog\"]) : undefined;\n this.dogId1 = _data[\"dogId1\"];\n this.dogId2 = _data[\"dogId2\"];\n }\n }\n\n static fromJS(data: any): DogFusionDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogFusionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fusedDog\"] = this.fusedDog ? this.fusedDog.toJSON() : undefined;\n data[\"dogId1\"] = this.dogId1;\n data[\"dogId2\"] = this.dogId2;\n return data;\n }\n}\n\nexport interface IDogFusionDto {\n fusedDog?: DogDto | undefined;\n dogId1?: number;\n dogId2?: number;\n}\n\nexport class DogFusionComparisonDto implements IDogFusionComparisonDto {\n dog1?: DogDto | undefined;\n dog2?: DogDto | undefined;\n dog1HasKennel?: boolean;\n dog2HasKennel?: boolean;\n dog1HasRequests?: boolean;\n dog2HasRequests?: boolean;\n dog1HasTitles?: boolean;\n dog2HasTitles?: boolean;\n dog1HasWorkbooks?: boolean;\n dog2HasWorkbooks?: boolean;\n dog1HasDysplasias?: boolean;\n dog2HasDysplasias?: boolean;\n dog1HasHealthTest?: boolean;\n dog2HasHealthTest?: boolean;\n dog1HasDnaTest?: boolean;\n dog2HasDnaTest?: boolean;\n dnaTestsIdentical?: boolean;\n\n constructor(data?: IDogFusionComparisonDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dog1 = _data[\"dog1\"] ? DogDto.fromJS(_data[\"dog1\"]) : undefined;\n this.dog2 = _data[\"dog2\"] ? DogDto.fromJS(_data[\"dog2\"]) : undefined;\n this.dog1HasKennel = _data[\"dog1HasKennel\"];\n this.dog2HasKennel = _data[\"dog2HasKennel\"];\n this.dog1HasRequests = _data[\"dog1HasRequests\"];\n this.dog2HasRequests = _data[\"dog2HasRequests\"];\n this.dog1HasTitles = _data[\"dog1HasTitles\"];\n this.dog2HasTitles = _data[\"dog2HasTitles\"];\n this.dog1HasWorkbooks = _data[\"dog1HasWorkbooks\"];\n this.dog2HasWorkbooks = _data[\"dog2HasWorkbooks\"];\n this.dog1HasDysplasias = _data[\"dog1HasDysplasias\"];\n this.dog2HasDysplasias = _data[\"dog2HasDysplasias\"];\n this.dog1HasHealthTest = _data[\"dog1HasHealthTest\"];\n this.dog2HasHealthTest = _data[\"dog2HasHealthTest\"];\n this.dog1HasDnaTest = _data[\"dog1HasDnaTest\"];\n this.dog2HasDnaTest = _data[\"dog2HasDnaTest\"];\n this.dnaTestsIdentical = _data[\"dnaTestsIdentical\"];\n }\n }\n\n static fromJS(data: any): DogFusionComparisonDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogFusionComparisonDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dog1\"] = this.dog1 ? this.dog1.toJSON() : undefined;\n data[\"dog2\"] = this.dog2 ? this.dog2.toJSON() : undefined;\n data[\"dog1HasKennel\"] = this.dog1HasKennel;\n data[\"dog2HasKennel\"] = this.dog2HasKennel;\n data[\"dog1HasRequests\"] = this.dog1HasRequests;\n data[\"dog2HasRequests\"] = this.dog2HasRequests;\n data[\"dog1HasTitles\"] = this.dog1HasTitles;\n data[\"dog2HasTitles\"] = this.dog2HasTitles;\n data[\"dog1HasWorkbooks\"] = this.dog1HasWorkbooks;\n data[\"dog2HasWorkbooks\"] = this.dog2HasWorkbooks;\n data[\"dog1HasDysplasias\"] = this.dog1HasDysplasias;\n data[\"dog2HasDysplasias\"] = this.dog2HasDysplasias;\n data[\"dog1HasHealthTest\"] = this.dog1HasHealthTest;\n data[\"dog2HasHealthTest\"] = this.dog2HasHealthTest;\n data[\"dog1HasDnaTest\"] = this.dog1HasDnaTest;\n data[\"dog2HasDnaTest\"] = this.dog2HasDnaTest;\n data[\"dnaTestsIdentical\"] = this.dnaTestsIdentical;\n return data;\n }\n}\n\nexport interface IDogFusionComparisonDto {\n dog1?: DogDto | undefined;\n dog2?: DogDto | undefined;\n dog1HasKennel?: boolean;\n dog2HasKennel?: boolean;\n dog1HasRequests?: boolean;\n dog2HasRequests?: boolean;\n dog1HasTitles?: boolean;\n dog2HasTitles?: boolean;\n dog1HasWorkbooks?: boolean;\n dog2HasWorkbooks?: boolean;\n dog1HasDysplasias?: boolean;\n dog2HasDysplasias?: boolean;\n dog1HasHealthTest?: boolean;\n dog2HasHealthTest?: boolean;\n dog1HasDnaTest?: boolean;\n dog2HasDnaTest?: boolean;\n dnaTestsIdentical?: boolean;\n}\n\nexport class DrupalDogDto implements IDrupalDogDto {\n dogId?: number;\n isSportSection?: boolean | undefined;\n firstName?: string | undefined;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n personId?: number | undefined;\n breedId?: number;\n dogTypeId?: number | undefined;\n colorId?: number | undefined;\n sex?: EDogSex;\n sharepointUri?: string | undefined;\n dogName?: string | undefined;\n tatoo?: string | undefined;\n breedName?: string | undefined;\n chipNumber?: string | undefined;\n countryPrefixId?: number | undefined;\n pedigree?: string | undefined;\n kennelName?: string | undefined;\n kennelType?: EKennelType | undefined;\n hasAdnProfile?: boolean;\n withoutOwnership?: boolean;\n\n constructor(data?: IDrupalDogDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.isSportSection = _data[\"isSportSection\"];\n this.firstName = _data[\"firstName\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n this.personId = _data[\"personId\"];\n this.breedId = _data[\"breedId\"];\n this.dogTypeId = _data[\"dogTypeId\"];\n this.colorId = _data[\"colorId\"];\n this.sex = _data[\"sex\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.dogName = _data[\"dogName\"];\n this.tatoo = _data[\"tatoo\"];\n this.breedName = _data[\"breedName\"];\n this.chipNumber = _data[\"chipNumber\"];\n this.countryPrefixId = _data[\"countryPrefixId\"];\n this.pedigree = _data[\"pedigree\"];\n this.kennelName = _data[\"kennelName\"];\n this.kennelType = _data[\"kennelType\"];\n this.hasAdnProfile = _data[\"hasAdnProfile\"];\n this.withoutOwnership = _data[\"withoutOwnership\"];\n }\n }\n\n static fromJS(data: any): DrupalDogDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalDogDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"isSportSection\"] = this.isSportSection;\n data[\"firstName\"] = this.firstName;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n data[\"personId\"] = this.personId;\n data[\"breedId\"] = this.breedId;\n data[\"dogTypeId\"] = this.dogTypeId;\n data[\"colorId\"] = this.colorId;\n data[\"sex\"] = this.sex;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"dogName\"] = this.dogName;\n data[\"tatoo\"] = this.tatoo;\n data[\"breedName\"] = this.breedName;\n data[\"chipNumber\"] = this.chipNumber;\n data[\"countryPrefixId\"] = this.countryPrefixId;\n data[\"pedigree\"] = this.pedigree;\n data[\"kennelName\"] = this.kennelName;\n data[\"kennelType\"] = this.kennelType;\n data[\"hasAdnProfile\"] = this.hasAdnProfile;\n data[\"withoutOwnership\"] = this.withoutOwnership;\n return data;\n }\n}\n\nexport interface IDrupalDogDto {\n dogId?: number;\n isSportSection?: boolean | undefined;\n firstName?: string | undefined;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n personId?: number | undefined;\n breedId?: number;\n dogTypeId?: number | undefined;\n colorId?: number | undefined;\n sex?: EDogSex;\n sharepointUri?: string | undefined;\n dogName?: string | undefined;\n tatoo?: string | undefined;\n breedName?: string | undefined;\n chipNumber?: string | undefined;\n countryPrefixId?: number | undefined;\n pedigree?: string | undefined;\n kennelName?: string | undefined;\n kennelType?: EKennelType | undefined;\n hasAdnProfile?: boolean;\n withoutOwnership?: boolean;\n}\n\nexport class FullDogNameKennelDto implements IFullDogNameKennelDto {\n name?: string | undefined;\n isPrefix?: boolean;\n\n constructor(data?: IFullDogNameKennelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isPrefix = _data[\"isPrefix\"];\n }\n }\n\n static fromJS(data: any): FullDogNameKennelDto {\n data = typeof data === 'object' ? data : {};\n let result = new FullDogNameKennelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isPrefix\"] = this.isPrefix;\n return data;\n }\n}\n\nexport interface IFullDogNameKennelDto {\n name?: string | undefined;\n isPrefix?: boolean;\n}\n\nexport class PaginatedResultsOfDogDnaMarkersGridDto implements IPaginatedResultsOfDogDnaMarkersGridDto {\n totalCount?: number;\n results?: DogDnaMarkersGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogDnaMarkersGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogDnaMarkersGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogDnaMarkersGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogDnaMarkersGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogDnaMarkersGridDto {\n totalCount?: number;\n results?: DogDnaMarkersGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogDnaMarkersGridDto implements IDogDnaMarkersGridDto {\n dnaMarkerResultId?: number;\n marker?: string | undefined;\n value1?: string | undefined;\n value2?: string | undefined;\n\n constructor(data?: IDogDnaMarkersGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dnaMarkerResultId = _data[\"dnaMarkerResultId\"];\n this.marker = _data[\"marker\"];\n this.value1 = _data[\"value1\"];\n this.value2 = _data[\"value2\"];\n }\n }\n\n static fromJS(data: any): DogDnaMarkersGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogDnaMarkersGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dnaMarkerResultId\"] = this.dnaMarkerResultId;\n data[\"marker\"] = this.marker;\n data[\"value1\"] = this.value1;\n data[\"value2\"] = this.value2;\n return data;\n }\n}\n\nexport interface IDogDnaMarkersGridDto {\n dnaMarkerResultId?: number;\n marker?: string | undefined;\n value1?: string | undefined;\n value2?: string | undefined;\n}\n\nexport class DogDnaSearch extends PaginatedSearch implements IDogDnaSearch {\n dogId?: number;\n\n constructor(data?: IDogDnaSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): DogDnaSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogDnaSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogDnaSearch extends IPaginatedSearch {\n dogId?: number;\n}\n\nexport class DnaMarkerResultDto implements IDnaMarkerResultDto {\n dnaMarkerResultId?: number;\n dnaMarkerId?: number;\n dogDnaResultId?: number;\n value1?: string | undefined;\n value2?: string | undefined;\n marker?: string | undefined;\n\n constructor(data?: IDnaMarkerResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dnaMarkerResultId = _data[\"dnaMarkerResultId\"];\n this.dnaMarkerId = _data[\"dnaMarkerId\"];\n this.dogDnaResultId = _data[\"dogDnaResultId\"];\n this.value1 = _data[\"value1\"];\n this.value2 = _data[\"value2\"];\n this.marker = _data[\"marker\"];\n }\n }\n\n static fromJS(data: any): DnaMarkerResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new DnaMarkerResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dnaMarkerResultId\"] = this.dnaMarkerResultId;\n data[\"dnaMarkerId\"] = this.dnaMarkerId;\n data[\"dogDnaResultId\"] = this.dogDnaResultId;\n data[\"value1\"] = this.value1;\n data[\"value2\"] = this.value2;\n data[\"marker\"] = this.marker;\n return data;\n }\n}\n\nexport interface IDnaMarkerResultDto {\n dnaMarkerResultId?: number;\n dnaMarkerId?: number;\n dogDnaResultId?: number;\n value1?: string | undefined;\n value2?: string | undefined;\n marker?: string | undefined;\n}\n\nexport class MarkerListDto implements IMarkerListDto {\n markers?: DnaMarkerResultDto[] | undefined;\n\n constructor(data?: IMarkerListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"markers\"])) {\n this.markers = [] as any;\n for (let item of _data[\"markers\"])\n this.markers!.push(DnaMarkerResultDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): MarkerListDto {\n data = typeof data === 'object' ? data : {};\n let result = new MarkerListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.markers)) {\n data[\"markers\"] = [];\n for (let item of this.markers)\n data[\"markers\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IMarkerListDto {\n markers?: DnaMarkerResultDto[] | undefined;\n}\n\nexport class DogDnaResultDto implements IDogDnaResultDto {\n dogDnaResultId?: number;\n resultIdentifier?: string | undefined;\n controlledFiliation?: boolean;\n correctFiliation?: boolean;\n labId?: number;\n dogId?: number;\n sharepointUri?: string | undefined;\n\n constructor(data?: IDogDnaResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogDnaResultId = _data[\"dogDnaResultId\"];\n this.resultIdentifier = _data[\"resultIdentifier\"];\n this.controlledFiliation = _data[\"controlledFiliation\"];\n this.correctFiliation = _data[\"correctFiliation\"];\n this.labId = _data[\"labId\"];\n this.dogId = _data[\"dogId\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n }\n }\n\n static fromJS(data: any): DogDnaResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogDnaResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogDnaResultId\"] = this.dogDnaResultId;\n data[\"resultIdentifier\"] = this.resultIdentifier;\n data[\"controlledFiliation\"] = this.controlledFiliation;\n data[\"correctFiliation\"] = this.correctFiliation;\n data[\"labId\"] = this.labId;\n data[\"dogId\"] = this.dogId;\n data[\"sharepointUri\"] = this.sharepointUri;\n return data;\n }\n}\n\nexport interface IDogDnaResultDto {\n dogDnaResultId?: number;\n resultIdentifier?: string | undefined;\n controlledFiliation?: boolean;\n correctFiliation?: boolean;\n labId?: number;\n dogId?: number;\n sharepointUri?: string | undefined;\n}\n\nexport class PaginatedResultsOfDogDysplasiaGridDto implements IPaginatedResultsOfDogDysplasiaGridDto {\n totalCount?: number;\n results?: DogDysplasiaGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogDysplasiaGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogDysplasiaGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogDysplasiaGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogDysplasiaGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogDysplasiaGridDto {\n totalCount?: number;\n results?: DogDysplasiaGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogDysplasiaGridDto implements IDogDysplasiaGridDto {\n dogDysplasiaId?: number;\n dogId?: number;\n characteristicId?: number;\n characteristic?: string | undefined;\n characteristicValueId?: number | undefined;\n healthValue?: string | undefined;\n numericValue?: number | undefined;\n dysplasiaRequestId?: number;\n requestNumber?: string | undefined;\n createdOn?: Date;\n value?: string | undefined;\n\n constructor(data?: IDogDysplasiaGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogDysplasiaId = _data[\"dogDysplasiaId\"];\n this.dogId = _data[\"dogId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.characteristic = _data[\"characteristic\"];\n this.characteristicValueId = _data[\"characteristicValueId\"];\n this.healthValue = _data[\"healthValue\"];\n this.numericValue = _data[\"numericValue\"];\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): DogDysplasiaGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogDysplasiaGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogDysplasiaId\"] = this.dogDysplasiaId;\n data[\"dogId\"] = this.dogId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"characteristic\"] = this.characteristic;\n data[\"characteristicValueId\"] = this.characteristicValueId;\n data[\"healthValue\"] = this.healthValue;\n data[\"numericValue\"] = this.numericValue;\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IDogDysplasiaGridDto {\n dogDysplasiaId?: number;\n dogId?: number;\n characteristicId?: number;\n characteristic?: string | undefined;\n characteristicValueId?: number | undefined;\n healthValue?: string | undefined;\n numericValue?: number | undefined;\n dysplasiaRequestId?: number;\n requestNumber?: string | undefined;\n createdOn?: Date;\n value?: string | undefined;\n}\n\nexport class DogDysplasiaSearch extends PaginatedSearch implements IDogDysplasiaSearch {\n languageId?: number;\n dogId?: number;\n\n constructor(data?: IDogDysplasiaSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): DogDysplasiaSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogDysplasiaSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"dogId\"] = this.dogId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogDysplasiaSearch extends IPaginatedSearch {\n languageId?: number;\n dogId?: number;\n}\n\nexport class DogDysplasiaDto implements IDogDysplasiaDto {\n dogDysplasiaId?: number;\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n value?: string | undefined;\n numericValue?: number | undefined;\n dysplasiaRequestId?: number | undefined;\n healthValueType?: EHealthValueType;\n dysplasiaType?: EDysplasiaType | undefined;\n isRight?: boolean | undefined;\n radioDate?: Date | undefined;\n evaluationDate?: Date | undefined;\n createdOn?: Date | undefined;\n\n constructor(data?: IDogDysplasiaDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogDysplasiaId = _data[\"dogDysplasiaId\"];\n this.dogId = _data[\"dogId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.value = _data[\"value\"];\n this.numericValue = _data[\"numericValue\"];\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.healthValueType = _data[\"healthValueType\"];\n this.dysplasiaType = _data[\"dysplasiaType\"];\n this.isRight = _data[\"isRight\"];\n this.radioDate = _data[\"radioDate\"] ? new Date(_data[\"radioDate\"].toString()) : undefined;\n this.evaluationDate = _data[\"evaluationDate\"] ? new Date(_data[\"evaluationDate\"].toString()) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogDysplasiaDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogDysplasiaDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogDysplasiaId\"] = this.dogDysplasiaId;\n data[\"dogId\"] = this.dogId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"value\"] = this.value;\n data[\"numericValue\"] = this.numericValue;\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"healthValueType\"] = this.healthValueType;\n data[\"dysplasiaType\"] = this.dysplasiaType;\n data[\"isRight\"] = this.isRight;\n data[\"radioDate\"] = this.radioDate ? this.radioDate.toISOString() : undefined;\n data[\"evaluationDate\"] = this.evaluationDate ? this.evaluationDate.toISOString() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogDysplasiaDto {\n dogDysplasiaId?: number;\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n value?: string | undefined;\n numericValue?: number | undefined;\n dysplasiaRequestId?: number | undefined;\n healthValueType?: EHealthValueType;\n dysplasiaType?: EDysplasiaType | undefined;\n isRight?: boolean | undefined;\n radioDate?: Date | undefined;\n evaluationDate?: Date | undefined;\n createdOn?: Date | undefined;\n}\n\nexport class PaginatedResultsOfDogHealthTestGridDto implements IPaginatedResultsOfDogHealthTestGridDto {\n totalCount?: number;\n results?: DogHealthTestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogHealthTestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogHealthTestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogHealthTestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogHealthTestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogHealthTestGridDto {\n totalCount?: number;\n results?: DogHealthTestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogHealthTestGridDto implements IDogHealthTestGridDto {\n dogCharacteristicValueId?: number;\n characteristic?: string | undefined;\n characteristicType?: string | undefined;\n value?: string | undefined;\n numericValue?: number | undefined;\n dateFrom?: Date;\n dateTo?: Date | undefined;\n createdOn?: Date;\n invalidatedOn?: Date | undefined;\n\n constructor(data?: IDogHealthTestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogCharacteristicValueId = _data[\"dogCharacteristicValueId\"];\n this.characteristic = _data[\"characteristic\"];\n this.characteristicType = _data[\"characteristicType\"];\n this.value = _data[\"value\"];\n this.numericValue = _data[\"numericValue\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.invalidatedOn = _data[\"invalidatedOn\"] ? new Date(_data[\"invalidatedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogHealthTestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogHealthTestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogCharacteristicValueId\"] = this.dogCharacteristicValueId;\n data[\"characteristic\"] = this.characteristic;\n data[\"characteristicType\"] = this.characteristicType;\n data[\"value\"] = this.value;\n data[\"numericValue\"] = this.numericValue;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"invalidatedOn\"] = this.invalidatedOn ? this.invalidatedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogHealthTestGridDto {\n dogCharacteristicValueId?: number;\n characteristic?: string | undefined;\n characteristicType?: string | undefined;\n value?: string | undefined;\n numericValue?: number | undefined;\n dateFrom?: Date;\n dateTo?: Date | undefined;\n createdOn?: Date;\n invalidatedOn?: Date | undefined;\n}\n\nexport class DogHealthSearch extends PaginatedSearch implements IDogHealthSearch {\n dogId?: number;\n languageId?: number;\n characteristic?: TextSearch | undefined;\n value?: TextSearch | undefined;\n showInvalid?: boolean | undefined;\n\n constructor(data?: IDogHealthSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n this.characteristic = _data[\"characteristic\"] ? TextSearch.fromJS(_data[\"characteristic\"]) : undefined;\n this.value = _data[\"value\"] ? TextSearch.fromJS(_data[\"value\"]) : undefined;\n this.showInvalid = _data[\"showInvalid\"];\n }\n }\n\n static fromJS(data: any): DogHealthSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogHealthSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n data[\"characteristic\"] = this.characteristic ? this.characteristic.toJSON() : undefined;\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\n data[\"showInvalid\"] = this.showInvalid;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogHealthSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n characteristic?: TextSearch | undefined;\n value?: TextSearch | undefined;\n showInvalid?: boolean | undefined;\n}\n\nexport class SaveDogCharacteristicDto implements ISaveDogCharacteristicDto {\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n characteristicFile?: string | undefined;\n\n constructor(data?: ISaveDogCharacteristicDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.numericValue = _data[\"numericValue\"];\n this.alphaValue = _data[\"alphaValue\"];\n this.characteristicFile = _data[\"characteristicFile\"];\n }\n }\n\n static fromJS(data: any): SaveDogCharacteristicDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveDogCharacteristicDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"numericValue\"] = this.numericValue;\n data[\"alphaValue\"] = this.alphaValue;\n data[\"characteristicFile\"] = this.characteristicFile;\n return data;\n }\n}\n\nexport interface ISaveDogCharacteristicDto {\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n characteristicFile?: string | undefined;\n}\n\nexport class PaginatedResultsOfDogHealthTestValidationGridDto implements IPaginatedResultsOfDogHealthTestValidationGridDto {\n totalCount?: number;\n results?: DogHealthTestValidationGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogHealthTestValidationGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogHealthTestValidationGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogHealthTestValidationGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogHealthTestValidationGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogHealthTestValidationGridDto {\n totalCount?: number;\n results?: DogHealthTestValidationGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogHealthTestValidationGridDto implements IDogHealthTestValidationGridDto {\n dogHealthTestValidationId?: number;\n dogId?: number;\n dog?: string | undefined;\n sharepointUri?: string | undefined;\n closedOn?: Date;\n validated?: boolean;\n\n constructor(data?: IDogHealthTestValidationGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogHealthTestValidationId = _data[\"dogHealthTestValidationId\"];\n this.dogId = _data[\"dogId\"];\n this.dog = _data[\"dog\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.validated = _data[\"validated\"];\n }\n }\n\n static fromJS(data: any): DogHealthTestValidationGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogHealthTestValidationGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogHealthTestValidationId\"] = this.dogHealthTestValidationId;\n data[\"dogId\"] = this.dogId;\n data[\"dog\"] = this.dog;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"validated\"] = this.validated;\n return data;\n }\n}\n\nexport interface IDogHealthTestValidationGridDto {\n dogHealthTestValidationId?: number;\n dogId?: number;\n dog?: string | undefined;\n sharepointUri?: string | undefined;\n closedOn?: Date;\n validated?: boolean;\n}\n\nexport class DogHealthTestValidationSearch extends PaginatedSearch implements IDogHealthTestValidationSearch {\n searchValidated?: boolean;\n searchUnassigned?: boolean;\n\n constructor(data?: IDogHealthTestValidationSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.searchValidated = _data[\"searchValidated\"];\n this.searchUnassigned = _data[\"searchUnassigned\"];\n }\n }\n\n static fromJS(data: any): DogHealthTestValidationSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogHealthTestValidationSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchValidated\"] = this.searchValidated;\n data[\"searchUnassigned\"] = this.searchUnassigned;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogHealthTestValidationSearch extends IPaginatedSearch {\n searchValidated?: boolean;\n searchUnassigned?: boolean;\n}\n\nexport class PaginatedResultsOfDogHistoryActionGridDto implements IPaginatedResultsOfDogHistoryActionGridDto {\n totalCount?: number;\n results?: DogHistoryActionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogHistoryActionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogHistoryActionGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogHistoryActionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogHistoryActionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogHistoryActionGridDto {\n totalCount?: number;\n results?: DogHistoryActionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogHistoryActionGridDto implements IDogHistoryActionGridDto {\n actionTime?: Date;\n action?: string | undefined;\n\n constructor(data?: IDogHistoryActionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.actionTime = _data[\"actionTime\"] ? new Date(_data[\"actionTime\"].toString()) : undefined;\n this.action = _data[\"action\"];\n }\n }\n\n static fromJS(data: any): DogHistoryActionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogHistoryActionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"actionTime\"] = this.actionTime ? this.actionTime.toISOString() : undefined;\n data[\"action\"] = this.action;\n return data;\n }\n}\n\nexport interface IDogHistoryActionGridDto {\n actionTime?: Date;\n action?: string | undefined;\n}\n\nexport class PaginatedResultsOfRequestGridDto implements IPaginatedResultsOfRequestGridDto {\n totalCount?: number;\n results?: RequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(RequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfRequestGridDto {\n totalCount?: number;\n results?: RequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class RequestGridDto implements IRequestGridDto {\n requestId?: number;\n requestTypeId?: number;\n requestType?: string | undefined;\n requestNumber?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequest?: string | undefined;\n parentRequestTypeCode?: ERequestType | undefined;\n requestDate?: Date;\n requestStateId?: number;\n requestState?: string | undefined;\n requestStateCode?: ERequestState;\n requestTypeCode?: ERequestType;\n contact?: string | undefined;\n personId?: number | undefined;\n subRequestId?: number | undefined;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.requestType = _data[\"requestType\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.parentRequestId = _data[\"parentRequestId\"];\n this.parentRequest = _data[\"parentRequest\"];\n this.parentRequestTypeCode = _data[\"parentRequestTypeCode\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.contact = _data[\"contact\"];\n this.personId = _data[\"personId\"];\n this.subRequestId = _data[\"subRequestId\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): RequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new RequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"requestType\"] = this.requestType;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"parentRequestId\"] = this.parentRequestId;\n data[\"parentRequest\"] = this.parentRequest;\n data[\"parentRequestTypeCode\"] = this.parentRequestTypeCode;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"contact\"] = this.contact;\n data[\"personId\"] = this.personId;\n data[\"subRequestId\"] = this.subRequestId;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IRequestGridDto {\n requestId?: number;\n requestTypeId?: number;\n requestType?: string | undefined;\n requestNumber?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequest?: string | undefined;\n parentRequestTypeCode?: ERequestType | undefined;\n requestDate?: Date;\n requestStateId?: number;\n requestState?: string | undefined;\n requestStateCode?: ERequestState;\n requestTypeCode?: ERequestType;\n contact?: string | undefined;\n personId?: number | undefined;\n subRequestId?: number | undefined;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport class PaginatedResultsOfDogOwnerGridDto implements IPaginatedResultsOfDogOwnerGridDto {\n totalCount?: number;\n results?: DogOwnerGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogOwnerGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogOwnerGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogOwnerGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogOwnerGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogOwnerGridDto {\n totalCount?: number;\n results?: DogOwnerGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogOwnerGridDto implements IDogOwnerGridDto {\n dogOwnershipId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n computedName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date | undefined;\n email?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n isTemporaryOwner?: boolean;\n\n constructor(data?: IDogOwnerGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogOwnershipId = _data[\"dogOwnershipId\"];\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.computedName = _data[\"computedName\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n this.email = _data[\"email\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.country = _data[\"country\"];\n this.isTemporaryOwner = _data[\"isTemporaryOwner\"];\n }\n }\n\n static fromJS(data: any): DogOwnerGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogOwnerGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogOwnershipId\"] = this.dogOwnershipId;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"computedName\"] = this.computedName;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n data[\"email\"] = this.email;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"country\"] = this.country;\n data[\"isTemporaryOwner\"] = this.isTemporaryOwner;\n return data;\n }\n}\n\nexport interface IDogOwnerGridDto {\n dogOwnershipId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n computedName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date | undefined;\n email?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n isTemporaryOwner?: boolean;\n}\n\nexport class SaveNewOwnerDto implements ISaveNewOwnerDto {\n dogOwnershipId?: number;\n personName?: string | undefined;\n dogId?: number;\n personId?: number;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n\n constructor(data?: ISaveNewOwnerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogOwnershipId = _data[\"dogOwnershipId\"];\n this.personName = _data[\"personName\"];\n this.dogId = _data[\"dogId\"];\n this.personId = _data[\"personId\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): SaveNewOwnerDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveNewOwnerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogOwnershipId\"] = this.dogOwnershipId;\n data[\"personName\"] = this.personName;\n data[\"dogId\"] = this.dogId;\n data[\"personId\"] = this.personId;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ISaveNewOwnerDto {\n dogOwnershipId?: number;\n personName?: string | undefined;\n dogId?: number;\n personId?: number;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n}\n\nexport class PaginatedResultsOfDogOwnershipChangeGridDto implements IPaginatedResultsOfDogOwnershipChangeGridDto {\n totalCount?: number;\n results?: DogOwnershipChangeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogOwnershipChangeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogOwnershipChangeGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogOwnershipChangeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogOwnershipChangeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogOwnershipChangeGridDto {\n totalCount?: number;\n results?: DogOwnershipChangeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogOwnershipChangeGridDto implements IDogOwnershipChangeGridDto {\n dogOwnershipChangeRequestId?: number;\n requestId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n requestStateCode?: ERequestState;\n requestState?: string | undefined;\n requestStateId?: number;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n kennelName?: string | undefined;\n export?: boolean;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IDogOwnershipChangeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogOwnershipChangeRequestId = _data[\"dogOwnershipChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestState = _data[\"requestState\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.dog = _data[\"dog\"];\n this.dogId = _data[\"dogId\"];\n this.kennelName = _data[\"kennelName\"];\n this.export = _data[\"export\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): DogOwnershipChangeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogOwnershipChangeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogOwnershipChangeRequestId\"] = this.dogOwnershipChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestState\"] = this.requestState;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"dog\"] = this.dog;\n data[\"dogId\"] = this.dogId;\n data[\"kennelName\"] = this.kennelName;\n data[\"export\"] = this.export;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IDogOwnershipChangeGridDto {\n dogOwnershipChangeRequestId?: number;\n requestId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n requestStateCode?: ERequestState;\n requestState?: string | undefined;\n requestStateId?: number;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n kennelName?: string | undefined;\n export?: boolean;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport class DogOwnershipChangeSearch extends PaginatedSearch implements IDogOwnershipChangeSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n contact?: TextSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n export?: BooleanSearch | undefined;\n isBlocked?: BooleanSearch | undefined;\n\n constructor(data?: IDogOwnershipChangeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.export = _data[\"export\"] ? BooleanSearch.fromJS(_data[\"export\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DogOwnershipChangeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogOwnershipChangeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"export\"] = this.export ? this.export.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogOwnershipChangeSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n contact?: TextSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n export?: BooleanSearch | undefined;\n isBlocked?: BooleanSearch | undefined;\n}\n\nexport class DogOwnershipChangeRequestDto implements IDogOwnershipChangeRequestDto {\n dogOwnershipChangeRequestId?: number;\n requestId?: number;\n dogId?: number;\n export?: boolean;\n platform?: EPlatform;\n dogSharepointUri?: string | undefined;\n ownerIds?: number[] | undefined;\n request?: RequestDto | undefined;\n\n constructor(data?: IDogOwnershipChangeRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogOwnershipChangeRequestId = _data[\"dogOwnershipChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.export = _data[\"export\"];\n this.platform = _data[\"platform\"];\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n if (Array.isArray(_data[\"ownerIds\"])) {\n this.ownerIds = [] as any;\n for (let item of _data[\"ownerIds\"])\n this.ownerIds!.push(item);\n }\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DogOwnershipChangeRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogOwnershipChangeRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogOwnershipChangeRequestId\"] = this.dogOwnershipChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"export\"] = this.export;\n data[\"platform\"] = this.platform;\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n if (Array.isArray(this.ownerIds)) {\n data[\"ownerIds\"] = [];\n for (let item of this.ownerIds)\n data[\"ownerIds\"].push(item);\n }\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IDogOwnershipChangeRequestDto {\n dogOwnershipChangeRequestId?: number;\n requestId?: number;\n dogId?: number;\n export?: boolean;\n platform?: EPlatform;\n dogSharepointUri?: string | undefined;\n ownerIds?: number[] | undefined;\n request?: RequestDto | undefined;\n}\n\nexport class PaginatedResultsOfDogPedigreeGridDto implements IPaginatedResultsOfDogPedigreeGridDto {\n totalCount?: number;\n results?: DogPedigreeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogPedigreeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogPedigreeGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogPedigreeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogPedigreeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogPedigreeGridDto {\n totalCount?: number;\n results?: DogPedigreeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogPedigreeGridDto implements IDogPedigreeGridDto {\n pedigreeId?: number;\n dogId?: number;\n no?: number;\n prefix?: string | undefined;\n identifier?: string | undefined;\n country?: string | undefined;\n countryId?: number;\n attributionDate?: Date | undefined;\n\n constructor(data?: IDogPedigreeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeId = _data[\"pedigreeId\"];\n this.dogId = _data[\"dogId\"];\n this.no = _data[\"no\"];\n this.prefix = _data[\"prefix\"];\n this.identifier = _data[\"identifier\"];\n this.country = _data[\"country\"];\n this.countryId = _data[\"countryId\"];\n this.attributionDate = _data[\"attributionDate\"] ? new Date(_data[\"attributionDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DogPedigreeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogPedigreeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeId\"] = this.pedigreeId;\n data[\"dogId\"] = this.dogId;\n data[\"no\"] = this.no;\n data[\"prefix\"] = this.prefix;\n data[\"identifier\"] = this.identifier;\n data[\"country\"] = this.country;\n data[\"countryId\"] = this.countryId;\n data[\"attributionDate\"] = this.attributionDate ? this.attributionDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDogPedigreeGridDto {\n pedigreeId?: number;\n dogId?: number;\n no?: number;\n prefix?: string | undefined;\n identifier?: string | undefined;\n country?: string | undefined;\n countryId?: number;\n attributionDate?: Date | undefined;\n}\n\nexport class DogPedigreeSearch extends PaginatedSearch implements IDogPedigreeSearch {\n dogId?: number;\n languageId?: number;\n\n constructor(data?: IDogPedigreeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): DogPedigreeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogPedigreeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogPedigreeSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n}\n\nexport class SaveNewPedigreeDto implements ISaveNewPedigreeDto {\n pedigreeId?: number;\n countryPedigreePrefixId?: number;\n countryId?: number;\n dogId?: number;\n identifier?: string | undefined;\n attributionDate?: Date | undefined;\n\n constructor(data?: ISaveNewPedigreeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeId = _data[\"pedigreeId\"];\n this.countryPedigreePrefixId = _data[\"countryPedigreePrefixId\"];\n this.countryId = _data[\"countryId\"];\n this.dogId = _data[\"dogId\"];\n this.identifier = _data[\"identifier\"];\n this.attributionDate = _data[\"attributionDate\"] ? new Date(_data[\"attributionDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): SaveNewPedigreeDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveNewPedigreeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeId\"] = this.pedigreeId;\n data[\"countryPedigreePrefixId\"] = this.countryPedigreePrefixId;\n data[\"countryId\"] = this.countryId;\n data[\"dogId\"] = this.dogId;\n data[\"identifier\"] = this.identifier;\n data[\"attributionDate\"] = this.attributionDate ? this.attributionDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ISaveNewPedigreeDto {\n pedigreeId?: number;\n countryPedigreePrefixId?: number;\n countryId?: number;\n dogId?: number;\n identifier?: string | undefined;\n attributionDate?: Date | undefined;\n}\n\nexport class PaginatedResultsOfDogPersonRelatedGridDto implements IPaginatedResultsOfDogPersonRelatedGridDto {\n totalCount?: number;\n results?: DogPersonRelatedGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogPersonRelatedGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogPersonRelatedGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogPersonRelatedGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogPersonRelatedGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogPersonRelatedGridDto {\n totalCount?: number;\n results?: DogPersonRelatedGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogPersonRelatedGridDto implements IDogPersonRelatedGridDto {\n dogOwnershipId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date | undefined;\n email?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n\n constructor(data?: IDogPersonRelatedGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogOwnershipId = _data[\"dogOwnershipId\"];\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n this.email = _data[\"email\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.country = _data[\"country\"];\n }\n }\n\n static fromJS(data: any): DogPersonRelatedGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogPersonRelatedGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogOwnershipId\"] = this.dogOwnershipId;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n data[\"email\"] = this.email;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"country\"] = this.country;\n return data;\n }\n}\n\nexport interface IDogPersonRelatedGridDto {\n dogOwnershipId?: number;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date | undefined;\n email?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n}\n\nexport class DogPersonRelatedSearch extends PaginatedSearch implements IDogPersonRelatedSearch {\n dogId?: number;\n languageId?: number;\n isOwner?: boolean;\n\n constructor(data?: IDogPersonRelatedSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n this.isOwner = _data[\"isOwner\"];\n }\n }\n\n static fromJS(data: any): DogPersonRelatedSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogPersonRelatedSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n data[\"isOwner\"] = this.isOwner;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogPersonRelatedSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n isOwner?: boolean;\n}\n\nexport class PaginatedResultsOfDogCompetitionResultGridDto implements IPaginatedResultsOfDogCompetitionResultGridDto {\n totalCount?: number;\n results?: DogCompetitionResultGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogCompetitionResultGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogCompetitionResultGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogCompetitionResultGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogCompetitionResultGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogCompetitionResultGridDto {\n totalCount?: number;\n results?: DogCompetitionResultGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogCompetitionResultGridDto implements IDogCompetitionResultGridDto {\n competitionResultId?: number;\n isLinkedToTitle?: boolean;\n judge?: string | undefined;\n titleId?: number | undefined;\n competition?: string | undefined;\n dogId?: number;\n result?: number;\n showClass?: string;\n qualification?: string | undefined;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n expo?: string | undefined;\n dateFrom?: Date | undefined;\n catalogNumber?: number | undefined;\n\n constructor(data?: IDogCompetitionResultGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionResultId = _data[\"competitionResultId\"];\n this.isLinkedToTitle = _data[\"isLinkedToTitle\"];\n this.judge = _data[\"judge\"];\n this.titleId = _data[\"titleId\"];\n this.competition = _data[\"competition\"];\n this.dogId = _data[\"dogId\"];\n this.result = _data[\"result\"];\n this.showClass = _data[\"showClass\"];\n this.qualification = _data[\"qualification\"];\n this.cac = _data[\"cac\"];\n this.cacReserve = _data[\"cacReserve\"];\n this.cacib = _data[\"cacib\"];\n this.cacibReserve = _data[\"cacibReserve\"];\n this.expo = _data[\"expo\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.catalogNumber = _data[\"catalogNumber\"];\n }\n }\n\n static fromJS(data: any): DogCompetitionResultGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogCompetitionResultGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionResultId\"] = this.competitionResultId;\n data[\"isLinkedToTitle\"] = this.isLinkedToTitle;\n data[\"judge\"] = this.judge;\n data[\"titleId\"] = this.titleId;\n data[\"competition\"] = this.competition;\n data[\"dogId\"] = this.dogId;\n data[\"result\"] = this.result;\n data[\"showClass\"] = this.showClass;\n data[\"qualification\"] = this.qualification;\n data[\"cac\"] = this.cac;\n data[\"cacReserve\"] = this.cacReserve;\n data[\"cacib\"] = this.cacib;\n data[\"cacibReserve\"] = this.cacibReserve;\n data[\"expo\"] = this.expo;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"catalogNumber\"] = this.catalogNumber;\n return data;\n }\n}\n\nexport interface IDogCompetitionResultGridDto {\n competitionResultId?: number;\n isLinkedToTitle?: boolean;\n judge?: string | undefined;\n titleId?: number | undefined;\n competition?: string | undefined;\n dogId?: number;\n result?: number;\n showClass?: string;\n qualification?: string | undefined;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n expo?: string | undefined;\n dateFrom?: Date | undefined;\n catalogNumber?: number | undefined;\n}\n\nexport class DogCompetitionResultSearch extends PaginatedSearch implements IDogCompetitionResultSearch {\n dogId?: number;\n isLinkedToTitle?: BooleanSearch | undefined;\n competition?: TextSearch | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: IDogCompetitionResultSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.isLinkedToTitle = _data[\"isLinkedToTitle\"] ? BooleanSearch.fromJS(_data[\"isLinkedToTitle\"]) : undefined;\n this.competition = _data[\"competition\"] ? TextSearch.fromJS(_data[\"competition\"]) : undefined;\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): DogCompetitionResultSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogCompetitionResultSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"isLinkedToTitle\"] = this.isLinkedToTitle ? this.isLinkedToTitle.toJSON() : undefined;\n data[\"competition\"] = this.competition ? this.competition.toJSON() : undefined;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogCompetitionResultSearch extends IPaginatedSearch {\n dogId?: number;\n isLinkedToTitle?: BooleanSearch | undefined;\n competition?: TextSearch | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class SaveNewResultDto implements ISaveNewResultDto {\n competitionResultId?: number;\n competitionId?: number | undefined;\n qualificationId?: number;\n judgeId?: number | undefined;\n dogId?: number;\n comment?: string | undefined;\n result?: number;\n catalogNumber?: number | undefined;\n showClass?: string;\n standardConformed?: boolean;\n bestOfBreed?: boolean;\n bestOfSex?: boolean;\n bestInShow?: boolean;\n bestInGroup?: boolean;\n bestVeteran?: boolean;\n bestWorkDog?: boolean;\n bestYouth?: boolean;\n bestMinorPuppy?: boolean;\n bestPuppy?: boolean;\n belgianWinner?: boolean;\n beneluxWinner?: boolean;\n beneluxYouthWinner?: boolean;\n beneluxVeteranWinner?: boolean;\n europeanWinner?: boolean;\n crufts?: boolean;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n cacbl?: boolean;\n cacblReserve?: boolean;\n cacgpo?: boolean;\n cacgpoReserve?: boolean;\n caciag?: boolean;\n caciagReserve?: boolean;\n cacil?: boolean;\n cacilReserve?: boolean;\n caciob?: boolean;\n caciobReserve?: boolean;\n cacit?: boolean;\n cacitReserve?: boolean;\n\n constructor(data?: ISaveNewResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.competitionResultId = _data[\"competitionResultId\"];\n this.competitionId = _data[\"competitionId\"];\n this.qualificationId = _data[\"qualificationId\"];\n this.judgeId = _data[\"judgeId\"];\n this.dogId = _data[\"dogId\"];\n this.comment = _data[\"comment\"];\n this.result = _data[\"result\"];\n this.catalogNumber = _data[\"catalogNumber\"];\n this.showClass = _data[\"showClass\"];\n this.standardConformed = _data[\"standardConformed\"];\n this.bestOfBreed = _data[\"bestOfBreed\"];\n this.bestOfSex = _data[\"bestOfSex\"];\n this.bestInShow = _data[\"bestInShow\"];\n this.bestInGroup = _data[\"bestInGroup\"];\n this.bestVeteran = _data[\"bestVeteran\"];\n this.bestWorkDog = _data[\"bestWorkDog\"];\n this.bestYouth = _data[\"bestYouth\"];\n this.bestMinorPuppy = _data[\"bestMinorPuppy\"];\n this.bestPuppy = _data[\"bestPuppy\"];\n this.belgianWinner = _data[\"belgianWinner\"];\n this.beneluxWinner = _data[\"beneluxWinner\"];\n this.beneluxYouthWinner = _data[\"beneluxYouthWinner\"];\n this.beneluxVeteranWinner = _data[\"beneluxVeteranWinner\"];\n this.europeanWinner = _data[\"europeanWinner\"];\n this.crufts = _data[\"crufts\"];\n this.cac = _data[\"cac\"];\n this.cacReserve = _data[\"cacReserve\"];\n this.cacib = _data[\"cacib\"];\n this.cacibReserve = _data[\"cacibReserve\"];\n this.cacbl = _data[\"cacbl\"];\n this.cacblReserve = _data[\"cacblReserve\"];\n this.cacgpo = _data[\"cacgpo\"];\n this.cacgpoReserve = _data[\"cacgpoReserve\"];\n this.caciag = _data[\"caciag\"];\n this.caciagReserve = _data[\"caciagReserve\"];\n this.cacil = _data[\"cacil\"];\n this.cacilReserve = _data[\"cacilReserve\"];\n this.caciob = _data[\"caciob\"];\n this.caciobReserve = _data[\"caciobReserve\"];\n this.cacit = _data[\"cacit\"];\n this.cacitReserve = _data[\"cacitReserve\"];\n }\n }\n\n static fromJS(data: any): SaveNewResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveNewResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"competitionResultId\"] = this.competitionResultId;\n data[\"competitionId\"] = this.competitionId;\n data[\"qualificationId\"] = this.qualificationId;\n data[\"judgeId\"] = this.judgeId;\n data[\"dogId\"] = this.dogId;\n data[\"comment\"] = this.comment;\n data[\"result\"] = this.result;\n data[\"catalogNumber\"] = this.catalogNumber;\n data[\"showClass\"] = this.showClass;\n data[\"standardConformed\"] = this.standardConformed;\n data[\"bestOfBreed\"] = this.bestOfBreed;\n data[\"bestOfSex\"] = this.bestOfSex;\n data[\"bestInShow\"] = this.bestInShow;\n data[\"bestInGroup\"] = this.bestInGroup;\n data[\"bestVeteran\"] = this.bestVeteran;\n data[\"bestWorkDog\"] = this.bestWorkDog;\n data[\"bestYouth\"] = this.bestYouth;\n data[\"bestMinorPuppy\"] = this.bestMinorPuppy;\n data[\"bestPuppy\"] = this.bestPuppy;\n data[\"belgianWinner\"] = this.belgianWinner;\n data[\"beneluxWinner\"] = this.beneluxWinner;\n data[\"beneluxYouthWinner\"] = this.beneluxYouthWinner;\n data[\"beneluxVeteranWinner\"] = this.beneluxVeteranWinner;\n data[\"europeanWinner\"] = this.europeanWinner;\n data[\"crufts\"] = this.crufts;\n data[\"cac\"] = this.cac;\n data[\"cacReserve\"] = this.cacReserve;\n data[\"cacib\"] = this.cacib;\n data[\"cacibReserve\"] = this.cacibReserve;\n data[\"cacbl\"] = this.cacbl;\n data[\"cacblReserve\"] = this.cacblReserve;\n data[\"cacgpo\"] = this.cacgpo;\n data[\"cacgpoReserve\"] = this.cacgpoReserve;\n data[\"caciag\"] = this.caciag;\n data[\"caciagReserve\"] = this.caciagReserve;\n data[\"cacil\"] = this.cacil;\n data[\"cacilReserve\"] = this.cacilReserve;\n data[\"caciob\"] = this.caciob;\n data[\"caciobReserve\"] = this.caciobReserve;\n data[\"cacit\"] = this.cacit;\n data[\"cacitReserve\"] = this.cacitReserve;\n return data;\n }\n}\n\nexport interface ISaveNewResultDto {\n competitionResultId?: number;\n competitionId?: number | undefined;\n qualificationId?: number;\n judgeId?: number | undefined;\n dogId?: number;\n comment?: string | undefined;\n result?: number;\n catalogNumber?: number | undefined;\n showClass?: string;\n standardConformed?: boolean;\n bestOfBreed?: boolean;\n bestOfSex?: boolean;\n bestInShow?: boolean;\n bestInGroup?: boolean;\n bestVeteran?: boolean;\n bestWorkDog?: boolean;\n bestYouth?: boolean;\n bestMinorPuppy?: boolean;\n bestPuppy?: boolean;\n belgianWinner?: boolean;\n beneluxWinner?: boolean;\n beneluxYouthWinner?: boolean;\n beneluxVeteranWinner?: boolean;\n europeanWinner?: boolean;\n crufts?: boolean;\n cac?: boolean;\n cacReserve?: boolean;\n cacib?: boolean;\n cacibReserve?: boolean;\n cacbl?: boolean;\n cacblReserve?: boolean;\n cacgpo?: boolean;\n cacgpoReserve?: boolean;\n caciag?: boolean;\n caciagReserve?: boolean;\n cacil?: boolean;\n cacilReserve?: boolean;\n caciob?: boolean;\n caciobReserve?: boolean;\n cacit?: boolean;\n cacitReserve?: boolean;\n}\n\nexport class PaginatedResultsOfDogsBreederGridDto implements IPaginatedResultsOfDogsBreederGridDto {\n totalCount?: number;\n results?: DogsBreederGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogsBreederGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogsBreederGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogsBreederGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogsBreederGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogsBreederGridDto {\n totalCount?: number;\n results?: DogsBreederGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogsBreederGridDto implements IDogsBreederGridDto {\n dogsBreederId?: number;\n personName?: string | undefined;\n personId?: number;\n dogName?: string | undefined;\n dogId?: number;\n\n constructor(data?: IDogsBreederGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogsBreederId = _data[\"dogsBreederId\"];\n this.personName = _data[\"personName\"];\n this.personId = _data[\"personId\"];\n this.dogName = _data[\"dogName\"];\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): DogsBreederGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogsBreederGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogsBreederId\"] = this.dogsBreederId;\n data[\"personName\"] = this.personName;\n data[\"personId\"] = this.personId;\n data[\"dogName\"] = this.dogName;\n data[\"dogId\"] = this.dogId;\n return data;\n }\n}\n\nexport interface IDogsBreederGridDto {\n dogsBreederId?: number;\n personName?: string | undefined;\n personId?: number;\n dogName?: string | undefined;\n dogId?: number;\n}\n\nexport class DogsBreederSearch extends PaginatedSearch implements IDogsBreederSearch {\n personId?: number | undefined;\n dogId?: number | undefined;\n\n constructor(data?: IDogsBreederSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): DogsBreederSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogsBreederSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"dogId\"] = this.dogId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogsBreederSearch extends IPaginatedSearch {\n personId?: number | undefined;\n dogId?: number | undefined;\n}\n\nexport class DogBreederSaveDto implements IDogBreederSaveDto {\n dogsBreederId?: number;\n personId?: number;\n dogId?: number;\n\n constructor(data?: IDogBreederSaveDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogsBreederId = _data[\"dogsBreederId\"];\n this.personId = _data[\"personId\"];\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): DogBreederSaveDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogBreederSaveDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogsBreederId\"] = this.dogsBreederId;\n data[\"personId\"] = this.personId;\n data[\"dogId\"] = this.dogId;\n return data;\n }\n}\n\nexport interface IDogBreederSaveDto {\n dogsBreederId?: number;\n personId?: number;\n dogId?: number;\n}\n\nexport class AvailablePeopleSearch extends PaginatedSearch implements IAvailablePeopleSearch {\n dogId?: number;\n\n constructor(data?: IAvailablePeopleSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): AvailablePeopleSearch {\n data = typeof data === 'object' ? data : {};\n let result = new AvailablePeopleSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IAvailablePeopleSearch extends IPaginatedSearch {\n dogId?: number;\n}\n\nexport class PaginatedResultsOfTransientCharacteristicGridDto implements IPaginatedResultsOfTransientCharacteristicGridDto {\n totalCount?: number;\n results?: TransientCharacteristicGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTransientCharacteristicGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TransientCharacteristicGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTransientCharacteristicGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTransientCharacteristicGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTransientCharacteristicGridDto {\n totalCount?: number;\n results?: TransientCharacteristicGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TransientCharacteristicGridDto implements ITransientCharacteristicGridDto {\n dogsCharacteristicsValuesTransientId?: number;\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number;\n closedOn?: Date | undefined;\n dog?: string | undefined;\n characteristic?: string | undefined;\n characteristicType?: string | undefined;\n healthValue?: string | undefined;\n sharepointUri?: string | undefined;\n\n constructor(data?: ITransientCharacteristicGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogsCharacteristicsValuesTransientId = _data[\"dogsCharacteristicsValuesTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.dog = _data[\"dog\"];\n this.characteristic = _data[\"characteristic\"];\n this.characteristicType = _data[\"characteristicType\"];\n this.healthValue = _data[\"healthValue\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n }\n }\n\n static fromJS(data: any): TransientCharacteristicGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new TransientCharacteristicGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogsCharacteristicsValuesTransientId\"] = this.dogsCharacteristicsValuesTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"dog\"] = this.dog;\n data[\"characteristic\"] = this.characteristic;\n data[\"characteristicType\"] = this.characteristicType;\n data[\"healthValue\"] = this.healthValue;\n data[\"sharepointUri\"] = this.sharepointUri;\n return data;\n }\n}\n\nexport interface ITransientCharacteristicGridDto {\n dogsCharacteristicsValuesTransientId?: number;\n dogId?: number;\n characteristicId?: number;\n healthValueId?: number;\n closedOn?: Date | undefined;\n dog?: string | undefined;\n characteristic?: string | undefined;\n characteristicType?: string | undefined;\n healthValue?: string | undefined;\n sharepointUri?: string | undefined;\n}\n\nexport class TransientCharacteristicsSearch extends PaginatedSearch implements ITransientCharacteristicsSearch {\n languageId?: number;\n dogId?: number | undefined;\n searchUnassignedCharacteristics?: boolean;\n hideClosed?: boolean;\n\n constructor(data?: ITransientCharacteristicsSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.dogId = _data[\"dogId\"];\n this.searchUnassignedCharacteristics = _data[\"searchUnassignedCharacteristics\"];\n this.hideClosed = _data[\"hideClosed\"];\n }\n }\n\n static fromJS(data: any): TransientCharacteristicsSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TransientCharacteristicsSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"dogId\"] = this.dogId;\n data[\"searchUnassignedCharacteristics\"] = this.searchUnassignedCharacteristics;\n data[\"hideClosed\"] = this.hideClosed;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITransientCharacteristicsSearch extends IPaginatedSearch {\n languageId?: number;\n dogId?: number | undefined;\n searchUnassignedCharacteristics?: boolean;\n hideClosed?: boolean;\n}\n\nexport class TransientCharacteristicByDogSearch extends PaginatedSearch implements ITransientCharacteristicByDogSearch {\n dogId?: number;\n languageId?: number;\n\n constructor(data?: ITransientCharacteristicByDogSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): TransientCharacteristicByDogSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TransientCharacteristicByDogSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITransientCharacteristicByDogSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n}\n\nexport class PaginatedResultsOfDogTitlesGridDto implements IPaginatedResultsOfDogTitlesGridDto {\n totalCount?: number;\n results?: DogTitlesGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogTitlesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogTitlesGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogTitlesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogTitlesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogTitlesGridDto {\n totalCount?: number;\n results?: DogTitlesGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogTitlesGridDto implements IDogTitlesGridDto {\n dogTitleId?: number;\n titleId?: number;\n titleName?: string | undefined;\n titleType?: string | undefined;\n titleTypeId?: number;\n country?: string | undefined;\n year?: number | undefined;\n abreviation?: string | undefined;\n createdOn?: Date;\n competitionResults?: DogCompetitionResultGridDto[] | undefined;\n\n constructor(data?: IDogTitlesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTitleId = _data[\"dogTitleId\"];\n this.titleId = _data[\"titleId\"];\n this.titleName = _data[\"titleName\"];\n this.titleType = _data[\"titleType\"];\n this.titleTypeId = _data[\"titleTypeId\"];\n this.country = _data[\"country\"];\n this.year = _data[\"year\"];\n this.abreviation = _data[\"abreviation\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n if (Array.isArray(_data[\"competitionResults\"])) {\n this.competitionResults = [] as any;\n for (let item of _data[\"competitionResults\"])\n this.competitionResults!.push(DogCompetitionResultGridDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DogTitlesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogTitlesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTitleId\"] = this.dogTitleId;\n data[\"titleId\"] = this.titleId;\n data[\"titleName\"] = this.titleName;\n data[\"titleType\"] = this.titleType;\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"country\"] = this.country;\n data[\"year\"] = this.year;\n data[\"abreviation\"] = this.abreviation;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n if (Array.isArray(this.competitionResults)) {\n data[\"competitionResults\"] = [];\n for (let item of this.competitionResults)\n data[\"competitionResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDogTitlesGridDto {\n dogTitleId?: number;\n titleId?: number;\n titleName?: string | undefined;\n titleType?: string | undefined;\n titleTypeId?: number;\n country?: string | undefined;\n year?: number | undefined;\n abreviation?: string | undefined;\n createdOn?: Date;\n competitionResults?: DogCompetitionResultGridDto[] | undefined;\n}\n\nexport class DogTitleSearch extends PaginatedSearch implements IDogTitleSearch {\n languageId?: number;\n dogId?: number;\n titleType?: TextSearch | undefined;\n year?: NumericSearch | undefined;\n\n constructor(data?: IDogTitleSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.dogId = _data[\"dogId\"];\n this.titleType = _data[\"titleType\"] ? TextSearch.fromJS(_data[\"titleType\"]) : undefined;\n this.year = _data[\"year\"] ? NumericSearch.fromJS(_data[\"year\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DogTitleSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogTitleSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"dogId\"] = this.dogId;\n data[\"titleType\"] = this.titleType ? this.titleType.toJSON() : undefined;\n data[\"year\"] = this.year ? this.year.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogTitleSearch extends IPaginatedSearch {\n languageId?: number;\n dogId?: number;\n titleType?: TextSearch | undefined;\n year?: NumericSearch | undefined;\n}\n\nexport class As400TitleDto implements IAs400TitleDto {\n dogId?: number;\n as400Titles?: string | undefined;\n\n constructor(data?: IAs400TitleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.as400Titles = _data[\"as400Titles\"];\n }\n }\n\n static fromJS(data: any): As400TitleDto {\n data = typeof data === 'object' ? data : {};\n let result = new As400TitleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"as400Titles\"] = this.as400Titles;\n return data;\n }\n}\n\nexport interface IAs400TitleDto {\n dogId?: number;\n as400Titles?: string | undefined;\n}\n\nexport class SaveNewDogTitleDto implements ISaveNewDogTitleDto {\n dogTitleId?: number;\n dogId?: number;\n titleId?: number;\n year?: number | undefined;\n resultIds?: number[] | undefined;\n\n constructor(data?: ISaveNewDogTitleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTitleId = _data[\"dogTitleId\"];\n this.dogId = _data[\"dogId\"];\n this.titleId = _data[\"titleId\"];\n this.year = _data[\"year\"];\n if (Array.isArray(_data[\"resultIds\"])) {\n this.resultIds = [] as any;\n for (let item of _data[\"resultIds\"])\n this.resultIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SaveNewDogTitleDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveNewDogTitleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTitleId\"] = this.dogTitleId;\n data[\"dogId\"] = this.dogId;\n data[\"titleId\"] = this.titleId;\n data[\"year\"] = this.year;\n if (Array.isArray(this.resultIds)) {\n data[\"resultIds\"] = [];\n for (let item of this.resultIds)\n data[\"resultIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISaveNewDogTitleDto {\n dogTitleId?: number;\n dogId?: number;\n titleId?: number;\n year?: number | undefined;\n resultIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfTransientOwnerGridDto implements IPaginatedResultsOfTransientOwnerGridDto {\n totalCount?: number;\n results?: TransientOwnerGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTransientOwnerGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TransientOwnerGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTransientOwnerGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTransientOwnerGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTransientOwnerGridDto {\n totalCount?: number;\n results?: TransientOwnerGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TransientOwnerGridDto implements ITransientOwnerGridDto {\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n\n constructor(data?: ITransientOwnerGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n }\n }\n\n static fromJS(data: any): TransientOwnerGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new TransientOwnerGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n return data;\n }\n}\n\nexport interface ITransientOwnerGridDto {\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n}\n\nexport class TransientOwnerSearch extends PaginatedSearch implements ITransientOwnerSearch {\n dogId?: number;\n languageId?: number;\n dogOwnershipChangeRequestId?: number;\n\n constructor(data?: ITransientOwnerSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n this.dogOwnershipChangeRequestId = _data[\"dogOwnershipChangeRequestId\"];\n }\n }\n\n static fromJS(data: any): TransientOwnerSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TransientOwnerSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n data[\"dogOwnershipChangeRequestId\"] = this.dogOwnershipChangeRequestId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITransientOwnerSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n dogOwnershipChangeRequestId?: number;\n}\n\nexport class PaginatedResultsOfWorkbookGridDto implements IPaginatedResultsOfWorkbookGridDto {\n totalCount?: number;\n results?: WorkbookGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfWorkbookGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(WorkbookGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfWorkbookGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfWorkbookGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfWorkbookGridDto {\n totalCount?: number;\n results?: WorkbookGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class WorkbookGridDto implements IWorkbookGridDto {\n workbookId?: number;\n workbookType?: string | undefined;\n workbookTypeId?: number;\n identifier?: number;\n counter?: number;\n withPedigree?: boolean;\n deliveredOn?: Date;\n\n constructor(data?: IWorkbookGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookId = _data[\"workbookId\"];\n this.workbookType = _data[\"workbookType\"];\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.identifier = _data[\"identifier\"];\n this.counter = _data[\"counter\"];\n this.withPedigree = _data[\"withPedigree\"];\n this.deliveredOn = _data[\"deliveredOn\"] ? new Date(_data[\"deliveredOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): WorkbookGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookId\"] = this.workbookId;\n data[\"workbookType\"] = this.workbookType;\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"identifier\"] = this.identifier;\n data[\"counter\"] = this.counter;\n data[\"withPedigree\"] = this.withPedigree;\n data[\"deliveredOn\"] = this.deliveredOn ? this.deliveredOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IWorkbookGridDto {\n workbookId?: number;\n workbookType?: string | undefined;\n workbookTypeId?: number;\n identifier?: number;\n counter?: number;\n withPedigree?: boolean;\n deliveredOn?: Date;\n}\n\nexport class DogWorkbookSearch extends PaginatedSearch implements IDogWorkbookSearch {\n languageId?: number;\n dogId?: number;\n\n constructor(data?: IDogWorkbookSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): DogWorkbookSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogWorkbookSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"dogId\"] = this.dogId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogWorkbookSearch extends IPaginatedSearch {\n languageId?: number;\n dogId?: number;\n}\n\nexport class SaveNewWorkbookDto implements ISaveNewWorkbookDto {\n workbookTypeId?: number;\n dogId?: number;\n identifier?: number;\n counter?: number;\n deliveredOn?: Date;\n\n constructor(data?: ISaveNewWorkbookDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.dogId = _data[\"dogId\"];\n this.identifier = _data[\"identifier\"];\n this.counter = _data[\"counter\"];\n this.deliveredOn = _data[\"deliveredOn\"] ? new Date(_data[\"deliveredOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): SaveNewWorkbookDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveNewWorkbookDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"dogId\"] = this.dogId;\n data[\"identifier\"] = this.identifier;\n data[\"counter\"] = this.counter;\n data[\"deliveredOn\"] = this.deliveredOn ? this.deliveredOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ISaveNewWorkbookDto {\n workbookTypeId?: number;\n dogId?: number;\n identifier?: number;\n counter?: number;\n deliveredOn?: Date;\n}\n\nexport class NewWorkbookInformationDto implements INewWorkbookInformationDto {\n identifier?: number;\n counter?: number;\n\n constructor(data?: INewWorkbookInformationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.identifier = _data[\"identifier\"];\n this.counter = _data[\"counter\"];\n }\n }\n\n static fromJS(data: any): NewWorkbookInformationDto {\n data = typeof data === 'object' ? data : {};\n let result = new NewWorkbookInformationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"identifier\"] = this.identifier;\n data[\"counter\"] = this.counter;\n return data;\n }\n}\n\nexport interface INewWorkbookInformationDto {\n identifier?: number;\n counter?: number;\n}\n\nexport class PaginatedResultsOfDysplasiaGridDto implements IPaginatedResultsOfDysplasiaGridDto {\n totalCount?: number;\n results?: DysplasiaGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDysplasiaGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DysplasiaGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDysplasiaGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDysplasiaGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDysplasiaGridDto {\n totalCount?: number;\n results?: DysplasiaGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DysplasiaGridDto implements IDysplasiaGridDto {\n dysplasiaRequestId?: number;\n requestDate?: Date;\n requestNumber?: string | undefined;\n birthDate?: Date;\n breed?: string | undefined;\n breedId?: number;\n dysplasiaTypeIdsChecked?: number[] | undefined;\n reEvaluation?: boolean;\n\n constructor(data?: IDysplasiaGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestNumber = _data[\"requestNumber\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.breed = _data[\"breed\"];\n this.breedId = _data[\"breedId\"];\n if (Array.isArray(_data[\"dysplasiaTypeIdsChecked\"])) {\n this.dysplasiaTypeIdsChecked = [] as any;\n for (let item of _data[\"dysplasiaTypeIdsChecked\"])\n this.dysplasiaTypeIdsChecked!.push(item);\n }\n this.reEvaluation = _data[\"reEvaluation\"];\n }\n }\n\n static fromJS(data: any): DysplasiaGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"breed\"] = this.breed;\n data[\"breedId\"] = this.breedId;\n if (Array.isArray(this.dysplasiaTypeIdsChecked)) {\n data[\"dysplasiaTypeIdsChecked\"] = [];\n for (let item of this.dysplasiaTypeIdsChecked)\n data[\"dysplasiaTypeIdsChecked\"].push(item);\n }\n data[\"reEvaluation\"] = this.reEvaluation;\n return data;\n }\n}\n\nexport interface IDysplasiaGridDto {\n dysplasiaRequestId?: number;\n requestDate?: Date;\n requestNumber?: string | undefined;\n birthDate?: Date;\n breed?: string | undefined;\n breedId?: number;\n dysplasiaTypeIdsChecked?: number[] | undefined;\n reEvaluation?: boolean;\n}\n\nexport class DysplasiaSearch extends PaginatedSearch implements IDysplasiaSearch {\n languageId?: number;\n isAppeal?: boolean;\n commissionType?: ECommissionType | undefined;\n\n constructor(data?: IDysplasiaSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.isAppeal = _data[\"isAppeal\"];\n this.commissionType = _data[\"commissionType\"];\n }\n }\n\n static fromJS(data: any): DysplasiaSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"isAppeal\"] = this.isAppeal;\n data[\"commissionType\"] = this.commissionType;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDysplasiaSearch extends IPaginatedSearch {\n languageId?: number;\n isAppeal?: boolean;\n commissionType?: ECommissionType | undefined;\n}\n\nexport class DysplasiaDto implements IDysplasiaDto {\n dysplasiaRequestId?: number;\n requestId?: number;\n birthDate?: Date;\n breed?: string | undefined;\n isAppeal?: boolean;\n appealRequestId?: number | undefined;\n commissionType?: ECommissionType | undefined;\n position?: EDysplasiaPosition | undefined;\n positionTranslated?: string | undefined;\n definitiveSave?: boolean;\n request?: RequestDto | undefined;\n dysplasiaTypesChecked?: number[] | undefined;\n transientDysplasiaTypes?: TransientDysplasiaTypeDto[] | undefined;\n sharepointUri?: string | undefined;\n remark?: string | undefined;\n\n constructor(data?: IDysplasiaDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.breed = _data[\"breed\"];\n this.isAppeal = _data[\"isAppeal\"];\n this.appealRequestId = _data[\"appealRequestId\"];\n this.commissionType = _data[\"commissionType\"];\n this.position = _data[\"position\"];\n this.positionTranslated = _data[\"positionTranslated\"];\n this.definitiveSave = _data[\"definitiveSave\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"dysplasiaTypesChecked\"])) {\n this.dysplasiaTypesChecked = [] as any;\n for (let item of _data[\"dysplasiaTypesChecked\"])\n this.dysplasiaTypesChecked!.push(item);\n }\n if (Array.isArray(_data[\"transientDysplasiaTypes\"])) {\n this.transientDysplasiaTypes = [] as any;\n for (let item of _data[\"transientDysplasiaTypes\"])\n this.transientDysplasiaTypes!.push(TransientDysplasiaTypeDto.fromJS(item));\n }\n this.sharepointUri = _data[\"sharepointUri\"];\n this.remark = _data[\"remark\"];\n }\n }\n\n static fromJS(data: any): DysplasiaDto {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"breed\"] = this.breed;\n data[\"isAppeal\"] = this.isAppeal;\n data[\"appealRequestId\"] = this.appealRequestId;\n data[\"commissionType\"] = this.commissionType;\n data[\"position\"] = this.position;\n data[\"positionTranslated\"] = this.positionTranslated;\n data[\"definitiveSave\"] = this.definitiveSave;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.dysplasiaTypesChecked)) {\n data[\"dysplasiaTypesChecked\"] = [];\n for (let item of this.dysplasiaTypesChecked)\n data[\"dysplasiaTypesChecked\"].push(item);\n }\n if (Array.isArray(this.transientDysplasiaTypes)) {\n data[\"transientDysplasiaTypes\"] = [];\n for (let item of this.transientDysplasiaTypes)\n data[\"transientDysplasiaTypes\"].push(item.toJSON());\n }\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"remark\"] = this.remark;\n return data;\n }\n}\n\nexport interface IDysplasiaDto {\n dysplasiaRequestId?: number;\n requestId?: number;\n birthDate?: Date;\n breed?: string | undefined;\n isAppeal?: boolean;\n appealRequestId?: number | undefined;\n commissionType?: ECommissionType | undefined;\n position?: EDysplasiaPosition | undefined;\n positionTranslated?: string | undefined;\n definitiveSave?: boolean;\n request?: RequestDto | undefined;\n dysplasiaTypesChecked?: number[] | undefined;\n transientDysplasiaTypes?: TransientDysplasiaTypeDto[] | undefined;\n sharepointUri?: string | undefined;\n remark?: string | undefined;\n}\n\nexport class TransientDysplasiaTypeDto implements ITransientDysplasiaTypeDto {\n dysplasiaTypeId?: number | undefined;\n dysplasiaType?: string | undefined;\n isRefused?: boolean;\n officialRemark?: string | undefined;\n transientDysplasias?: TransientDysplasiaDto[] | undefined;\n allVetNotesFinished?: boolean;\n orderIndex?: number | undefined;\n characteristicOrderIndex?: number | undefined;\n\n constructor(data?: ITransientDysplasiaTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dysplasiaTypeId = _data[\"dysplasiaTypeId\"];\n this.dysplasiaType = _data[\"dysplasiaType\"];\n this.isRefused = _data[\"isRefused\"];\n this.officialRemark = _data[\"officialRemark\"];\n if (Array.isArray(_data[\"transientDysplasias\"])) {\n this.transientDysplasias = [] as any;\n for (let item of _data[\"transientDysplasias\"])\n this.transientDysplasias!.push(TransientDysplasiaDto.fromJS(item));\n }\n this.allVetNotesFinished = _data[\"allVetNotesFinished\"];\n this.orderIndex = _data[\"orderIndex\"];\n this.characteristicOrderIndex = _data[\"characteristicOrderIndex\"];\n }\n }\n\n static fromJS(data: any): TransientDysplasiaTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new TransientDysplasiaTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dysplasiaTypeId\"] = this.dysplasiaTypeId;\n data[\"dysplasiaType\"] = this.dysplasiaType;\n data[\"isRefused\"] = this.isRefused;\n data[\"officialRemark\"] = this.officialRemark;\n if (Array.isArray(this.transientDysplasias)) {\n data[\"transientDysplasias\"] = [];\n for (let item of this.transientDysplasias)\n data[\"transientDysplasias\"].push(item.toJSON());\n }\n data[\"allVetNotesFinished\"] = this.allVetNotesFinished;\n data[\"orderIndex\"] = this.orderIndex;\n data[\"characteristicOrderIndex\"] = this.characteristicOrderIndex;\n return data;\n }\n}\n\nexport interface ITransientDysplasiaTypeDto {\n dysplasiaTypeId?: number | undefined;\n dysplasiaType?: string | undefined;\n isRefused?: boolean;\n officialRemark?: string | undefined;\n transientDysplasias?: TransientDysplasiaDto[] | undefined;\n allVetNotesFinished?: boolean;\n orderIndex?: number | undefined;\n characteristicOrderIndex?: number | undefined;\n}\n\nexport class TransientDysplasiaDto implements ITransientDysplasiaDto {\n dogDysplasiaTransientId?: number;\n userDysplasiaResultId?: number;\n isCharacteristicValue?: boolean;\n characteristicId?: number;\n characteristicName?: string | undefined;\n type?: EHealthValueType;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n otherRemark?: string | undefined;\n\n constructor(data?: ITransientDysplasiaDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogDysplasiaTransientId = _data[\"dogDysplasiaTransientId\"];\n this.userDysplasiaResultId = _data[\"userDysplasiaResultId\"];\n this.isCharacteristicValue = _data[\"isCharacteristicValue\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.characteristicName = _data[\"characteristicName\"];\n this.type = _data[\"type\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.numericValue = _data[\"numericValue\"];\n this.alphaValue = _data[\"alphaValue\"];\n this.otherRemark = _data[\"otherRemark\"];\n }\n }\n\n static fromJS(data: any): TransientDysplasiaDto {\n data = typeof data === 'object' ? data : {};\n let result = new TransientDysplasiaDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogDysplasiaTransientId\"] = this.dogDysplasiaTransientId;\n data[\"userDysplasiaResultId\"] = this.userDysplasiaResultId;\n data[\"isCharacteristicValue\"] = this.isCharacteristicValue;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"characteristicName\"] = this.characteristicName;\n data[\"type\"] = this.type;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"numericValue\"] = this.numericValue;\n data[\"alphaValue\"] = this.alphaValue;\n data[\"otherRemark\"] = this.otherRemark;\n return data;\n }\n}\n\nexport interface ITransientDysplasiaDto {\n dogDysplasiaTransientId?: number;\n userDysplasiaResultId?: number;\n isCharacteristicValue?: boolean;\n characteristicId?: number;\n characteristicName?: string | undefined;\n type?: EHealthValueType;\n healthValueId?: number | undefined;\n numericValue?: number | undefined;\n alphaValue?: string | undefined;\n otherRemark?: string | undefined;\n}\n\nexport class DysplasiaTypeDto implements IDysplasiaTypeDto {\n dysplasiaTypeId?: number;\n code?: EDysplasiaType;\n\n constructor(data?: IDysplasiaTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dysplasiaTypeId = _data[\"dysplasiaTypeId\"];\n this.code = _data[\"code\"];\n }\n }\n\n static fromJS(data: any): DysplasiaTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dysplasiaTypeId\"] = this.dysplasiaTypeId;\n data[\"code\"] = this.code;\n return data;\n }\n}\n\nexport interface IDysplasiaTypeDto {\n dysplasiaTypeId?: number;\n code?: EDysplasiaType;\n}\n\nexport class ComissionPageInfoDto implements IComissionPageInfoDto {\n displayName?: string | undefined;\n commissionType?: ECommissionType | undefined;\n isAppeal?: boolean;\n\n constructor(data?: IComissionPageInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.displayName = _data[\"displayName\"];\n this.commissionType = _data[\"commissionType\"];\n this.isAppeal = _data[\"isAppeal\"];\n }\n }\n\n static fromJS(data: any): ComissionPageInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new ComissionPageInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"displayName\"] = this.displayName;\n data[\"commissionType\"] = this.commissionType;\n data[\"isAppeal\"] = this.isAppeal;\n return data;\n }\n}\n\nexport interface IComissionPageInfoDto {\n displayName?: string | undefined;\n commissionType?: ECommissionType | undefined;\n isAppeal?: boolean;\n}\n\nexport class DysplasiaReportInfoDto implements IDysplasiaReportInfoDto {\n breedId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n languageId?: number;\n\n constructor(data?: IDysplasiaReportInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedId = _data[\"breedId\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): DysplasiaReportInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaReportInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedId\"] = this.breedId;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"languageId\"] = this.languageId;\n return data;\n }\n}\n\nexport interface IDysplasiaReportInfoDto {\n breedId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n languageId?: number;\n}\n\nexport class PaginatedResultsOfUserDysplasiaResultGridDto implements IPaginatedResultsOfUserDysplasiaResultGridDto {\n totalCount?: number;\n results?: UserDysplasiaResultGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfUserDysplasiaResultGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(UserDysplasiaResultGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfUserDysplasiaResultGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfUserDysplasiaResultGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfUserDysplasiaResultGridDto {\n totalCount?: number;\n results?: UserDysplasiaResultGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class UserDysplasiaResultGridDto implements IUserDysplasiaResultGridDto {\n userDysplasiaResultId?: number;\n numericValue?: number | undefined;\n healthValueId?: number | undefined;\n isRefused?: boolean;\n officialRemark?: string | undefined;\n otherRemark?: string | undefined;\n userId?: number;\n userDysplasiaStatusId?: number;\n dogDysplasiaTransientId?: number;\n orderIndex?: number;\n veterinary?: string | undefined;\n characteristicTranslation?: string | undefined;\n healthValue?: string | undefined;\n\n constructor(data?: IUserDysplasiaResultGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userDysplasiaResultId = _data[\"userDysplasiaResultId\"];\n this.numericValue = _data[\"numericValue\"];\n this.healthValueId = _data[\"healthValueId\"];\n this.isRefused = _data[\"isRefused\"];\n this.officialRemark = _data[\"officialRemark\"];\n this.otherRemark = _data[\"otherRemark\"];\n this.userId = _data[\"userId\"];\n this.userDysplasiaStatusId = _data[\"userDysplasiaStatusId\"];\n this.dogDysplasiaTransientId = _data[\"dogDysplasiaTransientId\"];\n this.orderIndex = _data[\"orderIndex\"];\n this.veterinary = _data[\"veterinary\"];\n this.characteristicTranslation = _data[\"characteristicTranslation\"];\n this.healthValue = _data[\"healthValue\"];\n }\n }\n\n static fromJS(data: any): UserDysplasiaResultGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserDysplasiaResultGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userDysplasiaResultId\"] = this.userDysplasiaResultId;\n data[\"numericValue\"] = this.numericValue;\n data[\"healthValueId\"] = this.healthValueId;\n data[\"isRefused\"] = this.isRefused;\n data[\"officialRemark\"] = this.officialRemark;\n data[\"otherRemark\"] = this.otherRemark;\n data[\"userId\"] = this.userId;\n data[\"userDysplasiaStatusId\"] = this.userDysplasiaStatusId;\n data[\"dogDysplasiaTransientId\"] = this.dogDysplasiaTransientId;\n data[\"orderIndex\"] = this.orderIndex;\n data[\"veterinary\"] = this.veterinary;\n data[\"characteristicTranslation\"] = this.characteristicTranslation;\n data[\"healthValue\"] = this.healthValue;\n return data;\n }\n}\n\nexport interface IUserDysplasiaResultGridDto {\n userDysplasiaResultId?: number;\n numericValue?: number | undefined;\n healthValueId?: number | undefined;\n isRefused?: boolean;\n officialRemark?: string | undefined;\n otherRemark?: string | undefined;\n userId?: number;\n userDysplasiaStatusId?: number;\n dogDysplasiaTransientId?: number;\n orderIndex?: number;\n veterinary?: string | undefined;\n characteristicTranslation?: string | undefined;\n healthValue?: string | undefined;\n}\n\nexport class UserDysplasiaResultSearch extends PaginatedSearch implements IUserDysplasiaResultSearch {\n dysplasiaTypeId?: number | undefined;\n characteristicId?: number | undefined;\n dysplasiaRequestId?: number;\n\n constructor(data?: IUserDysplasiaResultSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dysplasiaTypeId = _data[\"dysplasiaTypeId\"];\n this.characteristicId = _data[\"characteristicId\"];\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n }\n }\n\n static fromJS(data: any): UserDysplasiaResultSearch {\n data = typeof data === 'object' ? data : {};\n let result = new UserDysplasiaResultSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dysplasiaTypeId\"] = this.dysplasiaTypeId;\n data[\"characteristicId\"] = this.characteristicId;\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUserDysplasiaResultSearch extends IPaginatedSearch {\n dysplasiaTypeId?: number | undefined;\n characteristicId?: number | undefined;\n dysplasiaRequestId?: number;\n}\n\nexport class PaginatedResultsOfDysplasiaRequestGridDto implements IPaginatedResultsOfDysplasiaRequestGridDto {\n totalCount?: number;\n results?: DysplasiaRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDysplasiaRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DysplasiaRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDysplasiaRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDysplasiaRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDysplasiaRequestGridDto {\n totalCount?: number;\n results?: DysplasiaRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DysplasiaRequestGridDto implements IDysplasiaRequestGridDto {\n requestId?: number;\n dysplasiaRequestId?: number;\n dogId?: number;\n dogName?: string | undefined;\n isBlocked?: boolean;\n requestNumber?: string | undefined;\n parentRequestNumber?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequestType?: ERequestType | undefined;\n requestDate?: Date;\n isAppeal?: boolean;\n requestStateCode?: ERequestState;\n requestState?: string | undefined;\n requestStateId?: number;\n contactId?: number;\n contact?: string | undefined;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IDysplasiaRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.dogId = _data[\"dogId\"];\n this.dogName = _data[\"dogName\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.parentRequestNumber = _data[\"parentRequestNumber\"];\n this.parentRequestId = _data[\"parentRequestId\"];\n this.parentRequestType = _data[\"parentRequestType\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isAppeal = _data[\"isAppeal\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestState = _data[\"requestState\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): DysplasiaRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"dogId\"] = this.dogId;\n data[\"dogName\"] = this.dogName;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"parentRequestNumber\"] = this.parentRequestNumber;\n data[\"parentRequestId\"] = this.parentRequestId;\n data[\"parentRequestType\"] = this.parentRequestType;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isAppeal\"] = this.isAppeal;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestState\"] = this.requestState;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IDysplasiaRequestGridDto {\n requestId?: number;\n dysplasiaRequestId?: number;\n dogId?: number;\n dogName?: string | undefined;\n isBlocked?: boolean;\n requestNumber?: string | undefined;\n parentRequestNumber?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequestType?: ERequestType | undefined;\n requestDate?: Date;\n isAppeal?: boolean;\n requestStateCode?: ERequestState;\n requestState?: string | undefined;\n requestStateId?: number;\n contactId?: number;\n contact?: string | undefined;\n invoiceNumber?: string | undefined;\n}\n\nexport class DysplasiaRequestSearch extends PaginatedSearch implements IDysplasiaRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IDysplasiaRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DysplasiaRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDysplasiaRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class DysplasiaRequestDto implements IDysplasiaRequestDto {\n dysplasiaRequestId?: number;\n requestId?: number;\n dogId?: number;\n isAppeal?: boolean;\n appealRequestId?: number | undefined;\n remark?: string | undefined;\n position?: EDysplasiaPosition | undefined;\n commissionType?: ECommissionType | undefined;\n request?: RequestDto | undefined;\n radioDate?: Date;\n dogSharepointUri?: string | undefined;\n typeIdsChecked?: number[] | undefined;\n vetId?: number | undefined;\n clinicId?: number | undefined;\n transientDysplasiaTypes?: TransientDysplasiaTypeDto[] | undefined;\n\n constructor(data?: IDysplasiaRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dysplasiaRequestId = _data[\"dysplasiaRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.isAppeal = _data[\"isAppeal\"];\n this.appealRequestId = _data[\"appealRequestId\"];\n this.remark = _data[\"remark\"];\n this.position = _data[\"position\"];\n this.commissionType = _data[\"commissionType\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.radioDate = _data[\"radioDate\"] ? new Date(_data[\"radioDate\"].toString()) : undefined;\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n if (Array.isArray(_data[\"typeIdsChecked\"])) {\n this.typeIdsChecked = [] as any;\n for (let item of _data[\"typeIdsChecked\"])\n this.typeIdsChecked!.push(item);\n }\n this.vetId = _data[\"vetId\"];\n this.clinicId = _data[\"clinicId\"];\n if (Array.isArray(_data[\"transientDysplasiaTypes\"])) {\n this.transientDysplasiaTypes = [] as any;\n for (let item of _data[\"transientDysplasiaTypes\"])\n this.transientDysplasiaTypes!.push(TransientDysplasiaTypeDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DysplasiaRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new DysplasiaRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dysplasiaRequestId\"] = this.dysplasiaRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"isAppeal\"] = this.isAppeal;\n data[\"appealRequestId\"] = this.appealRequestId;\n data[\"remark\"] = this.remark;\n data[\"position\"] = this.position;\n data[\"commissionType\"] = this.commissionType;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"radioDate\"] = this.radioDate ? this.radioDate.toISOString() : undefined;\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n if (Array.isArray(this.typeIdsChecked)) {\n data[\"typeIdsChecked\"] = [];\n for (let item of this.typeIdsChecked)\n data[\"typeIdsChecked\"].push(item);\n }\n data[\"vetId\"] = this.vetId;\n data[\"clinicId\"] = this.clinicId;\n if (Array.isArray(this.transientDysplasiaTypes)) {\n data[\"transientDysplasiaTypes\"] = [];\n for (let item of this.transientDysplasiaTypes)\n data[\"transientDysplasiaTypes\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDysplasiaRequestDto {\n dysplasiaRequestId?: number;\n requestId?: number;\n dogId?: number;\n isAppeal?: boolean;\n appealRequestId?: number | undefined;\n remark?: string | undefined;\n position?: EDysplasiaPosition | undefined;\n commissionType?: ECommissionType | undefined;\n request?: RequestDto | undefined;\n radioDate?: Date;\n dogSharepointUri?: string | undefined;\n typeIdsChecked?: number[] | undefined;\n vetId?: number | undefined;\n clinicId?: number | undefined;\n transientDysplasiaTypes?: TransientDysplasiaTypeDto[] | undefined;\n}\n\nexport class PaginatedResultsOfEmailGridDto implements IPaginatedResultsOfEmailGridDto {\n totalCount?: number;\n results?: EmailGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfEmailGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(EmailGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfEmailGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfEmailGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfEmailGridDto {\n totalCount?: number;\n results?: EmailGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class EmailGridDto implements IEmailGridDto {\n mailTemplateId?: number;\n mailTemplateDescription?: string | undefined;\n code?: EEmailCode | undefined;\n codeString?: string | undefined;\n subject?: string | undefined;\n frContent?: boolean;\n enContent?: boolean;\n nlcontent?: boolean;\n\n constructor(data?: IEmailGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.mailTemplateId = _data[\"mailTemplateId\"];\n this.mailTemplateDescription = _data[\"mailTemplateDescription\"];\n this.code = _data[\"code\"];\n this.codeString = _data[\"codeString\"];\n this.subject = _data[\"subject\"];\n this.frContent = _data[\"frContent\"];\n this.enContent = _data[\"enContent\"];\n this.nlcontent = _data[\"nlcontent\"];\n }\n }\n\n static fromJS(data: any): EmailGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new EmailGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"mailTemplateId\"] = this.mailTemplateId;\n data[\"mailTemplateDescription\"] = this.mailTemplateDescription;\n data[\"code\"] = this.code;\n data[\"codeString\"] = this.codeString;\n data[\"subject\"] = this.subject;\n data[\"frContent\"] = this.frContent;\n data[\"enContent\"] = this.enContent;\n data[\"nlcontent\"] = this.nlcontent;\n return data;\n }\n}\n\nexport interface IEmailGridDto {\n mailTemplateId?: number;\n mailTemplateDescription?: string | undefined;\n code?: EEmailCode | undefined;\n codeString?: string | undefined;\n subject?: string | undefined;\n frContent?: boolean;\n enContent?: boolean;\n nlcontent?: boolean;\n}\n\nexport class EmailSearch extends PaginatedSearch implements IEmailSearch {\n code?: ListSearchOfNullableEEmailCode | undefined;\n subject?: TextSearch | undefined;\n\n constructor(data?: IEmailSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.code = _data[\"code\"] ? ListSearchOfNullableEEmailCode.fromJS(_data[\"code\"]) : undefined;\n this.subject = _data[\"subject\"] ? TextSearch.fromJS(_data[\"subject\"]) : undefined;\n }\n }\n\n static fromJS(data: any): EmailSearch {\n data = typeof data === 'object' ? data : {};\n let result = new EmailSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code ? this.code.toJSON() : undefined;\n data[\"subject\"] = this.subject ? this.subject.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmailSearch extends IPaginatedSearch {\n code?: ListSearchOfNullableEEmailCode | undefined;\n subject?: TextSearch | undefined;\n}\n\nexport abstract class FilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode implements IFilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableEEmailCode[] | undefined;\n searchMode?: EListSearchType;\n value?: EEmailCode | undefined;\n secondaryValue?: EEmailCode | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEListSearchTypeAndNullableEEmailCode.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode {\n criterias?: CombinableCriteriaOfEListSearchTypeAndNullableEEmailCode[] | undefined;\n searchMode?: EListSearchType;\n value?: EEmailCode | undefined;\n secondaryValue?: EEmailCode | undefined;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class ListSearchOfNullableEEmailCode extends FilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode implements IListSearchOfNullableEEmailCode {\n\n constructor(data?: IListSearchOfNullableEEmailCode) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ListSearchOfNullableEEmailCode {\n data = typeof data === 'object' ? data : {};\n let result = new ListSearchOfNullableEEmailCode();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IListSearchOfNullableEEmailCode extends IFilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode {\n}\n\nexport class CombinableCriteriaOfEListSearchTypeAndNullableEEmailCode implements ICombinableCriteriaOfEListSearchTypeAndNullableEEmailCode {\n searchMode?: EListSearchType;\n value?: EEmailCode | undefined;\n secondaryValue?: EEmailCode | undefined;\n\n constructor(data?: ICombinableCriteriaOfEListSearchTypeAndNullableEEmailCode) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEListSearchTypeAndNullableEEmailCode {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEListSearchTypeAndNullableEEmailCode();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEListSearchTypeAndNullableEEmailCode {\n searchMode?: EListSearchType;\n value?: EEmailCode | undefined;\n secondaryValue?: EEmailCode | undefined;\n}\n\nexport class EmailDto implements IEmailDto {\n mailTemplateId?: number;\n code?: EEmailCode;\n mailContent?: MailContentDto[] | undefined;\n mailDescription?: string | undefined;\n\n constructor(data?: IEmailDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.mailTemplateId = _data[\"mailTemplateId\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"mailContent\"])) {\n this.mailContent = [] as any;\n for (let item of _data[\"mailContent\"])\n this.mailContent!.push(MailContentDto.fromJS(item));\n }\n this.mailDescription = _data[\"mailDescription\"];\n }\n }\n\n static fromJS(data: any): EmailDto {\n data = typeof data === 'object' ? data : {};\n let result = new EmailDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"mailTemplateId\"] = this.mailTemplateId;\n data[\"code\"] = this.code;\n if (Array.isArray(this.mailContent)) {\n data[\"mailContent\"] = [];\n for (let item of this.mailContent)\n data[\"mailContent\"].push(item.toJSON());\n }\n data[\"mailDescription\"] = this.mailDescription;\n return data;\n }\n}\n\nexport interface IEmailDto {\n mailTemplateId?: number;\n code?: EEmailCode;\n mailContent?: MailContentDto[] | undefined;\n mailDescription?: string | undefined;\n}\n\nexport class MailContentDto implements IMailContentDto {\n mailTemplateId?: number;\n languageId?: number;\n body?: string | undefined;\n subject?: string | undefined;\n mailContentId?: number;\n\n constructor(data?: IMailContentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.mailTemplateId = _data[\"mailTemplateId\"];\n this.languageId = _data[\"languageId\"];\n this.body = _data[\"body\"];\n this.subject = _data[\"subject\"];\n this.mailContentId = _data[\"mailContentId\"];\n }\n }\n\n static fromJS(data: any): MailContentDto {\n data = typeof data === 'object' ? data : {};\n let result = new MailContentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"mailTemplateId\"] = this.mailTemplateId;\n data[\"languageId\"] = this.languageId;\n data[\"body\"] = this.body;\n data[\"subject\"] = this.subject;\n data[\"mailContentId\"] = this.mailContentId;\n return data;\n }\n}\n\nexport interface IMailContentDto {\n mailTemplateId?: number;\n languageId?: number;\n body?: string | undefined;\n subject?: string | undefined;\n mailContentId?: number;\n}\n\nexport class FileDownload implements IFileDownload {\n fileName?: string | undefined;\n base64Content?: string | undefined;\n\n constructor(data?: IFileDownload) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileName = _data[\"fileName\"];\n this.base64Content = _data[\"base64Content\"];\n }\n }\n\n static fromJS(data: any): FileDownload {\n data = typeof data === 'object' ? data : {};\n let result = new FileDownload();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileName\"] = this.fileName;\n data[\"base64Content\"] = this.base64Content;\n return data;\n }\n}\n\nexport interface IFileDownload {\n fileName?: string | undefined;\n base64Content?: string | undefined;\n}\n\nexport class PaginatedResultsOfExpatriationRequestGridDto implements IPaginatedResultsOfExpatriationRequestGridDto {\n totalCount?: number;\n results?: ExpatriationRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfExpatriationRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ExpatriationRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfExpatriationRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfExpatriationRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfExpatriationRequestGridDto {\n totalCount?: number;\n results?: ExpatriationRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ExpatriationRequestGridDto implements IExpatriationRequestGridDto {\n expatriationRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IExpatriationRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.expatriationRequestId = _data[\"expatriationRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.dog = _data[\"dog\"];\n this.dogId = _data[\"dogId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): ExpatriationRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ExpatriationRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"expatriationRequestId\"] = this.expatriationRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"dog\"] = this.dog;\n data[\"dogId\"] = this.dogId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IExpatriationRequestGridDto {\n expatriationRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport class ExpatriationRequestSearchDto extends PaginatedSearch implements IExpatriationRequestSearchDto {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IExpatriationRequestSearchDto) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ExpatriationRequestSearchDto {\n data = typeof data === 'object' ? data : {};\n let result = new ExpatriationRequestSearchDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IExpatriationRequestSearchDto extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class ExpatriationRequestDto implements IExpatriationRequestDto {\n expatriationRequestId?: number;\n requestId?: number;\n dogId?: number;\n isForeignDog?: boolean;\n request?: RequestDto | undefined;\n dogSharepointUri?: string | undefined;\n\n constructor(data?: IExpatriationRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.expatriationRequestId = _data[\"expatriationRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.isForeignDog = _data[\"isForeignDog\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n }\n }\n\n static fromJS(data: any): ExpatriationRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new ExpatriationRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"expatriationRequestId\"] = this.expatriationRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"isForeignDog\"] = this.isForeignDog;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n return data;\n }\n}\n\nexport interface IExpatriationRequestDto {\n expatriationRequestId?: number;\n requestId?: number;\n dogId?: number;\n isForeignDog?: boolean;\n request?: RequestDto | undefined;\n dogSharepointUri?: string | undefined;\n}\n\nexport class PaginatedResultsOfHealthPackGridDto implements IPaginatedResultsOfHealthPackGridDto {\n totalCount?: number;\n results?: HealthPackGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfHealthPackGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(HealthPackGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfHealthPackGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfHealthPackGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfHealthPackGridDto {\n totalCount?: number;\n results?: HealthPackGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class HealthPackGridDto implements IHealthPackGridDto {\n healthPackId?: number;\n healthPackCode?: string | undefined;\n articleName?: string | undefined;\n articleId?: number;\n healthPackGroupName?: string | undefined;\n healthPackGroupId?: number;\n lab?: ELab;\n orderIndex?: number;\n\n constructor(data?: IHealthPackGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthPackId = _data[\"healthPackId\"];\n this.healthPackCode = _data[\"healthPackCode\"];\n this.articleName = _data[\"articleName\"];\n this.articleId = _data[\"articleId\"];\n this.healthPackGroupName = _data[\"healthPackGroupName\"];\n this.healthPackGroupId = _data[\"healthPackGroupId\"];\n this.lab = _data[\"lab\"];\n this.orderIndex = _data[\"orderIndex\"];\n }\n }\n\n static fromJS(data: any): HealthPackGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPackGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackId\"] = this.healthPackId;\n data[\"healthPackCode\"] = this.healthPackCode;\n data[\"articleName\"] = this.articleName;\n data[\"articleId\"] = this.articleId;\n data[\"healthPackGroupName\"] = this.healthPackGroupName;\n data[\"healthPackGroupId\"] = this.healthPackGroupId;\n data[\"lab\"] = this.lab;\n data[\"orderIndex\"] = this.orderIndex;\n return data;\n }\n}\n\nexport interface IHealthPackGridDto {\n healthPackId?: number;\n healthPackCode?: string | undefined;\n articleName?: string | undefined;\n articleId?: number;\n healthPackGroupName?: string | undefined;\n healthPackGroupId?: number;\n lab?: ELab;\n orderIndex?: number;\n}\n\nexport class HealthPackSearch extends PaginatedSearch implements IHealthPackSearch {\n healthPackCode?: TextSearch | undefined;\n articleName?: TextSearch | undefined;\n lab?: ListSearchOfNullableELab | undefined;\n healthPackGroupId?: ListSearchOfNullableInteger | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: IHealthPackSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.healthPackCode = _data[\"healthPackCode\"] ? TextSearch.fromJS(_data[\"healthPackCode\"]) : undefined;\n this.articleName = _data[\"articleName\"] ? TextSearch.fromJS(_data[\"articleName\"]) : undefined;\n this.lab = _data[\"lab\"] ? ListSearchOfNullableELab.fromJS(_data[\"lab\"]) : undefined;\n this.healthPackGroupId = _data[\"healthPackGroupId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"healthPackGroupId\"]) : undefined;\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): HealthPackSearch {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPackSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackCode\"] = this.healthPackCode ? this.healthPackCode.toJSON() : undefined;\n data[\"articleName\"] = this.articleName ? this.articleName.toJSON() : undefined;\n data[\"lab\"] = this.lab ? this.lab.toJSON() : undefined;\n data[\"healthPackGroupId\"] = this.healthPackGroupId ? this.healthPackGroupId.toJSON() : undefined;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IHealthPackSearch extends IPaginatedSearch {\n healthPackCode?: TextSearch | undefined;\n articleName?: TextSearch | undefined;\n lab?: ListSearchOfNullableELab | undefined;\n healthPackGroupId?: ListSearchOfNullableInteger | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class HealthPackDto implements IHealthPackDto {\n healthPackId?: number;\n healthPackCode?: string | undefined;\n articleId?: number;\n healthPackGroupId?: number;\n webSiteUriFr?: string | undefined;\n webSiteUriNl?: string | undefined;\n lab?: ELab;\n characteristicIds?: number[] | undefined;\n healthPackTranslations?: HealthPackTranslationDto[] | undefined;\n\n constructor(data?: IHealthPackDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthPackId = _data[\"healthPackId\"];\n this.healthPackCode = _data[\"healthPackCode\"];\n this.articleId = _data[\"articleId\"];\n this.healthPackGroupId = _data[\"healthPackGroupId\"];\n this.webSiteUriFr = _data[\"webSiteUriFr\"];\n this.webSiteUriNl = _data[\"webSiteUriNl\"];\n this.lab = _data[\"lab\"];\n if (Array.isArray(_data[\"characteristicIds\"])) {\n this.characteristicIds = [] as any;\n for (let item of _data[\"characteristicIds\"])\n this.characteristicIds!.push(item);\n }\n if (Array.isArray(_data[\"healthPackTranslations\"])) {\n this.healthPackTranslations = [] as any;\n for (let item of _data[\"healthPackTranslations\"])\n this.healthPackTranslations!.push(HealthPackTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): HealthPackDto {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPackDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackId\"] = this.healthPackId;\n data[\"healthPackCode\"] = this.healthPackCode;\n data[\"articleId\"] = this.articleId;\n data[\"healthPackGroupId\"] = this.healthPackGroupId;\n data[\"webSiteUriFr\"] = this.webSiteUriFr;\n data[\"webSiteUriNl\"] = this.webSiteUriNl;\n data[\"lab\"] = this.lab;\n if (Array.isArray(this.characteristicIds)) {\n data[\"characteristicIds\"] = [];\n for (let item of this.characteristicIds)\n data[\"characteristicIds\"].push(item);\n }\n if (Array.isArray(this.healthPackTranslations)) {\n data[\"healthPackTranslations\"] = [];\n for (let item of this.healthPackTranslations)\n data[\"healthPackTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IHealthPackDto {\n healthPackId?: number;\n healthPackCode?: string | undefined;\n articleId?: number;\n healthPackGroupId?: number;\n webSiteUriFr?: string | undefined;\n webSiteUriNl?: string | undefined;\n lab?: ELab;\n characteristicIds?: number[] | undefined;\n healthPackTranslations?: HealthPackTranslationDto[] | undefined;\n}\n\nexport class HealthPackTranslationDto implements IHealthPackTranslationDto {\n colorId?: number;\n languageId?: number;\n text?: string | undefined;\n colorTranslationId?: number;\n\n constructor(data?: IHealthPackTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.colorId = _data[\"colorId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.colorTranslationId = _data[\"colorTranslationId\"];\n }\n }\n\n static fromJS(data: any): HealthPackTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new HealthPackTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"colorId\"] = this.colorId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"colorTranslationId\"] = this.colorTranslationId;\n return data;\n }\n}\n\nexport interface IHealthPackTranslationDto {\n colorId?: number;\n languageId?: number;\n text?: string | undefined;\n colorTranslationId?: number;\n}\n\nexport class PaginatedResultsOfHealthTestRequestGridDto implements IPaginatedResultsOfHealthTestRequestGridDto {\n totalCount?: number;\n results?: HealthTestRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfHealthTestRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(HealthTestRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfHealthTestRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfHealthTestRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfHealthTestRequestGridDto {\n totalCount?: number;\n results?: HealthTestRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class HealthTestRequestGridDto implements IHealthTestRequestGridDto {\n requestId?: number;\n healthTestRequestId?: number;\n dogId?: number;\n dogName?: string | undefined;\n isBlocked?: boolean;\n requestNumber?: string | undefined;\n parentRequestNumber?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequestType?: ERequestType | undefined;\n requestDate?: Date;\n isAppeal?: boolean;\n requestStateCode?: ERequestState;\n requestState?: string | undefined;\n requestStateId?: number;\n contactId?: number;\n contact?: string | undefined;\n invoiceNumber?: string | undefined;\n lab?: ELab;\n\n constructor(data?: IHealthTestRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.dogId = _data[\"dogId\"];\n this.dogName = _data[\"dogName\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.parentRequestNumber = _data[\"parentRequestNumber\"];\n this.parentRequestId = _data[\"parentRequestId\"];\n this.parentRequestType = _data[\"parentRequestType\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isAppeal = _data[\"isAppeal\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestState = _data[\"requestState\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n this.lab = _data[\"lab\"];\n }\n }\n\n static fromJS(data: any): HealthTestRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"dogId\"] = this.dogId;\n data[\"dogName\"] = this.dogName;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"parentRequestNumber\"] = this.parentRequestNumber;\n data[\"parentRequestId\"] = this.parentRequestId;\n data[\"parentRequestType\"] = this.parentRequestType;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isAppeal\"] = this.isAppeal;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestState\"] = this.requestState;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n data[\"lab\"] = this.lab;\n return data;\n }\n}\n\nexport interface IHealthTestRequestGridDto {\n requestId?: number;\n healthTestRequestId?: number;\n dogId?: number;\n dogName?: string | undefined;\n isBlocked?: boolean;\n requestNumber?: string | undefined;\n parentRequestNumber?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequestType?: ERequestType | undefined;\n requestDate?: Date;\n isAppeal?: boolean;\n requestStateCode?: ERequestState;\n requestState?: string | undefined;\n requestStateId?: number;\n contactId?: number;\n contact?: string | undefined;\n invoiceNumber?: string | undefined;\n lab?: ELab;\n}\n\nexport class HealthTestRequestSearch extends PaginatedSearch implements IHealthTestRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n lab?: ListSearchOfELab | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceSearch?: TextSearch | undefined;\n\n constructor(data?: IHealthTestRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.lab = _data[\"lab\"] ? ListSearchOfELab.fromJS(_data[\"lab\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceSearch = _data[\"invoiceSearch\"] ? TextSearch.fromJS(_data[\"invoiceSearch\"]) : undefined;\n }\n }\n\n static fromJS(data: any): HealthTestRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"lab\"] = this.lab ? this.lab.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceSearch\"] = this.invoiceSearch ? this.invoiceSearch.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IHealthTestRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n lab?: ListSearchOfELab | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceSearch?: TextSearch | undefined;\n}\n\nexport abstract class FilterCriteriaBaseOfEListSearchTypeAndELab implements IFilterCriteriaBaseOfEListSearchTypeAndELab {\n criterias?: CombinableCriteriaOfEListSearchTypeAndELab[] | undefined;\n searchMode?: EListSearchType;\n value?: ELab;\n secondaryValue?: ELab;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEListSearchTypeAndELab) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEListSearchTypeAndELab.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEListSearchTypeAndELab {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEListSearchTypeAndELab' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEListSearchTypeAndELab {\n criterias?: CombinableCriteriaOfEListSearchTypeAndELab[] | undefined;\n searchMode?: EListSearchType;\n value?: ELab;\n secondaryValue?: ELab;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class ListSearchOfELab extends FilterCriteriaBaseOfEListSearchTypeAndELab implements IListSearchOfELab {\n\n constructor(data?: IListSearchOfELab) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ListSearchOfELab {\n data = typeof data === 'object' ? data : {};\n let result = new ListSearchOfELab();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IListSearchOfELab extends IFilterCriteriaBaseOfEListSearchTypeAndELab {\n}\n\nexport class CombinableCriteriaOfEListSearchTypeAndELab implements ICombinableCriteriaOfEListSearchTypeAndELab {\n searchMode?: EListSearchType;\n value?: ELab;\n secondaryValue?: ELab;\n\n constructor(data?: ICombinableCriteriaOfEListSearchTypeAndELab) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEListSearchTypeAndELab {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEListSearchTypeAndELab();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEListSearchTypeAndELab {\n searchMode?: EListSearchType;\n value?: ELab;\n secondaryValue?: ELab;\n}\n\nexport class BaseHealthTestRequestSearch extends PaginatedSearch implements IBaseHealthTestRequestSearch {\n healthTestRequestId?: number;\n languageId?: number;\n hideDnaTest?: boolean;\n\n constructor(data?: IBaseHealthTestRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.languageId = _data[\"languageId\"];\n this.hideDnaTest = _data[\"hideDnaTest\"];\n }\n }\n\n static fromJS(data: any): BaseHealthTestRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BaseHealthTestRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"languageId\"] = this.languageId;\n data[\"hideDnaTest\"] = this.hideDnaTest;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBaseHealthTestRequestSearch extends IPaginatedSearch {\n healthTestRequestId?: number;\n languageId?: number;\n hideDnaTest?: boolean;\n}\n\nexport class HealthTestRequestDto implements IHealthTestRequestDto {\n healthTestRequestId?: number;\n requestId?: number;\n dogId?: number | undefined;\n labStatusId?: number | undefined;\n lab?: ELab;\n whiteTest?: boolean;\n request?: RequestDto | undefined;\n healthPackIds?: number[] | undefined;\n singleHealthTestIds?: number[] | undefined;\n\n constructor(data?: IHealthTestRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.labStatusId = _data[\"labStatusId\"];\n this.lab = _data[\"lab\"];\n this.whiteTest = _data[\"whiteTest\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"healthPackIds\"])) {\n this.healthPackIds = [] as any;\n for (let item of _data[\"healthPackIds\"])\n this.healthPackIds!.push(item);\n }\n if (Array.isArray(_data[\"singleHealthTestIds\"])) {\n this.singleHealthTestIds = [] as any;\n for (let item of _data[\"singleHealthTestIds\"])\n this.singleHealthTestIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): HealthTestRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"labStatusId\"] = this.labStatusId;\n data[\"lab\"] = this.lab;\n data[\"whiteTest\"] = this.whiteTest;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.healthPackIds)) {\n data[\"healthPackIds\"] = [];\n for (let item of this.healthPackIds)\n data[\"healthPackIds\"].push(item);\n }\n if (Array.isArray(this.singleHealthTestIds)) {\n data[\"singleHealthTestIds\"] = [];\n for (let item of this.singleHealthTestIds)\n data[\"singleHealthTestIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IHealthTestRequestDto {\n healthTestRequestId?: number;\n requestId?: number;\n dogId?: number | undefined;\n labStatusId?: number | undefined;\n lab?: ELab;\n whiteTest?: boolean;\n request?: RequestDto | undefined;\n healthPackIds?: number[] | undefined;\n singleHealthTestIds?: number[] | undefined;\n}\n\nexport class BlockedHealthTestDto implements IBlockedHealthTestDto {\n blockedSingleHealthTestsIds?: number[] | undefined;\n blockedHealthTestPackIds?: number[] | undefined;\n\n constructor(data?: IBlockedHealthTestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"blockedSingleHealthTestsIds\"])) {\n this.blockedSingleHealthTestsIds = [] as any;\n for (let item of _data[\"blockedSingleHealthTestsIds\"])\n this.blockedSingleHealthTestsIds!.push(item);\n }\n if (Array.isArray(_data[\"blockedHealthTestPackIds\"])) {\n this.blockedHealthTestPackIds = [] as any;\n for (let item of _data[\"blockedHealthTestPackIds\"])\n this.blockedHealthTestPackIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): BlockedHealthTestDto {\n data = typeof data === 'object' ? data : {};\n let result = new BlockedHealthTestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.blockedSingleHealthTestsIds)) {\n data[\"blockedSingleHealthTestsIds\"] = [];\n for (let item of this.blockedSingleHealthTestsIds)\n data[\"blockedSingleHealthTestsIds\"].push(item);\n }\n if (Array.isArray(this.blockedHealthTestPackIds)) {\n data[\"blockedHealthTestPackIds\"] = [];\n for (let item of this.blockedHealthTestPackIds)\n data[\"blockedHealthTestPackIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IBlockedHealthTestDto {\n blockedSingleHealthTestsIds?: number[] | undefined;\n blockedHealthTestPackIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfHealthTestRequestPackGridDto implements IPaginatedResultsOfHealthTestRequestPackGridDto {\n totalCount?: number;\n results?: HealthTestRequestPackGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfHealthTestRequestPackGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(HealthTestRequestPackGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfHealthTestRequestPackGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfHealthTestRequestPackGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfHealthTestRequestPackGridDto {\n totalCount?: number;\n results?: HealthTestRequestPackGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class HealthTestRequestPackGridDto implements IHealthTestRequestPackGridDto {\n healthPackId?: number;\n healthPackCode?: string | undefined;\n healthPackName?: string | undefined;\n orderIndex?: number;\n healthTestPackCharacteristics?: HealthTestRequestCharacteristicGridDto[] | undefined;\n\n constructor(data?: IHealthTestRequestPackGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.healthPackId = _data[\"healthPackId\"];\n this.healthPackCode = _data[\"healthPackCode\"];\n this.healthPackName = _data[\"healthPackName\"];\n this.orderIndex = _data[\"orderIndex\"];\n if (Array.isArray(_data[\"healthTestPackCharacteristics\"])) {\n this.healthTestPackCharacteristics = [] as any;\n for (let item of _data[\"healthTestPackCharacteristics\"])\n this.healthTestPackCharacteristics!.push(HealthTestRequestCharacteristicGridDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): HealthTestRequestPackGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestRequestPackGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"healthPackId\"] = this.healthPackId;\n data[\"healthPackCode\"] = this.healthPackCode;\n data[\"healthPackName\"] = this.healthPackName;\n data[\"orderIndex\"] = this.orderIndex;\n if (Array.isArray(this.healthTestPackCharacteristics)) {\n data[\"healthTestPackCharacteristics\"] = [];\n for (let item of this.healthTestPackCharacteristics)\n data[\"healthTestPackCharacteristics\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IHealthTestRequestPackGridDto {\n healthPackId?: number;\n healthPackCode?: string | undefined;\n healthPackName?: string | undefined;\n orderIndex?: number;\n healthTestPackCharacteristics?: HealthTestRequestCharacteristicGridDto[] | undefined;\n}\n\nexport class HealthTestRequestCharacteristicGridDto implements IHealthTestRequestCharacteristicGridDto {\n characteristicName?: string | undefined;\n characteristicCode?: string | undefined;\n characteristicId?: number;\n\n constructor(data?: IHealthTestRequestCharacteristicGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.characteristicName = _data[\"characteristicName\"];\n this.characteristicCode = _data[\"characteristicCode\"];\n this.characteristicId = _data[\"characteristicId\"];\n }\n }\n\n static fromJS(data: any): HealthTestRequestCharacteristicGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new HealthTestRequestCharacteristicGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"characteristicName\"] = this.characteristicName;\n data[\"characteristicCode\"] = this.characteristicCode;\n data[\"characteristicId\"] = this.characteristicId;\n return data;\n }\n}\n\nexport interface IHealthTestRequestCharacteristicGridDto {\n characteristicName?: string | undefined;\n characteristicCode?: string | undefined;\n characteristicId?: number;\n}\n\nexport class HealthRequestPacksSearch extends PaginatedSearch implements IHealthRequestPacksSearch {\n lab?: ELab;\n dogId?: number | undefined;\n healthTestRequestId?: number | undefined;\n languageId?: number;\n\n constructor(data?: IHealthRequestPacksSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.lab = _data[\"lab\"];\n this.dogId = _data[\"dogId\"];\n this.healthTestRequestId = _data[\"healthTestRequestId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): HealthRequestPacksSearch {\n data = typeof data === 'object' ? data : {};\n let result = new HealthRequestPacksSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"lab\"] = this.lab;\n data[\"dogId\"] = this.dogId;\n data[\"healthTestRequestId\"] = this.healthTestRequestId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IHealthRequestPacksSearch extends IPaginatedSearch {\n lab?: ELab;\n dogId?: number | undefined;\n healthTestRequestId?: number | undefined;\n languageId?: number;\n}\n\nexport class PaginatedResultsOfImportRequestGridDto implements IPaginatedResultsOfImportRequestGridDto {\n totalCount?: number;\n results?: ImportRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfImportRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ImportRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfImportRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfImportRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfImportRequestGridDto {\n totalCount?: number;\n results?: ImportRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ImportRequestGridDto implements IImportRequestGridDto {\n importRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n kennelName?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IImportRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.importRequestId = _data[\"importRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.dog = _data[\"dog\"];\n this.dogId = _data[\"dogId\"];\n this.kennelName = _data[\"kennelName\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): ImportRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ImportRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"importRequestId\"] = this.importRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"dog\"] = this.dog;\n data[\"dogId\"] = this.dogId;\n data[\"kennelName\"] = this.kennelName;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IImportRequestGridDto {\n importRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n kennelName?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport class ImportRequestSearch extends PaginatedSearch implements IImportRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IImportRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ImportRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ImportRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IImportRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class ImportRequestDto implements IImportRequestDto {\n importRequestId?: number;\n requestId?: number;\n dogId?: number;\n request?: RequestDto | undefined;\n transientOwnerIds?: number[] | undefined;\n dogSharepointUri?: string | undefined;\n\n constructor(data?: IImportRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.importRequestId = _data[\"importRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"transientOwnerIds\"])) {\n this.transientOwnerIds = [] as any;\n for (let item of _data[\"transientOwnerIds\"])\n this.transientOwnerIds!.push(item);\n }\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n }\n }\n\n static fromJS(data: any): ImportRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new ImportRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"importRequestId\"] = this.importRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.transientOwnerIds)) {\n data[\"transientOwnerIds\"] = [];\n for (let item of this.transientOwnerIds)\n data[\"transientOwnerIds\"].push(item);\n }\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n return data;\n }\n}\n\nexport interface IImportRequestDto {\n importRequestId?: number;\n requestId?: number;\n dogId?: number;\n request?: RequestDto | undefined;\n transientOwnerIds?: number[] | undefined;\n dogSharepointUri?: string | undefined;\n}\n\nexport class PaginatedResultsOfImportRequestTransientOwnersGridDto implements IPaginatedResultsOfImportRequestTransientOwnersGridDto {\n totalCount?: number;\n results?: ImportRequestTransientOwnersGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfImportRequestTransientOwnersGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ImportRequestTransientOwnersGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfImportRequestTransientOwnersGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfImportRequestTransientOwnersGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfImportRequestTransientOwnersGridDto {\n totalCount?: number;\n results?: ImportRequestTransientOwnersGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ImportRequestTransientOwnersGridDto implements IImportRequestTransientOwnersGridDto {\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n\n constructor(data?: IImportRequestTransientOwnersGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n }\n }\n\n static fromJS(data: any): ImportRequestTransientOwnersGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ImportRequestTransientOwnersGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n return data;\n }\n}\n\nexport interface IImportRequestTransientOwnersGridDto {\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n}\n\nexport class ImportRequestTransientOwnersSearch extends PaginatedSearch implements IImportRequestTransientOwnersSearch {\n importRequestId?: number;\n dogId?: number;\n\n constructor(data?: IImportRequestTransientOwnersSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.importRequestId = _data[\"importRequestId\"];\n this.dogId = _data[\"dogId\"];\n }\n }\n\n static fromJS(data: any): ImportRequestTransientOwnersSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ImportRequestTransientOwnersSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"importRequestId\"] = this.importRequestId;\n data[\"dogId\"] = this.dogId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IImportRequestTransientOwnersSearch extends IPaginatedSearch {\n importRequestId?: number;\n dogId?: number;\n}\n\nexport class JudgeSearch extends PaginatedSearch implements IJudgeSearch {\n languageId?: number;\n firstName?: TextSearch | undefined;\n lastName?: TextSearch | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: IJudgeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.firstName = _data[\"firstName\"] ? TextSearch.fromJS(_data[\"firstName\"]) : undefined;\n this.lastName = _data[\"lastName\"] ? TextSearch.fromJS(_data[\"lastName\"]) : undefined;\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): JudgeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"firstName\"] = this.firstName ? this.firstName.toJSON() : undefined;\n data[\"lastName\"] = this.lastName ? this.lastName.toJSON() : undefined;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IJudgeSearch extends IPaginatedSearch {\n languageId?: number;\n firstName?: TextSearch | undefined;\n lastName?: TextSearch | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class JudgeInformationDto implements IJudgeInformationDto {\n judgeId?: number;\n fciNumber?: string | undefined;\n personId?: number;\n spokenLanguageIds?: number[] | undefined;\n\n constructor(data?: IJudgeInformationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.judgeId = _data[\"judgeId\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.personId = _data[\"personId\"];\n if (Array.isArray(_data[\"spokenLanguageIds\"])) {\n this.spokenLanguageIds = [] as any;\n for (let item of _data[\"spokenLanguageIds\"])\n this.spokenLanguageIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): JudgeInformationDto {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeInformationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"judgeId\"] = this.judgeId;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"personId\"] = this.personId;\n if (Array.isArray(this.spokenLanguageIds)) {\n data[\"spokenLanguageIds\"] = [];\n for (let item of this.spokenLanguageIds)\n data[\"spokenLanguageIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IJudgeInformationDto {\n judgeId?: number;\n fciNumber?: string | undefined;\n personId?: number;\n spokenLanguageIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfJudgeTransientBreedGridDto implements IPaginatedResultsOfJudgeTransientBreedGridDto {\n totalCount?: number;\n results?: JudgeTransientBreedGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfJudgeTransientBreedGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(JudgeTransientBreedGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfJudgeTransientBreedGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfJudgeTransientBreedGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfJudgeTransientBreedGridDto {\n totalCount?: number;\n results?: JudgeTransientBreedGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class JudgeTransientBreedGridDto implements IJudgeTransientBreedGridDto {\n breedJudgeTransientId?: number;\n breedId?: number;\n judgeId?: number;\n personId?: number;\n breedName?: string | undefined;\n judgeName?: string | undefined;\n breedGroupName?: string | undefined;\n\n constructor(data?: IJudgeTransientBreedGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breedJudgeTransientId = _data[\"breedJudgeTransientId\"];\n this.breedId = _data[\"breedId\"];\n this.judgeId = _data[\"judgeId\"];\n this.personId = _data[\"personId\"];\n this.breedName = _data[\"breedName\"];\n this.judgeName = _data[\"judgeName\"];\n this.breedGroupName = _data[\"breedGroupName\"];\n }\n }\n\n static fromJS(data: any): JudgeTransientBreedGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeTransientBreedGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedJudgeTransientId\"] = this.breedJudgeTransientId;\n data[\"breedId\"] = this.breedId;\n data[\"judgeId\"] = this.judgeId;\n data[\"personId\"] = this.personId;\n data[\"breedName\"] = this.breedName;\n data[\"judgeName\"] = this.judgeName;\n data[\"breedGroupName\"] = this.breedGroupName;\n return data;\n }\n}\n\nexport interface IJudgeTransientBreedGridDto {\n breedJudgeTransientId?: number;\n breedId?: number;\n judgeId?: number;\n personId?: number;\n breedName?: string | undefined;\n judgeName?: string | undefined;\n breedGroupName?: string | undefined;\n}\n\nexport class JudgeTransientBreedSearch extends PaginatedSearch implements IJudgeTransientBreedSearch {\n breedName?: TextSearch | undefined;\n judgeName?: TextSearch | undefined;\n breedGroupName?: TextSearch | undefined;\n\n constructor(data?: IJudgeTransientBreedSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.breedName = _data[\"breedName\"] ? TextSearch.fromJS(_data[\"breedName\"]) : undefined;\n this.judgeName = _data[\"judgeName\"] ? TextSearch.fromJS(_data[\"judgeName\"]) : undefined;\n this.breedGroupName = _data[\"breedGroupName\"] ? TextSearch.fromJS(_data[\"breedGroupName\"]) : undefined;\n }\n }\n\n static fromJS(data: any): JudgeTransientBreedSearch {\n data = typeof data === 'object' ? data : {};\n let result = new JudgeTransientBreedSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breedName\"] = this.breedName ? this.breedName.toJSON() : undefined;\n data[\"judgeName\"] = this.judgeName ? this.judgeName.toJSON() : undefined;\n data[\"breedGroupName\"] = this.breedGroupName ? this.breedGroupName.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IJudgeTransientBreedSearch extends IPaginatedSearch {\n breedName?: TextSearch | undefined;\n judgeName?: TextSearch | undefined;\n breedGroupName?: TextSearch | undefined;\n}\n\nexport class PaginatedResultsOfKennelGridDto implements IPaginatedResultsOfKennelGridDto {\n totalCount?: number;\n results?: KennelGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfKennelGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(KennelGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfKennelGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfKennelGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfKennelGridDto {\n totalCount?: number;\n results?: KennelGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class KennelGridDto implements IKennelGridDto {\n kennelId?: number;\n name?: string | undefined;\n type?: EKennelType;\n country?: string | undefined;\n countryId?: number;\n fciNumber?: string | undefined;\n attributionDate?: Date | undefined;\n closingDate?: Date | undefined;\n owners?: string[] | undefined;\n isClosed?: boolean;\n\n constructor(data?: IKennelGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelId = _data[\"kennelId\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.country = _data[\"country\"];\n this.countryId = _data[\"countryId\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.attributionDate = _data[\"attributionDate\"] ? new Date(_data[\"attributionDate\"].toString()) : undefined;\n this.closingDate = _data[\"closingDate\"] ? new Date(_data[\"closingDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"owners\"])) {\n this.owners = [] as any;\n for (let item of _data[\"owners\"])\n this.owners!.push(item);\n }\n this.isClosed = _data[\"isClosed\"];\n }\n }\n\n static fromJS(data: any): KennelGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelId\"] = this.kennelId;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"country\"] = this.country;\n data[\"countryId\"] = this.countryId;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"attributionDate\"] = this.attributionDate ? this.attributionDate.toISOString() : undefined;\n data[\"closingDate\"] = this.closingDate ? this.closingDate.toISOString() : undefined;\n if (Array.isArray(this.owners)) {\n data[\"owners\"] = [];\n for (let item of this.owners)\n data[\"owners\"].push(item);\n }\n data[\"isClosed\"] = this.isClosed;\n return data;\n }\n}\n\nexport interface IKennelGridDto {\n kennelId?: number;\n name?: string | undefined;\n type?: EKennelType;\n country?: string | undefined;\n countryId?: number;\n fciNumber?: string | undefined;\n attributionDate?: Date | undefined;\n closingDate?: Date | undefined;\n owners?: string[] | undefined;\n isClosed?: boolean;\n}\n\nexport class KennelSearch extends PaginatedSearch implements IKennelSearch {\n languageCode?: string | undefined;\n name?: TextSearch | undefined;\n owner?: TextSearch | undefined;\n fciNumber?: TextSearch | undefined;\n\n constructor(data?: IKennelSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageCode = _data[\"languageCode\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.owner = _data[\"owner\"] ? TextSearch.fromJS(_data[\"owner\"]) : undefined;\n this.fciNumber = _data[\"fciNumber\"] ? TextSearch.fromJS(_data[\"fciNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): KennelSearch {\n data = typeof data === 'object' ? data : {};\n let result = new KennelSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageCode\"] = this.languageCode;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\n data[\"fciNumber\"] = this.fciNumber ? this.fciNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IKennelSearch extends IPaginatedSearch {\n languageCode?: string | undefined;\n name?: TextSearch | undefined;\n owner?: TextSearch | undefined;\n fciNumber?: TextSearch | undefined;\n}\n\nexport class KennelDto implements IKennelDto {\n kennelId?: number;\n name?: string | undefined;\n type?: EKennelType;\n fciNumber?: string | undefined;\n requestAffix?: string | undefined;\n attributionDate?: Date | undefined;\n closingDate?: Date | undefined;\n publishingDate?: Date | undefined;\n countryId?: number | undefined;\n originCountryId?: number | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n previousKennelId?: number | undefined;\n remark?: string | undefined;\n isClosed?: boolean;\n sharepointUri?: string | undefined;\n\n constructor(data?: IKennelDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelId = _data[\"kennelId\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.fciNumber = _data[\"fciNumber\"];\n this.requestAffix = _data[\"requestAffix\"];\n this.attributionDate = _data[\"attributionDate\"] ? new Date(_data[\"attributionDate\"].toString()) : undefined;\n this.closingDate = _data[\"closingDate\"] ? new Date(_data[\"closingDate\"].toString()) : undefined;\n this.publishingDate = _data[\"publishingDate\"] ? new Date(_data[\"publishingDate\"].toString()) : undefined;\n this.countryId = _data[\"countryId\"];\n this.originCountryId = _data[\"originCountryId\"];\n this.exclusionReason = _data[\"exclusionReason\"];\n this.exclusionStartDate = _data[\"exclusionStartDate\"] ? new Date(_data[\"exclusionStartDate\"].toString()) : undefined;\n this.exclusionEndDate = _data[\"exclusionEndDate\"] ? new Date(_data[\"exclusionEndDate\"].toString()) : undefined;\n this.previousKennelId = _data[\"previousKennelId\"];\n this.remark = _data[\"remark\"];\n this.isClosed = _data[\"isClosed\"];\n this.sharepointUri = _data[\"sharepointUri\"];\n }\n }\n\n static fromJS(data: any): KennelDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelId\"] = this.kennelId;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"fciNumber\"] = this.fciNumber;\n data[\"requestAffix\"] = this.requestAffix;\n data[\"attributionDate\"] = this.attributionDate ? this.attributionDate.toISOString() : undefined;\n data[\"closingDate\"] = this.closingDate ? this.closingDate.toISOString() : undefined;\n data[\"publishingDate\"] = this.publishingDate ? this.publishingDate.toISOString() : undefined;\n data[\"countryId\"] = this.countryId;\n data[\"originCountryId\"] = this.originCountryId;\n data[\"exclusionReason\"] = this.exclusionReason;\n data[\"exclusionStartDate\"] = this.exclusionStartDate ? this.exclusionStartDate.toISOString() : undefined;\n data[\"exclusionEndDate\"] = this.exclusionEndDate ? this.exclusionEndDate.toISOString() : undefined;\n data[\"previousKennelId\"] = this.previousKennelId;\n data[\"remark\"] = this.remark;\n data[\"isClosed\"] = this.isClosed;\n data[\"sharepointUri\"] = this.sharepointUri;\n return data;\n }\n}\n\nexport interface IKennelDto {\n kennelId?: number;\n name?: string | undefined;\n type?: EKennelType;\n fciNumber?: string | undefined;\n requestAffix?: string | undefined;\n attributionDate?: Date | undefined;\n closingDate?: Date | undefined;\n publishingDate?: Date | undefined;\n countryId?: number | undefined;\n originCountryId?: number | undefined;\n exclusionReason?: string | undefined;\n exclusionStartDate?: Date | undefined;\n exclusionEndDate?: Date | undefined;\n previousKennelId?: number | undefined;\n remark?: string | undefined;\n isClosed?: boolean;\n sharepointUri?: string | undefined;\n}\n\nexport class SaveKennelOwnerDto implements ISaveKennelOwnerDto {\n kennelOwnershipId?: number;\n kennelId?: number;\n personId?: number;\n personName?: string | undefined;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n\n constructor(data?: ISaveKennelOwnerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelOwnershipId = _data[\"kennelOwnershipId\"];\n this.kennelId = _data[\"kennelId\"];\n this.personId = _data[\"personId\"];\n this.personName = _data[\"personName\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): SaveKennelOwnerDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveKennelOwnerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelOwnershipId\"] = this.kennelOwnershipId;\n data[\"kennelId\"] = this.kennelId;\n data[\"personId\"] = this.personId;\n data[\"personName\"] = this.personName;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ISaveKennelOwnerDto {\n kennelOwnershipId?: number;\n kennelId?: number;\n personId?: number;\n personName?: string | undefined;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n}\n\nexport class KennelSaveBreedsDto implements IKennelSaveBreedsDto {\n kennelId?: number;\n breedIds?: number[] | undefined;\n\n constructor(data?: IKennelSaveBreedsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelId = _data[\"kennelId\"];\n if (Array.isArray(_data[\"breedIds\"])) {\n this.breedIds = [] as any;\n for (let item of _data[\"breedIds\"])\n this.breedIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): KennelSaveBreedsDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelSaveBreedsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelId\"] = this.kennelId;\n if (Array.isArray(this.breedIds)) {\n data[\"breedIds\"] = [];\n for (let item of this.breedIds)\n data[\"breedIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IKennelSaveBreedsDto {\n kennelId?: number;\n breedIds?: number[] | undefined;\n}\n\nexport class PaginatedResultsOfKennelDogDto implements IPaginatedResultsOfKennelDogDto {\n totalCount?: number;\n results?: KennelDogDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfKennelDogDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(KennelDogDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfKennelDogDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfKennelDogDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfKennelDogDto {\n totalCount?: number;\n results?: KennelDogDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class KennelDogDto implements IKennelDogDto {\n dogId?: number;\n kennelType?: EKennelType;\n breed?: string | undefined;\n breedId?: number;\n color?: string | undefined;\n colorId?: number;\n dogChip?: string | undefined;\n pedigree?: string | undefined;\n name?: string | undefined;\n breedGroup?: string | undefined;\n breedGroupId?: number;\n\n constructor(data?: IKennelDogDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.kennelType = _data[\"kennelType\"];\n this.breed = _data[\"breed\"];\n this.breedId = _data[\"breedId\"];\n this.color = _data[\"color\"];\n this.colorId = _data[\"colorId\"];\n this.dogChip = _data[\"dogChip\"];\n this.pedigree = _data[\"pedigree\"];\n this.name = _data[\"name\"];\n this.breedGroup = _data[\"breedGroup\"];\n this.breedGroupId = _data[\"breedGroupId\"];\n }\n }\n\n static fromJS(data: any): KennelDogDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelDogDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"kennelType\"] = this.kennelType;\n data[\"breed\"] = this.breed;\n data[\"breedId\"] = this.breedId;\n data[\"color\"] = this.color;\n data[\"colorId\"] = this.colorId;\n data[\"dogChip\"] = this.dogChip;\n data[\"pedigree\"] = this.pedigree;\n data[\"name\"] = this.name;\n data[\"breedGroup\"] = this.breedGroup;\n data[\"breedGroupId\"] = this.breedGroupId;\n return data;\n }\n}\n\nexport interface IKennelDogDto {\n dogId?: number;\n kennelType?: EKennelType;\n breed?: string | undefined;\n breedId?: number;\n color?: string | undefined;\n colorId?: number;\n dogChip?: string | undefined;\n pedigree?: string | undefined;\n name?: string | undefined;\n breedGroup?: string | undefined;\n breedGroupId?: number;\n}\n\nexport class KennelDogSearch extends PaginatedSearch implements IKennelDogSearch {\n languageId?: number;\n kennelId?: number;\n\n constructor(data?: IKennelDogSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.kennelId = _data[\"kennelId\"];\n }\n }\n\n static fromJS(data: any): KennelDogSearch {\n data = typeof data === 'object' ? data : {};\n let result = new KennelDogSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"kennelId\"] = this.kennelId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IKennelDogSearch extends IPaginatedSearch {\n languageId?: number;\n kennelId?: number;\n}\n\nexport class PaginatedResultsOfKennelOwnerDto implements IPaginatedResultsOfKennelOwnerDto {\n totalCount?: number;\n results?: KennelOwnerDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfKennelOwnerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(KennelOwnerDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfKennelOwnerDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfKennelOwnerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfKennelOwnerDto {\n totalCount?: number;\n results?: KennelOwnerDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class KennelOwnerDto implements IKennelOwnerDto {\n kennelOwnershipId?: number;\n personId?: number;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n name?: string | undefined;\n\n constructor(data?: IKennelOwnerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelOwnershipId = _data[\"kennelOwnershipId\"];\n this.personId = _data[\"personId\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): KennelOwnerDto {\n data = typeof data === 'object' ? data : {};\n let result = new KennelOwnerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelOwnershipId\"] = this.kennelOwnershipId;\n data[\"personId\"] = this.personId;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IKennelOwnerDto {\n kennelOwnershipId?: number;\n personId?: number;\n ownerFrom?: Date | undefined;\n ownerTo?: Date | undefined;\n name?: string | undefined;\n}\n\nexport class KennelOwnerSearch extends PaginatedSearch implements IKennelOwnerSearch {\n kennelId?: number;\n\n constructor(data?: IKennelOwnerSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.kennelId = _data[\"kennelId\"];\n }\n }\n\n static fromJS(data: any): KennelOwnerSearch {\n data = typeof data === 'object' ? data : {};\n let result = new KennelOwnerSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelId\"] = this.kennelId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IKennelOwnerSearch extends IPaginatedSearch {\n kennelId?: number;\n}\n\nexport class LanguageDto implements ILanguageDto {\n languageId?: number;\n languageCode?: string | undefined;\n bcLanguageCode?: string | undefined;\n orderIndex?: number | undefined;\n hasTranslation?: boolean;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n languageTranslations?: LanguageTranslationDto[] | undefined;\n\n constructor(data?: ILanguageDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.languageCode = _data[\"languageCode\"];\n this.bcLanguageCode = _data[\"bcLanguageCode\"];\n this.orderIndex = _data[\"orderIndex\"];\n this.hasTranslation = _data[\"hasTranslation\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n if (Array.isArray(_data[\"languageTranslations\"])) {\n this.languageTranslations = [] as any;\n for (let item of _data[\"languageTranslations\"])\n this.languageTranslations!.push(LanguageTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): LanguageDto {\n data = typeof data === 'object' ? data : {};\n let result = new LanguageDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"languageCode\"] = this.languageCode;\n data[\"bcLanguageCode\"] = this.bcLanguageCode;\n data[\"orderIndex\"] = this.orderIndex;\n data[\"hasTranslation\"] = this.hasTranslation;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n if (Array.isArray(this.languageTranslations)) {\n data[\"languageTranslations\"] = [];\n for (let item of this.languageTranslations)\n data[\"languageTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ILanguageDto {\n languageId?: number;\n languageCode?: string | undefined;\n bcLanguageCode?: string | undefined;\n orderIndex?: number | undefined;\n hasTranslation?: boolean;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n languageTranslations?: LanguageTranslationDto[] | undefined;\n}\n\nexport class LanguageTranslationDto implements ILanguageTranslationDto {\n languageTranslationId?: number;\n languageId?: number;\n translationLanguageId?: number;\n text?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n\n constructor(data?: ILanguageTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageTranslationId = _data[\"languageTranslationId\"];\n this.languageId = _data[\"languageId\"];\n this.translationLanguageId = _data[\"translationLanguageId\"];\n this.text = _data[\"text\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.createdBy = _data[\"createdBy\"];\n this.updatedOn = _data[\"updatedOn\"] ? new Date(_data[\"updatedOn\"].toString()) : undefined;\n this.updatedBy = _data[\"updatedBy\"];\n }\n }\n\n static fromJS(data: any): LanguageTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new LanguageTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageTranslationId\"] = this.languageTranslationId;\n data[\"languageId\"] = this.languageId;\n data[\"translationLanguageId\"] = this.translationLanguageId;\n data[\"text\"] = this.text;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"createdBy\"] = this.createdBy;\n data[\"updatedOn\"] = this.updatedOn ? this.updatedOn.toISOString() : undefined;\n data[\"updatedBy\"] = this.updatedBy;\n return data;\n }\n}\n\nexport interface ILanguageTranslationDto {\n languageTranslationId?: number;\n languageId?: number;\n translationLanguageId?: number;\n text?: string | undefined;\n createdOn?: Date;\n createdBy?: string | undefined;\n updatedOn?: Date;\n updatedBy?: string | undefined;\n}\n\nexport class PaginatedResultsOfLanguageGridDto implements IPaginatedResultsOfLanguageGridDto {\n totalCount?: number;\n results?: LanguageGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfLanguageGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(LanguageGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfLanguageGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfLanguageGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfLanguageGridDto {\n totalCount?: number;\n results?: LanguageGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class LanguageGridDto implements ILanguageGridDto {\n languageId?: number;\n languageCode?: string | undefined;\n name?: string | undefined;\n\n constructor(data?: ILanguageGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.languageCode = _data[\"languageCode\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): LanguageGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new LanguageGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"languageCode\"] = this.languageCode;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ILanguageGridDto {\n languageId?: number;\n languageCode?: string | undefined;\n name?: string | undefined;\n}\n\nexport class LanguageSearchDto extends PaginatedSearch implements ILanguageSearchDto {\n languageCode?: TextSearch | undefined;\n name?: TextSearch | undefined;\n languageId?: number;\n\n constructor(data?: ILanguageSearchDto) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageCode = _data[\"languageCode\"] ? TextSearch.fromJS(_data[\"languageCode\"]) : undefined;\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): LanguageSearchDto {\n data = typeof data === 'object' ? data : {};\n let result = new LanguageSearchDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageCode\"] = this.languageCode ? this.languageCode.toJSON() : undefined;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ILanguageSearchDto extends IPaginatedSearch {\n languageCode?: TextSearch | undefined;\n name?: TextSearch | undefined;\n languageId?: number;\n}\n\nexport class LinkedRequestsSearch extends PaginatedSearch implements ILinkedRequestsSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestTypeId?: ListSearchOfNullableInteger | undefined;\n masterRequestId?: number;\n\n constructor(data?: ILinkedRequestsSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestTypeId = _data[\"requestTypeId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestTypeId\"]) : undefined;\n this.masterRequestId = _data[\"masterRequestId\"];\n }\n }\n\n static fromJS(data: any): LinkedRequestsSearch {\n data = typeof data === 'object' ? data : {};\n let result = new LinkedRequestsSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestTypeId\"] = this.requestTypeId ? this.requestTypeId.toJSON() : undefined;\n data[\"masterRequestId\"] = this.masterRequestId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ILinkedRequestsSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestTypeId?: ListSearchOfNullableInteger | undefined;\n masterRequestId?: number;\n}\n\nexport class PaginatedResultsOfMailLogGridDto implements IPaginatedResultsOfMailLogGridDto {\n totalCount?: number;\n results?: MailLogGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfMailLogGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(MailLogGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfMailLogGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfMailLogGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfMailLogGridDto {\n totalCount?: number;\n results?: MailLogGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class MailLogGridDto implements IMailLogGridDto {\n mailLogId?: number;\n to?: string | undefined;\n cc?: string | undefined;\n bcc?: string | undefined;\n replyTo?: string | undefined;\n attachments?: string | undefined;\n forceRecipients?: string | undefined;\n subject?: string | undefined;\n body?: string | undefined;\n failed?: boolean;\n errorMessage?: string | undefined;\n sentOn?: Date;\n\n constructor(data?: IMailLogGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.mailLogId = _data[\"mailLogId\"];\n this.to = _data[\"to\"];\n this.cc = _data[\"cc\"];\n this.bcc = _data[\"bcc\"];\n this.replyTo = _data[\"replyTo\"];\n this.attachments = _data[\"attachments\"];\n this.forceRecipients = _data[\"forceRecipients\"];\n this.subject = _data[\"subject\"];\n this.body = _data[\"body\"];\n this.failed = _data[\"failed\"];\n this.errorMessage = _data[\"errorMessage\"];\n this.sentOn = _data[\"sentOn\"] ? new Date(_data[\"sentOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): MailLogGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new MailLogGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"mailLogId\"] = this.mailLogId;\n data[\"to\"] = this.to;\n data[\"cc\"] = this.cc;\n data[\"bcc\"] = this.bcc;\n data[\"replyTo\"] = this.replyTo;\n data[\"attachments\"] = this.attachments;\n data[\"forceRecipients\"] = this.forceRecipients;\n data[\"subject\"] = this.subject;\n data[\"body\"] = this.body;\n data[\"failed\"] = this.failed;\n data[\"errorMessage\"] = this.errorMessage;\n data[\"sentOn\"] = this.sentOn ? this.sentOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IMailLogGridDto {\n mailLogId?: number;\n to?: string | undefined;\n cc?: string | undefined;\n bcc?: string | undefined;\n replyTo?: string | undefined;\n attachments?: string | undefined;\n forceRecipients?: string | undefined;\n subject?: string | undefined;\n body?: string | undefined;\n failed?: boolean;\n errorMessage?: string | undefined;\n sentOn?: Date;\n}\n\nexport class MailSearch extends PaginatedSearch implements IMailSearch {\n requestId?: number | undefined;\n to?: TextSearch | undefined;\n cc?: TextSearch | undefined;\n bcc?: TextSearch | undefined;\n replyTo?: TextSearch | undefined;\n attachments?: TextSearch | undefined;\n forceRecipients?: TextSearch | undefined;\n subject?: TextSearch | undefined;\n body?: TextSearch | undefined;\n sentOn?: DateSearch | undefined;\n\n constructor(data?: IMailSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.to = _data[\"to\"] ? TextSearch.fromJS(_data[\"to\"]) : undefined;\n this.cc = _data[\"cc\"] ? TextSearch.fromJS(_data[\"cc\"]) : undefined;\n this.bcc = _data[\"bcc\"] ? TextSearch.fromJS(_data[\"bcc\"]) : undefined;\n this.replyTo = _data[\"replyTo\"] ? TextSearch.fromJS(_data[\"replyTo\"]) : undefined;\n this.attachments = _data[\"attachments\"] ? TextSearch.fromJS(_data[\"attachments\"]) : undefined;\n this.forceRecipients = _data[\"forceRecipients\"] ? TextSearch.fromJS(_data[\"forceRecipients\"]) : undefined;\n this.subject = _data[\"subject\"] ? TextSearch.fromJS(_data[\"subject\"]) : undefined;\n this.body = _data[\"body\"] ? TextSearch.fromJS(_data[\"body\"]) : undefined;\n this.sentOn = _data[\"sentOn\"] ? DateSearch.fromJS(_data[\"sentOn\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MailSearch {\n data = typeof data === 'object' ? data : {};\n let result = new MailSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"to\"] = this.to ? this.to.toJSON() : undefined;\n data[\"cc\"] = this.cc ? this.cc.toJSON() : undefined;\n data[\"bcc\"] = this.bcc ? this.bcc.toJSON() : undefined;\n data[\"replyTo\"] = this.replyTo ? this.replyTo.toJSON() : undefined;\n data[\"attachments\"] = this.attachments ? this.attachments.toJSON() : undefined;\n data[\"forceRecipients\"] = this.forceRecipients ? this.forceRecipients.toJSON() : undefined;\n data[\"subject\"] = this.subject ? this.subject.toJSON() : undefined;\n data[\"body\"] = this.body ? this.body.toJSON() : undefined;\n data[\"sentOn\"] = this.sentOn ? this.sentOn.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IMailSearch extends IPaginatedSearch {\n requestId?: number | undefined;\n to?: TextSearch | undefined;\n cc?: TextSearch | undefined;\n bcc?: TextSearch | undefined;\n replyTo?: TextSearch | undefined;\n attachments?: TextSearch | undefined;\n forceRecipients?: TextSearch | undefined;\n subject?: TextSearch | undefined;\n body?: TextSearch | undefined;\n sentOn?: DateSearch | undefined;\n}\n\nexport class PaginatedResultsOfPersonMembershipHistoryGridDto implements IPaginatedResultsOfPersonMembershipHistoryGridDto {\n totalCount?: number;\n results?: PersonMembershipHistoryGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPersonMembershipHistoryGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PersonMembershipHistoryGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPersonMembershipHistoryGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPersonMembershipHistoryGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPersonMembershipHistoryGridDto {\n totalCount?: number;\n results?: PersonMembershipHistoryGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PersonMembershipHistoryGridDto implements IPersonMembershipHistoryGridDto {\n membershipHistoryId?: number;\n membershipTypeId?: number;\n membershipRequestId?: number | undefined;\n requestNumber?: string | undefined;\n dateFrom?: Date | undefined;\n dateTo?: Date | undefined;\n membershipType?: string | undefined;\n endOfRenewalAsked?: boolean;\n\n constructor(data?: IPersonMembershipHistoryGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipHistoryId = _data[\"membershipHistoryId\"];\n this.membershipTypeId = _data[\"membershipTypeId\"];\n this.membershipRequestId = _data[\"membershipRequestId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.membershipType = _data[\"membershipType\"];\n this.endOfRenewalAsked = _data[\"endOfRenewalAsked\"];\n }\n }\n\n static fromJS(data: any): PersonMembershipHistoryGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonMembershipHistoryGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipHistoryId\"] = this.membershipHistoryId;\n data[\"membershipTypeId\"] = this.membershipTypeId;\n data[\"membershipRequestId\"] = this.membershipRequestId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"membershipType\"] = this.membershipType;\n data[\"endOfRenewalAsked\"] = this.endOfRenewalAsked;\n return data;\n }\n}\n\nexport interface IPersonMembershipHistoryGridDto {\n membershipHistoryId?: number;\n membershipTypeId?: number;\n membershipRequestId?: number | undefined;\n requestNumber?: string | undefined;\n dateFrom?: Date | undefined;\n dateTo?: Date | undefined;\n membershipType?: string | undefined;\n endOfRenewalAsked?: boolean;\n}\n\nexport class BasePersonSearch extends PaginatedSearch implements IBasePersonSearch {\n personId?: number;\n languageId?: number;\n\n constructor(data?: IBasePersonSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): BasePersonSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BasePersonSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBasePersonSearch extends IPaginatedSearch {\n personId?: number;\n languageId?: number;\n}\n\nexport class SaveMembershipHistoryDto implements ISaveMembershipHistoryDto {\n membershipHistoryId?: number;\n membershipId?: number;\n membershipTypeId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n personId?: number;\n\n constructor(data?: ISaveMembershipHistoryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipHistoryId = _data[\"membershipHistoryId\"];\n this.membershipId = _data[\"membershipId\"];\n this.membershipTypeId = _data[\"membershipTypeId\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.personId = _data[\"personId\"];\n }\n }\n\n static fromJS(data: any): SaveMembershipHistoryDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveMembershipHistoryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipHistoryId\"] = this.membershipHistoryId;\n data[\"membershipId\"] = this.membershipId;\n data[\"membershipTypeId\"] = this.membershipTypeId;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"personId\"] = this.personId;\n return data;\n }\n}\n\nexport interface ISaveMembershipHistoryDto {\n membershipHistoryId?: number;\n membershipId?: number;\n membershipTypeId?: number;\n dateFrom?: Date;\n dateTo?: Date;\n personId?: number;\n}\n\nexport class PaginatedResultsOfMembershipRenewalGridDto implements IPaginatedResultsOfMembershipRenewalGridDto {\n totalCount?: number;\n results?: MembershipRenewalGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfMembershipRenewalGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(MembershipRenewalGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfMembershipRenewalGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfMembershipRenewalGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfMembershipRenewalGridDto {\n totalCount?: number;\n results?: MembershipRenewalGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class MembershipRenewalGridDto implements IMembershipRenewalGridDto {\n memberId?: number;\n personId?: number;\n membershipTypeId?: number;\n endOfRenewalAsked?: boolean;\n isRenewalForced?: boolean | undefined;\n member?: string | undefined;\n deathDate?: Date | undefined;\n autoRenewal?: boolean;\n\n constructor(data?: IMembershipRenewalGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.memberId = _data[\"memberId\"];\n this.personId = _data[\"personId\"];\n this.membershipTypeId = _data[\"membershipTypeId\"];\n this.endOfRenewalAsked = _data[\"endOfRenewalAsked\"];\n this.isRenewalForced = _data[\"isRenewalForced\"];\n this.member = _data[\"member\"];\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n this.autoRenewal = _data[\"autoRenewal\"];\n }\n }\n\n static fromJS(data: any): MembershipRenewalGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRenewalGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"memberId\"] = this.memberId;\n data[\"personId\"] = this.personId;\n data[\"membershipTypeId\"] = this.membershipTypeId;\n data[\"endOfRenewalAsked\"] = this.endOfRenewalAsked;\n data[\"isRenewalForced\"] = this.isRenewalForced;\n data[\"member\"] = this.member;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n data[\"autoRenewal\"] = this.autoRenewal;\n return data;\n }\n}\n\nexport interface IMembershipRenewalGridDto {\n memberId?: number;\n personId?: number;\n membershipTypeId?: number;\n endOfRenewalAsked?: boolean;\n isRenewalForced?: boolean | undefined;\n member?: string | undefined;\n deathDate?: Date | undefined;\n autoRenewal?: boolean;\n}\n\nexport class MembershipRenewalSearch extends PaginatedSearch implements IMembershipRenewalSearch {\n\n constructor(data?: IMembershipRenewalSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): MembershipRenewalSearch {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRenewalSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IMembershipRenewalSearch extends IPaginatedSearch {\n}\n\nexport class PaginatedResultsOfMembershipRequestGridDto implements IPaginatedResultsOfMembershipRequestGridDto {\n totalCount?: number;\n results?: MembershipRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfMembershipRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(MembershipRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfMembershipRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfMembershipRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfMembershipRequestGridDto {\n totalCount?: number;\n results?: MembershipRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class MembershipRequestGridDto implements IMembershipRequestGridDto {\n membershipRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n membershipType?: string | undefined;\n membershipTypeId?: number;\n membershipRequestType?: string | undefined;\n membershipRequestTypeId?: number;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IMembershipRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipRequestId = _data[\"membershipRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isBlocked = _data[\"isBlocked\"];\n this.membershipType = _data[\"membershipType\"];\n this.membershipTypeId = _data[\"membershipTypeId\"];\n this.membershipRequestType = _data[\"membershipRequestType\"];\n this.membershipRequestTypeId = _data[\"membershipRequestTypeId\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): MembershipRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipRequestId\"] = this.membershipRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"membershipType\"] = this.membershipType;\n data[\"membershipTypeId\"] = this.membershipTypeId;\n data[\"membershipRequestType\"] = this.membershipRequestType;\n data[\"membershipRequestTypeId\"] = this.membershipRequestTypeId;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IMembershipRequestGridDto {\n membershipRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n membershipType?: string | undefined;\n membershipTypeId?: number;\n membershipRequestType?: string | undefined;\n membershipRequestTypeId?: number;\n invoiceNumber?: string | undefined;\n}\n\nexport class MembershipRequestSearch extends PaginatedSearch implements IMembershipRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n membershipRequestTypeId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IMembershipRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.membershipRequestTypeId = _data[\"membershipRequestTypeId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"membershipRequestTypeId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MembershipRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"membershipRequestTypeId\"] = this.membershipRequestTypeId ? this.membershipRequestTypeId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IMembershipRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n membershipRequestTypeId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class MembershipRequestDto implements IMembershipRequestDto {\n membershipRequestId?: number;\n requestId?: number;\n membershipRequestDecisionId?: number | undefined;\n membershipInitialTypeId?: number;\n membershipFinalTypeId?: number | undefined;\n membershipRequestTypeId?: number;\n meetingDate?: Date | undefined;\n request?: RequestDto | undefined;\n\n constructor(data?: IMembershipRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipRequestId = _data[\"membershipRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.membershipRequestDecisionId = _data[\"membershipRequestDecisionId\"];\n this.membershipInitialTypeId = _data[\"membershipInitialTypeId\"];\n this.membershipFinalTypeId = _data[\"membershipFinalTypeId\"];\n this.membershipRequestTypeId = _data[\"membershipRequestTypeId\"];\n this.meetingDate = _data[\"meetingDate\"] ? new Date(_data[\"meetingDate\"].toString()) : undefined;\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MembershipRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipRequestId\"] = this.membershipRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"membershipRequestDecisionId\"] = this.membershipRequestDecisionId;\n data[\"membershipInitialTypeId\"] = this.membershipInitialTypeId;\n data[\"membershipFinalTypeId\"] = this.membershipFinalTypeId;\n data[\"membershipRequestTypeId\"] = this.membershipRequestTypeId;\n data[\"meetingDate\"] = this.meetingDate ? this.meetingDate.toISOString() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMembershipRequestDto {\n membershipRequestId?: number;\n requestId?: number;\n membershipRequestDecisionId?: number | undefined;\n membershipInitialTypeId?: number;\n membershipFinalTypeId?: number | undefined;\n membershipRequestTypeId?: number;\n meetingDate?: Date | undefined;\n request?: RequestDto | undefined;\n}\n\nexport class PaginatedResultsOfMiscellaneousRequestGridDto implements IPaginatedResultsOfMiscellaneousRequestGridDto {\n totalCount?: number;\n results?: MiscellaneousRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfMiscellaneousRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(MiscellaneousRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfMiscellaneousRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfMiscellaneousRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfMiscellaneousRequestGridDto {\n totalCount?: number;\n results?: MiscellaneousRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class MiscellaneousRequestGridDto implements IMiscellaneousRequestGridDto {\n miscellaneousRequestId?: number;\n requestId?: number;\n requestStateId?: number;\n requestStateCode?: ERequestState;\n requestState?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequest?: string | undefined;\n parentRequestTypeCode?: ERequestType;\n personId?: number;\n contact?: string | undefined;\n article?: string | undefined;\n articleId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n price?: number;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IMiscellaneousRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.miscellaneousRequestId = _data[\"miscellaneousRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestState = _data[\"requestState\"];\n this.parentRequestId = _data[\"parentRequestId\"];\n this.parentRequest = _data[\"parentRequest\"];\n this.parentRequestTypeCode = _data[\"parentRequestTypeCode\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.article = _data[\"article\"];\n this.articleId = _data[\"articleId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isBlocked = _data[\"isBlocked\"];\n this.price = _data[\"price\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): MiscellaneousRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new MiscellaneousRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"miscellaneousRequestId\"] = this.miscellaneousRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestState\"] = this.requestState;\n data[\"parentRequestId\"] = this.parentRequestId;\n data[\"parentRequest\"] = this.parentRequest;\n data[\"parentRequestTypeCode\"] = this.parentRequestTypeCode;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"article\"] = this.article;\n data[\"articleId\"] = this.articleId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"price\"] = this.price;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IMiscellaneousRequestGridDto {\n miscellaneousRequestId?: number;\n requestId?: number;\n requestStateId?: number;\n requestStateCode?: ERequestState;\n requestState?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequest?: string | undefined;\n parentRequestTypeCode?: ERequestType;\n personId?: number;\n contact?: string | undefined;\n article?: string | undefined;\n articleId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n price?: number;\n invoiceNumber?: string | undefined;\n}\n\nexport class MiscellaneousRequestSearch extends PaginatedSearch implements IMiscellaneousRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n article?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IMiscellaneousRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.article = _data[\"article\"] ? TextSearch.fromJS(_data[\"article\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MiscellaneousRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new MiscellaneousRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IMiscellaneousRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n article?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class MiscellaneousRequestDto implements IMiscellaneousRequestDto {\n miscellaneousRequestId?: number;\n requestId?: number;\n articleId?: number;\n quantity?: number;\n request?: RequestDto | undefined;\n\n constructor(data?: IMiscellaneousRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.miscellaneousRequestId = _data[\"miscellaneousRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.articleId = _data[\"articleId\"];\n this.quantity = _data[\"quantity\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MiscellaneousRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new MiscellaneousRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"miscellaneousRequestId\"] = this.miscellaneousRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"articleId\"] = this.articleId;\n data[\"quantity\"] = this.quantity;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMiscellaneousRequestDto {\n miscellaneousRequestId?: number;\n requestId?: number;\n articleId?: number;\n quantity?: number;\n request?: RequestDto | undefined;\n}\n\nexport class PaginatedResultsOfPedigreeDuplicataRequestGridDto implements IPaginatedResultsOfPedigreeDuplicataRequestGridDto {\n totalCount?: number;\n results?: PedigreeDuplicataRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPedigreeDuplicataRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PedigreeDuplicataRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPedigreeDuplicataRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPedigreeDuplicataRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPedigreeDuplicataRequestGridDto {\n totalCount?: number;\n results?: PedigreeDuplicataRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PedigreeDuplicataRequestGridDto implements IPedigreeDuplicataRequestGridDto {\n pedigreeDuplicataRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n dogName?: string | undefined;\n kennelName?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n isRenewal?: boolean;\n\n constructor(data?: IPedigreeDuplicataRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeDuplicataRequestId = _data[\"pedigreeDuplicataRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.dog = _data[\"dog\"];\n this.dogId = _data[\"dogId\"];\n this.dogName = _data[\"dogName\"];\n this.kennelName = _data[\"kennelName\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n this.isRenewal = _data[\"isRenewal\"];\n }\n }\n\n static fromJS(data: any): PedigreeDuplicataRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreeDuplicataRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeDuplicataRequestId\"] = this.pedigreeDuplicataRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"dog\"] = this.dog;\n data[\"dogId\"] = this.dogId;\n data[\"dogName\"] = this.dogName;\n data[\"kennelName\"] = this.kennelName;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n data[\"isRenewal\"] = this.isRenewal;\n return data;\n }\n}\n\nexport interface IPedigreeDuplicataRequestGridDto {\n pedigreeDuplicataRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n dogName?: string | undefined;\n kennelName?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n isRenewal?: boolean;\n}\n\nexport class PedigreeDuplicataRequestSearch extends PaginatedSearch implements IPedigreeDuplicataRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n isRenewal?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IPedigreeDuplicataRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.isRenewal = _data[\"isRenewal\"] ? BooleanSearch.fromJS(_data[\"isRenewal\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PedigreeDuplicataRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreeDuplicataRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"isRenewal\"] = this.isRenewal ? this.isRenewal.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPedigreeDuplicataRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n isRenewal?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class PedigreeDuplicataRequestDto implements IPedigreeDuplicataRequestDto {\n pedigreeDuplicataRequestId?: number;\n requestId?: number;\n dogId?: number;\n isRenewal?: boolean;\n request?: RequestDto | undefined;\n dogSharepointUri?: string | undefined;\n\n constructor(data?: IPedigreeDuplicataRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeDuplicataRequestId = _data[\"pedigreeDuplicataRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.isRenewal = _data[\"isRenewal\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n }\n }\n\n static fromJS(data: any): PedigreeDuplicataRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreeDuplicataRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeDuplicataRequestId\"] = this.pedigreeDuplicataRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"isRenewal\"] = this.isRenewal;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n return data;\n }\n}\n\nexport interface IPedigreeDuplicataRequestDto {\n pedigreeDuplicataRequestId?: number;\n requestId?: number;\n dogId?: number;\n isRenewal?: boolean;\n request?: RequestDto | undefined;\n dogSharepointUri?: string | undefined;\n}\n\nexport class DrupalPedigreeDuplicataRequestDto implements IDrupalPedigreeDuplicataRequestDto {\n pedigreeDuplicataRequestId?: number;\n dogId?: number;\n request?: RequestDto | undefined;\n\n constructor(data?: IDrupalPedigreeDuplicataRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeDuplicataRequestId = _data[\"pedigreeDuplicataRequestId\"];\n this.dogId = _data[\"dogId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DrupalPedigreeDuplicataRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalPedigreeDuplicataRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeDuplicataRequestId\"] = this.pedigreeDuplicataRequestId;\n data[\"dogId\"] = this.dogId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IDrupalPedigreeDuplicataRequestDto {\n pedigreeDuplicataRequestId?: number;\n dogId?: number;\n request?: RequestDto | undefined;\n}\n\nexport class PaginatedResultsOfCountryPedigreePrefixGridDto implements IPaginatedResultsOfCountryPedigreePrefixGridDto {\n totalCount?: number;\n results?: CountryPedigreePrefixGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfCountryPedigreePrefixGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(CountryPedigreePrefixGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfCountryPedigreePrefixGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfCountryPedigreePrefixGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfCountryPedigreePrefixGridDto {\n totalCount?: number;\n results?: CountryPedigreePrefixGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class CountryPedigreePrefixGridDto implements ICountryPedigreePrefixGridDto {\n countryPedigreePrefixId?: number;\n countryId?: number;\n prefix?: string | undefined;\n nextValue?: number;\n\n constructor(data?: ICountryPedigreePrefixGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryPedigreePrefixId = _data[\"countryPedigreePrefixId\"];\n this.countryId = _data[\"countryId\"];\n this.prefix = _data[\"prefix\"];\n this.nextValue = _data[\"nextValue\"];\n }\n }\n\n static fromJS(data: any): CountryPedigreePrefixGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new CountryPedigreePrefixGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryPedigreePrefixId\"] = this.countryPedigreePrefixId;\n data[\"countryId\"] = this.countryId;\n data[\"prefix\"] = this.prefix;\n data[\"nextValue\"] = this.nextValue;\n return data;\n }\n}\n\nexport interface ICountryPedigreePrefixGridDto {\n countryPedigreePrefixId?: number;\n countryId?: number;\n prefix?: string | undefined;\n nextValue?: number;\n}\n\nexport class PedigreePrefixSearch extends PaginatedSearch implements IPedigreePrefixSearch {\n countryId?: number;\n\n constructor(data?: IPedigreePrefixSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryId = _data[\"countryId\"];\n }\n }\n\n static fromJS(data: any): PedigreePrefixSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreePrefixSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryId\"] = this.countryId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPedigreePrefixSearch extends IPaginatedSearch {\n countryId?: number;\n}\n\nexport class SavePedigreePrefixDto implements ISavePedigreePrefixDto {\n countryPedigreePrefixId?: number;\n countryId?: number;\n prefix?: string | undefined;\n\n constructor(data?: ISavePedigreePrefixDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.countryPedigreePrefixId = _data[\"countryPedigreePrefixId\"];\n this.countryId = _data[\"countryId\"];\n this.prefix = _data[\"prefix\"];\n }\n }\n\n static fromJS(data: any): SavePedigreePrefixDto {\n data = typeof data === 'object' ? data : {};\n let result = new SavePedigreePrefixDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryPedigreePrefixId\"] = this.countryPedigreePrefixId;\n data[\"countryId\"] = this.countryId;\n data[\"prefix\"] = this.prefix;\n return data;\n }\n}\n\nexport interface ISavePedigreePrefixDto {\n countryPedigreePrefixId?: number;\n countryId?: number;\n prefix?: string | undefined;\n}\n\nexport class PaginatedResultsOfPedigreeRequestGridDto implements IPaginatedResultsOfPedigreeRequestGridDto {\n totalCount?: number;\n results?: PedigreeRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPedigreeRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PedigreeRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPedigreeRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPedigreeRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPedigreeRequestGridDto {\n totalCount?: number;\n results?: PedigreeRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PedigreeRequestGridDto implements IPedigreeRequestGridDto {\n pedigreeRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n kennelName?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IPedigreeRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeRequestId = _data[\"pedigreeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.dog = _data[\"dog\"];\n this.dogId = _data[\"dogId\"];\n this.kennelName = _data[\"kennelName\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): PedigreeRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreeRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeRequestId\"] = this.pedigreeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"dog\"] = this.dog;\n data[\"dogId\"] = this.dogId;\n data[\"kennelName\"] = this.kennelName;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IPedigreeRequestGridDto {\n pedigreeRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n kennelName?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport class PedigreeRequestSearch extends PaginatedSearch implements IPedigreeRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IPedigreeRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PedigreeRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreeRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPedigreeRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class PedigreeRequestDto implements IPedigreeRequestDto {\n pedigreeRequestId?: number;\n requestId?: number;\n dogId?: number;\n request?: RequestDto | undefined;\n transientOwnerIds?: number[] | undefined;\n dogSharepointUri?: string | undefined;\n\n constructor(data?: IPedigreeRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pedigreeRequestId = _data[\"pedigreeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"transientOwnerIds\"])) {\n this.transientOwnerIds = [] as any;\n for (let item of _data[\"transientOwnerIds\"])\n this.transientOwnerIds!.push(item);\n }\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n }\n }\n\n static fromJS(data: any): PedigreeRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new PedigreeRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pedigreeRequestId\"] = this.pedigreeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.transientOwnerIds)) {\n data[\"transientOwnerIds\"] = [];\n for (let item of this.transientOwnerIds)\n data[\"transientOwnerIds\"].push(item);\n }\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n return data;\n }\n}\n\nexport interface IPedigreeRequestDto {\n pedigreeRequestId?: number;\n requestId?: number;\n dogId?: number;\n request?: RequestDto | undefined;\n transientOwnerIds?: number[] | undefined;\n dogSharepointUri?: string | undefined;\n}\n\nexport class PaginatedResultsOfUserProfileActionGridDto implements IPaginatedResultsOfUserProfileActionGridDto {\n totalCount?: number;\n results?: UserProfileActionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfUserProfileActionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(UserProfileActionGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfUserProfileActionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfUserProfileActionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfUserProfileActionGridDto {\n totalCount?: number;\n results?: UserProfileActionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class UserProfileActionGridDto implements IUserProfileActionGridDto {\n module?: string | undefined;\n tab?: string | undefined;\n actionId?: number | undefined;\n userProfileId?: number | undefined;\n executable?: boolean;\n permission?: EPermission | undefined;\n\n constructor(data?: IUserProfileActionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.module = _data[\"module\"];\n this.tab = _data[\"tab\"];\n this.actionId = _data[\"actionId\"];\n this.userProfileId = _data[\"userProfileId\"];\n this.executable = _data[\"executable\"];\n this.permission = _data[\"permission\"];\n }\n }\n\n static fromJS(data: any): UserProfileActionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserProfileActionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"module\"] = this.module;\n data[\"tab\"] = this.tab;\n data[\"actionId\"] = this.actionId;\n data[\"userProfileId\"] = this.userProfileId;\n data[\"executable\"] = this.executable;\n data[\"permission\"] = this.permission;\n return data;\n }\n}\n\nexport interface IUserProfileActionGridDto {\n module?: string | undefined;\n tab?: string | undefined;\n actionId?: number | undefined;\n userProfileId?: number | undefined;\n executable?: boolean;\n permission?: EPermission | undefined;\n}\n\nexport class UserProfileActionSearch extends PaginatedSearch implements IUserProfileActionSearch {\n userProfileId?: number | undefined;\n\n constructor(data?: IUserProfileActionSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userProfileId = _data[\"userProfileId\"];\n }\n }\n\n static fromJS(data: any): UserProfileActionSearch {\n data = typeof data === 'object' ? data : {};\n let result = new UserProfileActionSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userProfileId\"] = this.userProfileId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUserProfileActionSearch extends IPaginatedSearch {\n userProfileId?: number | undefined;\n}\n\nexport class PaginatedResultsOfPersonActionGridDto implements IPaginatedResultsOfPersonActionGridDto {\n totalCount?: number;\n results?: PersonActionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPersonActionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PersonActionGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPersonActionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPersonActionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPersonActionGridDto {\n totalCount?: number;\n results?: PersonActionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PersonActionGridDto implements IPersonActionGridDto {\n actionTime?: Date;\n action?: string | undefined;\n\n constructor(data?: IPersonActionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.actionTime = _data[\"actionTime\"] ? new Date(_data[\"actionTime\"].toString()) : undefined;\n this.action = _data[\"action\"];\n }\n }\n\n static fromJS(data: any): PersonActionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonActionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"actionTime\"] = this.actionTime ? this.actionTime.toISOString() : undefined;\n data[\"action\"] = this.action;\n return data;\n }\n}\n\nexport interface IPersonActionGridDto {\n actionTime?: Date;\n action?: string | undefined;\n}\n\nexport class PersonSearch extends PaginatedSearch implements IPersonSearch {\n languageId?: number;\n kennelId?: number | undefined;\n computedName?: TextSearch | undefined;\n email?: TextSearch | undefined;\n phoneNumber?: TextSearch | undefined;\n mobilePhoneNumber?: TextSearch | undefined;\n postalCode?: TextSearch | undefined;\n isMember?: BooleanSearch | undefined;\n isKnownPerson?: BooleanSearch | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n\n constructor(data?: IPersonSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.kennelId = _data[\"kennelId\"];\n this.computedName = _data[\"computedName\"] ? TextSearch.fromJS(_data[\"computedName\"]) : undefined;\n this.email = _data[\"email\"] ? TextSearch.fromJS(_data[\"email\"]) : undefined;\n this.phoneNumber = _data[\"phoneNumber\"] ? TextSearch.fromJS(_data[\"phoneNumber\"]) : undefined;\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"] ? TextSearch.fromJS(_data[\"mobilePhoneNumber\"]) : undefined;\n this.postalCode = _data[\"postalCode\"] ? TextSearch.fromJS(_data[\"postalCode\"]) : undefined;\n this.isMember = _data[\"isMember\"] ? BooleanSearch.fromJS(_data[\"isMember\"]) : undefined;\n this.isKnownPerson = _data[\"isKnownPerson\"] ? BooleanSearch.fromJS(_data[\"isKnownPerson\"]) : undefined;\n if (Array.isArray(_data[\"selectedIds\"])) {\n this.selectedIds = [] as any;\n for (let item of _data[\"selectedIds\"])\n this.selectedIds!.push(item);\n }\n this.excludeSelectedIds = _data[\"excludeSelectedIds\"];\n }\n }\n\n static fromJS(data: any): PersonSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PersonSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"kennelId\"] = this.kennelId;\n data[\"computedName\"] = this.computedName ? this.computedName.toJSON() : undefined;\n data[\"email\"] = this.email ? this.email.toJSON() : undefined;\n data[\"phoneNumber\"] = this.phoneNumber ? this.phoneNumber.toJSON() : undefined;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber ? this.mobilePhoneNumber.toJSON() : undefined;\n data[\"postalCode\"] = this.postalCode ? this.postalCode.toJSON() : undefined;\n data[\"isMember\"] = this.isMember ? this.isMember.toJSON() : undefined;\n data[\"isKnownPerson\"] = this.isKnownPerson ? this.isKnownPerson.toJSON() : undefined;\n if (Array.isArray(this.selectedIds)) {\n data[\"selectedIds\"] = [];\n for (let item of this.selectedIds)\n data[\"selectedIds\"].push(item);\n }\n data[\"excludeSelectedIds\"] = this.excludeSelectedIds;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPersonSearch extends IPaginatedSearch {\n languageId?: number;\n kennelId?: number | undefined;\n computedName?: TextSearch | undefined;\n email?: TextSearch | undefined;\n phoneNumber?: TextSearch | undefined;\n mobilePhoneNumber?: TextSearch | undefined;\n postalCode?: TextSearch | undefined;\n isMember?: BooleanSearch | undefined;\n isKnownPerson?: BooleanSearch | undefined;\n selectedIds?: number[] | undefined;\n excludeSelectedIds?: boolean;\n}\n\nexport class PaginatedResultsOfPersonWithValidationsGridDto implements IPaginatedResultsOfPersonWithValidationsGridDto {\n totalCount?: number;\n results?: PersonWithValidationsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPersonWithValidationsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PersonWithValidationsGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPersonWithValidationsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPersonWithValidationsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPersonWithValidationsGridDto {\n totalCount?: number;\n results?: PersonWithValidationsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PersonWithValidationsGridDto extends PersonGridDto implements IPersonWithValidationsGridDto {\n isKennelOwner?: boolean;\n isNotBelgian?: boolean;\n isOwnerOfSpecificKennel?: boolean;\n\n constructor(data?: IPersonWithValidationsGridDto) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.isKennelOwner = _data[\"isKennelOwner\"];\n this.isNotBelgian = _data[\"isNotBelgian\"];\n this.isOwnerOfSpecificKennel = _data[\"isOwnerOfSpecificKennel\"];\n }\n }\n\n static fromJS(data: any): PersonWithValidationsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonWithValidationsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isKennelOwner\"] = this.isKennelOwner;\n data[\"isNotBelgian\"] = this.isNotBelgian;\n data[\"isOwnerOfSpecificKennel\"] = this.isOwnerOfSpecificKennel;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPersonWithValidationsGridDto extends IPersonGridDto {\n isKennelOwner?: boolean;\n isNotBelgian?: boolean;\n isOwnerOfSpecificKennel?: boolean;\n}\n\nexport class PaginatedResultsOfDogPersonGridDto implements IPaginatedResultsOfDogPersonGridDto {\n totalCount?: number;\n results?: DogPersonGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogPersonGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogPersonGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogPersonGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogPersonGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogPersonGridDto {\n totalCount?: number;\n results?: DogPersonGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogPersonGridDto implements IDogPersonGridDto {\n dogId?: number;\n name?: string | undefined;\n breedName?: string | undefined;\n sex?: EDogSex;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n dogChip?: string | undefined;\n\n constructor(data?: IDogPersonGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.name = _data[\"name\"];\n this.breedName = _data[\"breedName\"];\n this.sex = _data[\"sex\"];\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n this.dogChip = _data[\"dogChip\"];\n }\n }\n\n static fromJS(data: any): DogPersonGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DogPersonGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"name\"] = this.name;\n data[\"breedName\"] = this.breedName;\n data[\"sex\"] = this.sex;\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n data[\"dogChip\"] = this.dogChip;\n return data;\n }\n}\n\nexport interface IDogPersonGridDto {\n dogId?: number;\n name?: string | undefined;\n breedName?: string | undefined;\n sex?: EDogSex;\n birthDate?: Date | undefined;\n deathDate?: Date | undefined;\n dogChip?: string | undefined;\n}\n\nexport class PersonDogsSearch extends PaginatedSearch implements IPersonDogsSearch {\n personId?: number;\n hideDead?: boolean;\n\n constructor(data?: IPersonDogsSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n this.hideDead = _data[\"hideDead\"];\n }\n }\n\n static fromJS(data: any): PersonDogsSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PersonDogsSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"hideDead\"] = this.hideDead;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPersonDogsSearch extends IPaginatedSearch {\n personId?: number;\n hideDead?: boolean;\n}\n\nexport class CommissionerDto implements ICommissionerDto {\n commissionerId?: number;\n personId?: number;\n commissionerExperience?: ECommissionerExperience | undefined;\n spokenLanguageIds?: number[] | undefined;\n\n constructor(data?: ICommissionerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.commissionerId = _data[\"commissionerId\"];\n this.personId = _data[\"personId\"];\n this.commissionerExperience = _data[\"commissionerExperience\"];\n if (Array.isArray(_data[\"spokenLanguageIds\"])) {\n this.spokenLanguageIds = [] as any;\n for (let item of _data[\"spokenLanguageIds\"])\n this.spokenLanguageIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CommissionerDto {\n data = typeof data === 'object' ? data : {};\n let result = new CommissionerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"commissionerId\"] = this.commissionerId;\n data[\"personId\"] = this.personId;\n data[\"commissionerExperience\"] = this.commissionerExperience;\n if (Array.isArray(this.spokenLanguageIds)) {\n data[\"spokenLanguageIds\"] = [];\n for (let item of this.spokenLanguageIds)\n data[\"spokenLanguageIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICommissionerDto {\n commissionerId?: number;\n personId?: number;\n commissionerExperience?: ECommissionerExperience | undefined;\n spokenLanguageIds?: number[] | undefined;\n}\n\nexport class SplitPersonDto implements ISplitPersonDto {\n originalId?: number;\n originalPerson?: PersonDto | undefined;\n copyPerson?: PersonDto | undefined;\n copyPersonMember?: boolean;\n copyPersonJudge?: boolean;\n copyPersonVet?: boolean;\n\n constructor(data?: ISplitPersonDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.originalId = _data[\"originalId\"];\n this.originalPerson = _data[\"originalPerson\"] ? PersonDto.fromJS(_data[\"originalPerson\"]) : undefined;\n this.copyPerson = _data[\"copyPerson\"] ? PersonDto.fromJS(_data[\"copyPerson\"]) : undefined;\n this.copyPersonMember = _data[\"copyPersonMember\"];\n this.copyPersonJudge = _data[\"copyPersonJudge\"];\n this.copyPersonVet = _data[\"copyPersonVet\"];\n }\n }\n\n static fromJS(data: any): SplitPersonDto {\n data = typeof data === 'object' ? data : {};\n let result = new SplitPersonDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"originalId\"] = this.originalId;\n data[\"originalPerson\"] = this.originalPerson ? this.originalPerson.toJSON() : undefined;\n data[\"copyPerson\"] = this.copyPerson ? this.copyPerson.toJSON() : undefined;\n data[\"copyPersonMember\"] = this.copyPersonMember;\n data[\"copyPersonJudge\"] = this.copyPersonJudge;\n data[\"copyPersonVet\"] = this.copyPersonVet;\n return data;\n }\n}\n\nexport interface ISplitPersonDto {\n originalId?: number;\n originalPerson?: PersonDto | undefined;\n copyPerson?: PersonDto | undefined;\n copyPersonMember?: boolean;\n copyPersonJudge?: boolean;\n copyPersonVet?: boolean;\n}\n\nexport class PersonFusionDto implements IPersonFusionDto {\n fusion?: PersonDto | undefined;\n personId1?: number;\n personId2?: number;\n portalPersonId?: number | undefined;\n membershipPersonId?: number | undefined;\n judgePersonId?: number | undefined;\n commissionerPersonId?: number | undefined;\n vetPersonId?: number | undefined;\n membershipDisabled?: boolean;\n judgeDisabled?: boolean;\n commissionerDisabled?: boolean;\n vetDisabled?: boolean;\n portalDisabled?: boolean;\n breederPersonId?: number | undefined;\n breederDisabled?: boolean;\n\n constructor(data?: IPersonFusionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fusion = _data[\"fusion\"] ? PersonDto.fromJS(_data[\"fusion\"]) : undefined;\n this.personId1 = _data[\"personId1\"];\n this.personId2 = _data[\"personId2\"];\n this.portalPersonId = _data[\"portalPersonId\"];\n this.membershipPersonId = _data[\"membershipPersonId\"];\n this.judgePersonId = _data[\"judgePersonId\"];\n this.commissionerPersonId = _data[\"commissionerPersonId\"];\n this.vetPersonId = _data[\"vetPersonId\"];\n this.membershipDisabled = _data[\"membershipDisabled\"];\n this.judgeDisabled = _data[\"judgeDisabled\"];\n this.commissionerDisabled = _data[\"commissionerDisabled\"];\n this.vetDisabled = _data[\"vetDisabled\"];\n this.portalDisabled = _data[\"portalDisabled\"];\n this.breederPersonId = _data[\"breederPersonId\"];\n this.breederDisabled = _data[\"breederDisabled\"];\n }\n }\n\n static fromJS(data: any): PersonFusionDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonFusionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fusion\"] = this.fusion ? this.fusion.toJSON() : undefined;\n data[\"personId1\"] = this.personId1;\n data[\"personId2\"] = this.personId2;\n data[\"portalPersonId\"] = this.portalPersonId;\n data[\"membershipPersonId\"] = this.membershipPersonId;\n data[\"judgePersonId\"] = this.judgePersonId;\n data[\"commissionerPersonId\"] = this.commissionerPersonId;\n data[\"vetPersonId\"] = this.vetPersonId;\n data[\"membershipDisabled\"] = this.membershipDisabled;\n data[\"judgeDisabled\"] = this.judgeDisabled;\n data[\"commissionerDisabled\"] = this.commissionerDisabled;\n data[\"vetDisabled\"] = this.vetDisabled;\n data[\"portalDisabled\"] = this.portalDisabled;\n data[\"breederPersonId\"] = this.breederPersonId;\n data[\"breederDisabled\"] = this.breederDisabled;\n return data;\n }\n}\n\nexport interface IPersonFusionDto {\n fusion?: PersonDto | undefined;\n personId1?: number;\n personId2?: number;\n portalPersonId?: number | undefined;\n membershipPersonId?: number | undefined;\n judgePersonId?: number | undefined;\n commissionerPersonId?: number | undefined;\n vetPersonId?: number | undefined;\n membershipDisabled?: boolean;\n judgeDisabled?: boolean;\n commissionerDisabled?: boolean;\n vetDisabled?: boolean;\n portalDisabled?: boolean;\n breederPersonId?: number | undefined;\n breederDisabled?: boolean;\n}\n\nexport class PersonFusionComparisonDto implements IPersonFusionComparisonDto {\n fusingPerson1?: PersonDto | undefined;\n fusingPerson2?: PersonDto | undefined;\n fusingPerson1HasDogs?: boolean;\n fusingPerson2HasDogs?: boolean;\n fusingPerson1BreederHasDogs?: boolean;\n fusingPerson2BreederHasDogs?: boolean;\n fusingPerson1HasRequests?: boolean;\n fusingPerson2HasRequests?: boolean;\n fusingPerson1HasKennel?: boolean;\n fusingPerson2HasKennel?: boolean;\n\n constructor(data?: IPersonFusionComparisonDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fusingPerson1 = _data[\"fusingPerson1\"] ? PersonDto.fromJS(_data[\"fusingPerson1\"]) : undefined;\n this.fusingPerson2 = _data[\"fusingPerson2\"] ? PersonDto.fromJS(_data[\"fusingPerson2\"]) : undefined;\n this.fusingPerson1HasDogs = _data[\"fusingPerson1HasDogs\"];\n this.fusingPerson2HasDogs = _data[\"fusingPerson2HasDogs\"];\n this.fusingPerson1BreederHasDogs = _data[\"fusingPerson1BreederHasDogs\"];\n this.fusingPerson2BreederHasDogs = _data[\"fusingPerson2BreederHasDogs\"];\n this.fusingPerson1HasRequests = _data[\"fusingPerson1HasRequests\"];\n this.fusingPerson2HasRequests = _data[\"fusingPerson2HasRequests\"];\n this.fusingPerson1HasKennel = _data[\"fusingPerson1HasKennel\"];\n this.fusingPerson2HasKennel = _data[\"fusingPerson2HasKennel\"];\n }\n }\n\n static fromJS(data: any): PersonFusionComparisonDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonFusionComparisonDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fusingPerson1\"] = this.fusingPerson1 ? this.fusingPerson1.toJSON() : undefined;\n data[\"fusingPerson2\"] = this.fusingPerson2 ? this.fusingPerson2.toJSON() : undefined;\n data[\"fusingPerson1HasDogs\"] = this.fusingPerson1HasDogs;\n data[\"fusingPerson2HasDogs\"] = this.fusingPerson2HasDogs;\n data[\"fusingPerson1BreederHasDogs\"] = this.fusingPerson1BreederHasDogs;\n data[\"fusingPerson2BreederHasDogs\"] = this.fusingPerson2BreederHasDogs;\n data[\"fusingPerson1HasRequests\"] = this.fusingPerson1HasRequests;\n data[\"fusingPerson2HasRequests\"] = this.fusingPerson2HasRequests;\n data[\"fusingPerson1HasKennel\"] = this.fusingPerson1HasKennel;\n data[\"fusingPerson2HasKennel\"] = this.fusingPerson2HasKennel;\n return data;\n }\n}\n\nexport interface IPersonFusionComparisonDto {\n fusingPerson1?: PersonDto | undefined;\n fusingPerson2?: PersonDto | undefined;\n fusingPerson1HasDogs?: boolean;\n fusingPerson2HasDogs?: boolean;\n fusingPerson1BreederHasDogs?: boolean;\n fusingPerson2BreederHasDogs?: boolean;\n fusingPerson1HasRequests?: boolean;\n fusingPerson2HasRequests?: boolean;\n fusingPerson1HasKennel?: boolean;\n fusingPerson2HasKennel?: boolean;\n}\n\nexport class MembershipDto implements IMembershipDto {\n membershipId?: number;\n personId?: number;\n memberNumber?: number;\n isCAMember?: boolean;\n isCEMember?: boolean;\n isCynologicCouncilMember?: boolean;\n isFCIDelegateMember?: boolean;\n isVDA?: boolean;\n isSupervisor?: boolean;\n isVolunteer?: boolean;\n\n constructor(data?: IMembershipDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.membershipId = _data[\"membershipId\"];\n this.personId = _data[\"personId\"];\n this.memberNumber = _data[\"memberNumber\"];\n this.isCAMember = _data[\"isCAMember\"];\n this.isCEMember = _data[\"isCEMember\"];\n this.isCynologicCouncilMember = _data[\"isCynologicCouncilMember\"];\n this.isFCIDelegateMember = _data[\"isFCIDelegateMember\"];\n this.isVDA = _data[\"isVDA\"];\n this.isSupervisor = _data[\"isSupervisor\"];\n this.isVolunteer = _data[\"isVolunteer\"];\n }\n }\n\n static fromJS(data: any): MembershipDto {\n data = typeof data === 'object' ? data : {};\n let result = new MembershipDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"membershipId\"] = this.membershipId;\n data[\"personId\"] = this.personId;\n data[\"memberNumber\"] = this.memberNumber;\n data[\"isCAMember\"] = this.isCAMember;\n data[\"isCEMember\"] = this.isCEMember;\n data[\"isCynologicCouncilMember\"] = this.isCynologicCouncilMember;\n data[\"isFCIDelegateMember\"] = this.isFCIDelegateMember;\n data[\"isVDA\"] = this.isVDA;\n data[\"isSupervisor\"] = this.isSupervisor;\n data[\"isVolunteer\"] = this.isVolunteer;\n return data;\n }\n}\n\nexport interface IMembershipDto {\n membershipId?: number;\n personId?: number;\n memberNumber?: number;\n isCAMember?: boolean;\n isCEMember?: boolean;\n isCynologicCouncilMember?: boolean;\n isFCIDelegateMember?: boolean;\n isVDA?: boolean;\n isSupervisor?: boolean;\n isVolunteer?: boolean;\n}\n\nexport class VeterinaryDto implements IVeterinaryDto {\n veterinaryId?: number;\n personId?: number;\n veterinaryNumber?: string | undefined;\n veterinaryCompany?: string | undefined;\n isVet?: boolean;\n personSharepointUri?: string | undefined;\n isActive?: boolean;\n\n constructor(data?: IVeterinaryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.veterinaryId = _data[\"veterinaryId\"];\n this.personId = _data[\"personId\"];\n this.veterinaryNumber = _data[\"veterinaryNumber\"];\n this.veterinaryCompany = _data[\"veterinaryCompany\"];\n this.isVet = _data[\"isVet\"];\n this.personSharepointUri = _data[\"personSharepointUri\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): VeterinaryDto {\n data = typeof data === 'object' ? data : {};\n let result = new VeterinaryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"veterinaryId\"] = this.veterinaryId;\n data[\"personId\"] = this.personId;\n data[\"veterinaryNumber\"] = this.veterinaryNumber;\n data[\"veterinaryCompany\"] = this.veterinaryCompany;\n data[\"isVet\"] = this.isVet;\n data[\"personSharepointUri\"] = this.personSharepointUri;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface IVeterinaryDto {\n veterinaryId?: number;\n personId?: number;\n veterinaryNumber?: string | undefined;\n veterinaryCompany?: string | undefined;\n isVet?: boolean;\n personSharepointUri?: string | undefined;\n isActive?: boolean;\n}\n\nexport class BreedGroupsJudgeSaveDto implements IBreedGroupsJudgeSaveDto {\n breedGroupIds?: number[] | undefined;\n judgeId?: number | undefined;\n personId?: number | undefined;\n\n constructor(data?: IBreedGroupsJudgeSaveDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"breedGroupIds\"])) {\n this.breedGroupIds = [] as any;\n for (let item of _data[\"breedGroupIds\"])\n this.breedGroupIds!.push(item);\n }\n this.judgeId = _data[\"judgeId\"];\n this.personId = _data[\"personId\"];\n }\n }\n\n static fromJS(data: any): BreedGroupsJudgeSaveDto {\n data = typeof data === 'object' ? data : {};\n let result = new BreedGroupsJudgeSaveDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.breedGroupIds)) {\n data[\"breedGroupIds\"] = [];\n for (let item of this.breedGroupIds)\n data[\"breedGroupIds\"].push(item);\n }\n data[\"judgeId\"] = this.judgeId;\n data[\"personId\"] = this.personId;\n return data;\n }\n}\n\nexport interface IBreedGroupsJudgeSaveDto {\n breedGroupIds?: number[] | undefined;\n judgeId?: number | undefined;\n personId?: number | undefined;\n}\n\nexport class PaginatedResultsOfPersonFileGridDto implements IPaginatedResultsOfPersonFileGridDto {\n totalCount?: number;\n results?: PersonFileGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPersonFileGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PersonFileGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPersonFileGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPersonFileGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPersonFileGridDto {\n totalCount?: number;\n results?: PersonFileGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PersonFileGridDto implements IPersonFileGridDto {\n requestId?: number;\n requestType?: string | undefined;\n requestState?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n requestTypeCode?: ERequestType;\n subRequestId?: number;\n\n constructor(data?: IPersonFileGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestType = _data[\"requestType\"];\n this.requestState = _data[\"requestState\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.subRequestId = _data[\"subRequestId\"];\n }\n }\n\n static fromJS(data: any): PersonFileGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonFileGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestType\"] = this.requestType;\n data[\"requestState\"] = this.requestState;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"subRequestId\"] = this.subRequestId;\n return data;\n }\n}\n\nexport interface IPersonFileGridDto {\n requestId?: number;\n requestType?: string | undefined;\n requestState?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n requestTypeCode?: ERequestType;\n subRequestId?: number;\n}\n\nexport class PersonFileSearch extends PaginatedSearch implements IPersonFileSearch {\n personId?: number;\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n requestState?: TextSearch | undefined;\n requestType?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n\n constructor(data?: IPersonFileSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.requestState = _data[\"requestState\"] ? TextSearch.fromJS(_data[\"requestState\"]) : undefined;\n this.requestType = _data[\"requestType\"] ? TextSearch.fromJS(_data[\"requestType\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PersonFileSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PersonFileSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"requestState\"] = this.requestState ? this.requestState.toJSON() : undefined;\n data[\"requestType\"] = this.requestType ? this.requestType.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPersonFileSearch extends IPaginatedSearch {\n personId?: number;\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n requestState?: TextSearch | undefined;\n requestType?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n}\n\nexport class PaginatedResultsOfPersonDogsGridDto implements IPaginatedResultsOfPersonDogsGridDto {\n totalCount?: number;\n results?: PersonDogsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPersonDogsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PersonDogsGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPersonDogsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPersonDogsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPersonDogsGridDto {\n totalCount?: number;\n results?: PersonDogsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PersonDogsGridDto implements IPersonDogsGridDto {\n dogId?: number;\n computedName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date;\n deathDate?: Date | undefined;\n\n constructor(data?: IPersonDogsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.computedName = _data[\"computedName\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n this.deathDate = _data[\"deathDate\"] ? new Date(_data[\"deathDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): PersonDogsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonDogsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"computedName\"] = this.computedName;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n data[\"deathDate\"] = this.deathDate ? this.deathDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IPersonDogsGridDto {\n dogId?: number;\n computedName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date;\n deathDate?: Date | undefined;\n}\n\nexport class PaginatedResultsOfPersonJudgesGridDto implements IPaginatedResultsOfPersonJudgesGridDto {\n totalCount?: number;\n results?: any[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPersonJudgesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(item);\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPersonJudgesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPersonJudgesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item);\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPersonJudgesGridDto {\n totalCount?: number;\n results?: any[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PaginatedResultsOfPersonKennelsGridDto implements IPaginatedResultsOfPersonKennelsGridDto {\n totalCount?: number;\n results?: PersonKennelsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPersonKennelsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PersonKennelsGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPersonKennelsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPersonKennelsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPersonKennelsGridDto {\n totalCount?: number;\n results?: PersonKennelsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PersonKennelsGridDto implements IPersonKennelsGridDto {\n kennelId?: number;\n kennelName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date | undefined;\n\n constructor(data?: IPersonKennelsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.kennelId = _data[\"kennelId\"];\n this.kennelName = _data[\"kennelName\"];\n this.ownerFrom = _data[\"ownerFrom\"] ? new Date(_data[\"ownerFrom\"].toString()) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? new Date(_data[\"ownerTo\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): PersonKennelsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PersonKennelsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"kennelId\"] = this.kennelId;\n data[\"kennelName\"] = this.kennelName;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toISOString() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IPersonKennelsGridDto {\n kennelId?: number;\n kennelName?: string | undefined;\n ownerFrom?: Date;\n ownerTo?: Date | undefined;\n}\n\nexport class PersonKennelsSearch extends PaginatedSearch implements IPersonKennelsSearch {\n personId?: number;\n firstName?: TextSearch | undefined;\n ownerFrom?: DateSearch | undefined;\n ownerTo?: DateSearch | undefined;\n\n constructor(data?: IPersonKennelsSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"] ? TextSearch.fromJS(_data[\"firstName\"]) : undefined;\n this.ownerFrom = _data[\"ownerFrom\"] ? DateSearch.fromJS(_data[\"ownerFrom\"]) : undefined;\n this.ownerTo = _data[\"ownerTo\"] ? DateSearch.fromJS(_data[\"ownerTo\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PersonKennelsSearch {\n data = typeof data === 'object' ? data : {};\n let result = new PersonKennelsSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName ? this.firstName.toJSON() : undefined;\n data[\"ownerFrom\"] = this.ownerFrom ? this.ownerFrom.toJSON() : undefined;\n data[\"ownerTo\"] = this.ownerTo ? this.ownerTo.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPersonKennelsSearch extends IPaginatedSearch {\n personId?: number;\n firstName?: TextSearch | undefined;\n ownerFrom?: DateSearch | undefined;\n ownerTo?: DateSearch | undefined;\n}\n\nexport class ReferentialItemDto implements IReferentialItemDto {\n displayValue?: string | undefined;\n keyValue?: string | undefined;\n idValue?: string | undefined;\n\n constructor(data?: IReferentialItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.displayValue = _data[\"displayValue\"];\n this.keyValue = _data[\"keyValue\"];\n this.idValue = _data[\"idValue\"];\n }\n }\n\n static fromJS(data: any): ReferentialItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReferentialItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"displayValue\"] = this.displayValue;\n data[\"keyValue\"] = this.keyValue;\n data[\"idValue\"] = this.idValue;\n return data;\n }\n}\n\nexport interface IReferentialItemDto {\n displayValue?: string | undefined;\n keyValue?: string | undefined;\n idValue?: string | undefined;\n}\n\nexport class PaginatedResultsOfPeopleReferentialItem implements IPaginatedResultsOfPeopleReferentialItem {\n totalCount?: number;\n results?: PeopleReferentialItem[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfPeopleReferentialItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(PeopleReferentialItem.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfPeopleReferentialItem {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfPeopleReferentialItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfPeopleReferentialItem {\n totalCount?: number;\n results?: PeopleReferentialItem[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class PeopleReferentialItem extends ReferentialItemDto implements IPeopleReferentialItem {\n personId?: number;\n computedName?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n email?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n\n constructor(data?: IPeopleReferentialItem) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.personId = _data[\"personId\"];\n this.computedName = _data[\"computedName\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.email = _data[\"email\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.country = _data[\"country\"];\n }\n }\n\n static fromJS(data: any): PeopleReferentialItem {\n data = typeof data === 'object' ? data : {};\n let result = new PeopleReferentialItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"computedName\"] = this.computedName;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"email\"] = this.email;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"country\"] = this.country;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPeopleReferentialItem extends IReferentialItemDto {\n personId?: number;\n computedName?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n email?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n country?: string | undefined;\n}\n\nexport class SearchPeopleReferentialQuery implements ISearchPeopleReferentialQuery {\n sObj?: PaginatedSearch | undefined;\n isBelgian?: boolean | undefined;\n clubId?: number | undefined;\n personId?: number | undefined;\n dogId?: number | undefined;\n kennelId?: number | undefined;\n filterBreeder?: boolean | undefined;\n languageId?: number | undefined;\n\n constructor(data?: ISearchPeopleReferentialQuery) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sObj = _data[\"sObj\"] ? PaginatedSearch.fromJS(_data[\"sObj\"]) : undefined;\n this.isBelgian = _data[\"isBelgian\"];\n this.clubId = _data[\"clubId\"];\n this.personId = _data[\"personId\"];\n this.dogId = _data[\"dogId\"];\n this.kennelId = _data[\"kennelId\"];\n this.filterBreeder = _data[\"filterBreeder\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): SearchPeopleReferentialQuery {\n data = typeof data === 'object' ? data : {};\n let result = new SearchPeopleReferentialQuery();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sObj\"] = this.sObj ? this.sObj.toJSON() : undefined;\n data[\"isBelgian\"] = this.isBelgian;\n data[\"clubId\"] = this.clubId;\n data[\"personId\"] = this.personId;\n data[\"dogId\"] = this.dogId;\n data[\"kennelId\"] = this.kennelId;\n data[\"filterBreeder\"] = this.filterBreeder;\n data[\"languageId\"] = this.languageId;\n return data;\n }\n}\n\nexport interface ISearchPeopleReferentialQuery {\n sObj?: PaginatedSearch | undefined;\n isBelgian?: boolean | undefined;\n clubId?: number | undefined;\n personId?: number | undefined;\n dogId?: number | undefined;\n kennelId?: number | undefined;\n filterBreeder?: boolean | undefined;\n languageId?: number | undefined;\n}\n\nexport class GetCountriesReferentialQuery implements IGetCountriesReferentialQuery {\n includeBelgium?: boolean;\n\n constructor(data?: IGetCountriesReferentialQuery) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.includeBelgium = _data[\"includeBelgium\"];\n }\n }\n\n static fromJS(data: any): GetCountriesReferentialQuery {\n data = typeof data === 'object' ? data : {};\n let result = new GetCountriesReferentialQuery();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"includeBelgium\"] = this.includeBelgium;\n return data;\n }\n}\n\nexport interface IGetCountriesReferentialQuery {\n includeBelgium?: boolean;\n}\n\nexport class PaginatedResultsOfDogReferentialItem implements IPaginatedResultsOfDogReferentialItem {\n totalCount?: number;\n results?: DogReferentialItem[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDogReferentialItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DogReferentialItem.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDogReferentialItem {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDogReferentialItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDogReferentialItem {\n totalCount?: number;\n results?: DogReferentialItem[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DogReferentialItem extends ReferentialItemDto implements IDogReferentialItem {\n dogId?: number;\n dogType?: EDogType | undefined;\n sex?: EDogSex | undefined;\n pedigrees?: string[] | undefined;\n dogChip?: string | undefined;\n secondDogChip?: string | undefined;\n pedigree?: string | undefined;\n remark?: string | undefined;\n\n constructor(data?: IDogReferentialItem) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.dogType = _data[\"dogType\"];\n this.sex = _data[\"sex\"];\n if (Array.isArray(_data[\"pedigrees\"])) {\n this.pedigrees = [] as any;\n for (let item of _data[\"pedigrees\"])\n this.pedigrees!.push(item);\n }\n this.dogChip = _data[\"dogChip\"];\n this.secondDogChip = _data[\"secondDogChip\"];\n this.pedigree = _data[\"pedigree\"];\n this.remark = _data[\"remark\"];\n }\n }\n\n static fromJS(data: any): DogReferentialItem {\n data = typeof data === 'object' ? data : {};\n let result = new DogReferentialItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"dogType\"] = this.dogType;\n data[\"sex\"] = this.sex;\n if (Array.isArray(this.pedigrees)) {\n data[\"pedigrees\"] = [];\n for (let item of this.pedigrees)\n data[\"pedigrees\"].push(item);\n }\n data[\"dogChip\"] = this.dogChip;\n data[\"secondDogChip\"] = this.secondDogChip;\n data[\"pedigree\"] = this.pedigree;\n data[\"remark\"] = this.remark;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogReferentialItem extends IReferentialItemDto {\n dogId?: number;\n dogType?: EDogType | undefined;\n sex?: EDogSex | undefined;\n pedigrees?: string[] | undefined;\n dogChip?: string | undefined;\n secondDogChip?: string | undefined;\n pedigree?: string | undefined;\n remark?: string | undefined;\n}\n\nexport class SearchDogReferentialQuery implements ISearchDogReferentialQuery {\n sObj?: PaginatedSearch | undefined;\n dogId?: number | undefined;\n sex?: EDogSex | undefined;\n removeId?: number | undefined;\n isForPedigree?: boolean | undefined;\n isForTempRSH?: boolean | undefined;\n isForBroodRequest?: boolean | undefined;\n filterBreeds?: boolean | undefined;\n excludeExpoDogs?: boolean | undefined;\n types?: EDogType[] | undefined;\n removeMultipleIds?: (number | undefined)[] | undefined;\n\n constructor(data?: ISearchDogReferentialQuery) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sObj = _data[\"sObj\"] ? PaginatedSearch.fromJS(_data[\"sObj\"]) : undefined;\n this.dogId = _data[\"dogId\"];\n this.sex = _data[\"sex\"];\n this.removeId = _data[\"removeId\"];\n this.isForPedigree = _data[\"isForPedigree\"];\n this.isForTempRSH = _data[\"isForTempRSH\"];\n this.isForBroodRequest = _data[\"isForBroodRequest\"];\n this.filterBreeds = _data[\"filterBreeds\"];\n this.excludeExpoDogs = _data[\"excludeExpoDogs\"];\n if (Array.isArray(_data[\"types\"])) {\n this.types = [] as any;\n for (let item of _data[\"types\"])\n this.types!.push(item);\n }\n if (Array.isArray(_data[\"removeMultipleIds\"])) {\n this.removeMultipleIds = [] as any;\n for (let item of _data[\"removeMultipleIds\"])\n this.removeMultipleIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SearchDogReferentialQuery {\n data = typeof data === 'object' ? data : {};\n let result = new SearchDogReferentialQuery();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sObj\"] = this.sObj ? this.sObj.toJSON() : undefined;\n data[\"dogId\"] = this.dogId;\n data[\"sex\"] = this.sex;\n data[\"removeId\"] = this.removeId;\n data[\"isForPedigree\"] = this.isForPedigree;\n data[\"isForTempRSH\"] = this.isForTempRSH;\n data[\"isForBroodRequest\"] = this.isForBroodRequest;\n data[\"filterBreeds\"] = this.filterBreeds;\n data[\"excludeExpoDogs\"] = this.excludeExpoDogs;\n if (Array.isArray(this.types)) {\n data[\"types\"] = [];\n for (let item of this.types)\n data[\"types\"].push(item);\n }\n if (Array.isArray(this.removeMultipleIds)) {\n data[\"removeMultipleIds\"] = [];\n for (let item of this.removeMultipleIds)\n data[\"removeMultipleIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISearchDogReferentialQuery {\n sObj?: PaginatedSearch | undefined;\n dogId?: number | undefined;\n sex?: EDogSex | undefined;\n removeId?: number | undefined;\n isForPedigree?: boolean | undefined;\n isForTempRSH?: boolean | undefined;\n isForBroodRequest?: boolean | undefined;\n filterBreeds?: boolean | undefined;\n excludeExpoDogs?: boolean | undefined;\n types?: EDogType[] | undefined;\n removeMultipleIds?: (number | undefined)[] | undefined;\n}\n\nexport class PaginatedResultsOfReprintPedigreePuppiesGridDto implements IPaginatedResultsOfReprintPedigreePuppiesGridDto {\n totalCount?: number;\n results?: ReprintPedigreePuppiesGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfReprintPedigreePuppiesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ReprintPedigreePuppiesGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfReprintPedigreePuppiesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfReprintPedigreePuppiesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfReprintPedigreePuppiesGridDto {\n totalCount?: number;\n results?: ReprintPedigreePuppiesGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class ReprintPedigreePuppiesGridDto implements IReprintPedigreePuppiesGridDto {\n dogName?: string | undefined;\n dogId?: number;\n createdOn?: string | undefined;\n\n constructor(data?: IReprintPedigreePuppiesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogName = _data[\"dogName\"];\n this.dogId = _data[\"dogId\"];\n this.createdOn = _data[\"createdOn\"];\n }\n }\n\n static fromJS(data: any): ReprintPedigreePuppiesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReprintPedigreePuppiesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogName\"] = this.dogName;\n data[\"dogId\"] = this.dogId;\n data[\"createdOn\"] = this.createdOn;\n return data;\n }\n}\n\nexport interface IReprintPedigreePuppiesGridDto {\n dogName?: string | undefined;\n dogId?: number;\n createdOn?: string | undefined;\n}\n\nexport class ReprintPuppiesSearch extends PaginatedSearch implements IReprintPuppiesSearch {\n\n constructor(data?: IReprintPuppiesSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ReprintPuppiesSearch {\n data = typeof data === 'object' ? data : {};\n let result = new ReprintPuppiesSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IReprintPuppiesSearch extends IPaginatedSearch {\n}\n\nexport class PaginatedResultsOfRequestHistoryActionGridDto implements IPaginatedResultsOfRequestHistoryActionGridDto {\n totalCount?: number;\n results?: RequestHistoryActionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfRequestHistoryActionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(RequestHistoryActionGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfRequestHistoryActionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfRequestHistoryActionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfRequestHistoryActionGridDto {\n totalCount?: number;\n results?: RequestHistoryActionGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class RequestHistoryActionGridDto implements IRequestHistoryActionGridDto {\n actionTime?: Date;\n action?: string | undefined;\n\n constructor(data?: IRequestHistoryActionGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.actionTime = _data[\"actionTime\"] ? new Date(_data[\"actionTime\"].toString()) : undefined;\n this.action = _data[\"action\"];\n }\n }\n\n static fromJS(data: any): RequestHistoryActionGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new RequestHistoryActionGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"actionTime\"] = this.actionTime ? this.actionTime.toISOString() : undefined;\n data[\"action\"] = this.action;\n return data;\n }\n}\n\nexport interface IRequestHistoryActionGridDto {\n actionTime?: Date;\n action?: string | undefined;\n}\n\nexport class BaseRequestSearch extends PaginatedSearch implements IBaseRequestSearch {\n requestId?: number;\n languageId?: number;\n\n constructor(data?: IBaseRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): BaseRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new BaseRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBaseRequestSearch extends IPaginatedSearch {\n requestId?: number;\n languageId?: number;\n}\n\nexport class RequestSearch extends PaginatedSearch implements IRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n requestTypeId?: ListSearchOfNullableInteger | undefined;\n invoiceNumber?: TextSearch | undefined;\n isBlocked?: BooleanSearch | undefined;\n\n constructor(data?: IRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.requestTypeId = _data[\"requestTypeId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestTypeId\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n }\n }\n\n static fromJS(data: any): RequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new RequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"requestTypeId\"] = this.requestTypeId ? this.requestTypeId.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n requestTypeId?: ListSearchOfNullableInteger | undefined;\n invoiceNumber?: TextSearch | undefined;\n isBlocked?: BooleanSearch | undefined;\n}\n\nexport class ResultOfString implements IResultOfString {\n isFailure?: boolean;\n isSuccess?: boolean;\n error?: string | undefined;\n value?: string | undefined;\n\n constructor(data?: IResultOfString) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isFailure = _data[\"IsFailure\"];\n this.isSuccess = _data[\"IsSuccess\"];\n this.error = _data[\"Error\"];\n this.value = _data[\"Value\"];\n }\n }\n\n static fromJS(data: any): ResultOfString {\n data = typeof data === 'object' ? data : {};\n let result = new ResultOfString();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"IsFailure\"] = this.isFailure;\n data[\"IsSuccess\"] = this.isSuccess;\n data[\"Error\"] = this.error;\n data[\"Value\"] = this.value;\n return data;\n }\n}\n\nexport interface IResultOfString {\n isFailure?: boolean;\n isSuccess?: boolean;\n error?: string | undefined;\n value?: string | undefined;\n}\n\nexport class ShpDocumentContentDto extends ShpDocumentDto implements IShpDocumentContentDto {\n fileContent?: string | undefined;\n\n constructor(data?: IShpDocumentContentDto) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.fileContent = _data[\"fileContent\"];\n }\n }\n\n static fromJS(data: any): ShpDocumentContentDto {\n data = typeof data === 'object' ? data : {};\n let result = new ShpDocumentContentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileContent\"] = this.fileContent;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IShpDocumentContentDto extends IShpDocumentDto {\n fileContent?: string | undefined;\n}\n\nexport class PaginatedResultsOfDrupalRequestGridDto implements IPaginatedResultsOfDrupalRequestGridDto {\n totalCount?: number;\n results?: DrupalRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfDrupalRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DrupalRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfDrupalRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfDrupalRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfDrupalRequestGridDto {\n totalCount?: number;\n results?: DrupalRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class DrupalRequestGridDto implements IDrupalRequestGridDto {\n requestId?: number;\n requestTypeId?: number;\n requestTypeCode?: ERequestType;\n requestType?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date | undefined;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n isBlocked?: boolean;\n\n constructor(data?: IDrupalRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.requestType = _data[\"requestType\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.personId = _data[\"personId\"];\n this.isBlocked = _data[\"isBlocked\"];\n }\n }\n\n static fromJS(data: any): DrupalRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"requestType\"] = this.requestType;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"personId\"] = this.personId;\n data[\"isBlocked\"] = this.isBlocked;\n return data;\n }\n}\n\nexport interface IDrupalRequestGridDto {\n requestId?: number;\n requestTypeId?: number;\n requestTypeCode?: ERequestType;\n requestType?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date | undefined;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n isBlocked?: boolean;\n}\n\nexport class DrupalRequestSearch extends PaginatedSearch implements IDrupalRequestSearch {\n active?: boolean;\n userId?: number;\n\n constructor(data?: IDrupalRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.active = _data[\"active\"];\n this.userId = _data[\"userId\"];\n }\n }\n\n static fromJS(data: any): DrupalRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"active\"] = this.active;\n data[\"userId\"] = this.userId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDrupalRequestSearch extends IPaginatedSearch {\n active?: boolean;\n userId?: number;\n}\n\nexport class InvoiceDto implements IInvoiceDto {\n invoiceId?: number;\n requestId?: number;\n invoiceBcIdentifier?: string | undefined;\n invoiceItems?: InvoiceItemDto[] | undefined;\n totalPrice?: number;\n totalPriceCents?: number;\n structuredCommunication?: string | undefined;\n\n constructor(data?: IInvoiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceId = _data[\"invoiceId\"];\n this.requestId = _data[\"requestId\"];\n this.invoiceBcIdentifier = _data[\"invoiceBcIdentifier\"];\n if (Array.isArray(_data[\"invoiceItems\"])) {\n this.invoiceItems = [] as any;\n for (let item of _data[\"invoiceItems\"])\n this.invoiceItems!.push(InvoiceItemDto.fromJS(item));\n }\n this.totalPrice = _data[\"totalPrice\"];\n this.totalPriceCents = _data[\"totalPriceCents\"];\n this.structuredCommunication = _data[\"structuredCommunication\"];\n }\n }\n\n static fromJS(data: any): InvoiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceId\"] = this.invoiceId;\n data[\"requestId\"] = this.requestId;\n data[\"invoiceBcIdentifier\"] = this.invoiceBcIdentifier;\n if (Array.isArray(this.invoiceItems)) {\n data[\"invoiceItems\"] = [];\n for (let item of this.invoiceItems)\n data[\"invoiceItems\"].push(item.toJSON());\n }\n data[\"totalPrice\"] = this.totalPrice;\n data[\"totalPriceCents\"] = this.totalPriceCents;\n data[\"structuredCommunication\"] = this.structuredCommunication;\n return data;\n }\n}\n\nexport interface IInvoiceDto {\n invoiceId?: number;\n requestId?: number;\n invoiceBcIdentifier?: string | undefined;\n invoiceItems?: InvoiceItemDto[] | undefined;\n totalPrice?: number;\n totalPriceCents?: number;\n structuredCommunication?: string | undefined;\n}\n\nexport class InvoiceItemDto implements IInvoiceItemDto {\n invoiceItemId?: number;\n articleId?: number;\n creditMemoBcIdentifier?: string | undefined;\n articleTranslations?: ArticleTranslationDto[] | undefined;\n\n constructor(data?: IInvoiceItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceItemId = _data[\"invoiceItemId\"];\n this.articleId = _data[\"articleId\"];\n this.creditMemoBcIdentifier = _data[\"creditMemoBcIdentifier\"];\n if (Array.isArray(_data[\"articleTranslations\"])) {\n this.articleTranslations = [] as any;\n for (let item of _data[\"articleTranslations\"])\n this.articleTranslations!.push(ArticleTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InvoiceItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceItemId\"] = this.invoiceItemId;\n data[\"articleId\"] = this.articleId;\n data[\"creditMemoBcIdentifier\"] = this.creditMemoBcIdentifier;\n if (Array.isArray(this.articleTranslations)) {\n data[\"articleTranslations\"] = [];\n for (let item of this.articleTranslations)\n data[\"articleTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInvoiceItemDto {\n invoiceItemId?: number;\n articleId?: number;\n creditMemoBcIdentifier?: string | undefined;\n articleTranslations?: ArticleTranslationDto[] | undefined;\n}\n\nexport class PaymentInfoDto implements IPaymentInfoDto {\n srshIban?: string | undefined;\n structuredCommunication?: string | undefined;\n totalPrice?: number;\n\n constructor(data?: IPaymentInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.srshIban = _data[\"srshIban\"];\n this.structuredCommunication = _data[\"structuredCommunication\"];\n this.totalPrice = _data[\"totalPrice\"];\n }\n }\n\n static fromJS(data: any): PaymentInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaymentInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"srshIban\"] = this.srshIban;\n data[\"structuredCommunication\"] = this.structuredCommunication;\n data[\"totalPrice\"] = this.totalPrice;\n return data;\n }\n}\n\nexport interface IPaymentInfoDto {\n srshIban?: string | undefined;\n structuredCommunication?: string | undefined;\n totalPrice?: number;\n}\n\nexport class DrupalRequestTypeDto implements IDrupalRequestTypeDto {\n name?: string | undefined;\n requestTypeCode?: ERequestType;\n\n constructor(data?: IDrupalRequestTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.requestTypeCode = _data[\"requestTypeCode\"];\n }\n }\n\n static fromJS(data: any): DrupalRequestTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalRequestTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n return data;\n }\n}\n\nexport interface IDrupalRequestTypeDto {\n name?: string | undefined;\n requestTypeCode?: ERequestType;\n}\n\nexport class QuickUpdateRequestStatusIdCommand implements IQuickUpdateRequestStatusIdCommand {\n requestId?: number;\n requestStatusId?: number | undefined;\n requestStatus?: ERequestState | undefined;\n isAutomatic?: boolean;\n plaform?: EPlatform;\n languageId?: number;\n\n constructor(data?: IQuickUpdateRequestStatusIdCommand) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestStatusId = _data[\"requestStatusId\"];\n this.requestStatus = _data[\"requestStatus\"];\n this.isAutomatic = _data[\"isAutomatic\"];\n this.plaform = _data[\"plaform\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): QuickUpdateRequestStatusIdCommand {\n data = typeof data === 'object' ? data : {};\n let result = new QuickUpdateRequestStatusIdCommand();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"requestStatus\"] = this.requestStatus;\n data[\"isAutomatic\"] = this.isAutomatic;\n data[\"plaform\"] = this.plaform;\n data[\"languageId\"] = this.languageId;\n return data;\n }\n}\n\nexport interface IQuickUpdateRequestStatusIdCommand {\n requestId?: number;\n requestStatusId?: number | undefined;\n requestStatus?: ERequestState | undefined;\n isAutomatic?: boolean;\n plaform?: EPlatform;\n languageId?: number;\n}\n\nexport class UpdateRequestStatusIdCommand implements IUpdateRequestStatusIdCommand {\n requestId?: number;\n requestStatusId?: number | undefined;\n requestStatus?: ERequestState | undefined;\n isAutomatic?: boolean;\n plaform?: EPlatform;\n languageId?: number;\n\n constructor(data?: IUpdateRequestStatusIdCommand) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestStatusId = _data[\"requestStatusId\"];\n this.requestStatus = _data[\"requestStatus\"];\n this.isAutomatic = _data[\"isAutomatic\"];\n this.plaform = _data[\"plaform\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): UpdateRequestStatusIdCommand {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateRequestStatusIdCommand();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"requestStatus\"] = this.requestStatus;\n data[\"isAutomatic\"] = this.isAutomatic;\n data[\"plaform\"] = this.plaform;\n data[\"languageId\"] = this.languageId;\n return data;\n }\n}\n\nexport interface IUpdateRequestStatusIdCommand {\n requestId?: number;\n requestStatusId?: number | undefined;\n requestStatus?: ERequestState | undefined;\n isAutomatic?: boolean;\n plaform?: EPlatform;\n languageId?: number;\n}\n\nexport class RequestMenuDto implements IRequestMenuDto {\n requestId?: number;\n requestTypeId?: number;\n requestType?: string | undefined;\n requestTypeCode?: ERequestType;\n requestStateId?: number;\n previousRequestStatusId?: number;\n requestStatus?: string | undefined;\n requestStatusCode?: ERequestState;\n personId?: number;\n personEmail?: string | undefined;\n personName?: string | undefined;\n personAddress?: string | undefined;\n requestDescription?: string | undefined;\n isBlocked?: boolean;\n managerId?: number | undefined;\n manager?: string | undefined;\n\n constructor(data?: IRequestMenuDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestId = _data[\"requestId\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.requestType = _data[\"requestType\"];\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.previousRequestStatusId = _data[\"previousRequestStatusId\"];\n this.requestStatus = _data[\"requestStatus\"];\n this.requestStatusCode = _data[\"requestStatusCode\"];\n this.personId = _data[\"personId\"];\n this.personEmail = _data[\"personEmail\"];\n this.personName = _data[\"personName\"];\n this.personAddress = _data[\"personAddress\"];\n this.requestDescription = _data[\"requestDescription\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.managerId = _data[\"managerId\"];\n this.manager = _data[\"manager\"];\n }\n }\n\n static fromJS(data: any): RequestMenuDto {\n data = typeof data === 'object' ? data : {};\n let result = new RequestMenuDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestId\"] = this.requestId;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"requestType\"] = this.requestType;\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"previousRequestStatusId\"] = this.previousRequestStatusId;\n data[\"requestStatus\"] = this.requestStatus;\n data[\"requestStatusCode\"] = this.requestStatusCode;\n data[\"personId\"] = this.personId;\n data[\"personEmail\"] = this.personEmail;\n data[\"personName\"] = this.personName;\n data[\"personAddress\"] = this.personAddress;\n data[\"requestDescription\"] = this.requestDescription;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"managerId\"] = this.managerId;\n data[\"manager\"] = this.manager;\n return data;\n }\n}\n\nexport interface IRequestMenuDto {\n requestId?: number;\n requestTypeId?: number;\n requestType?: string | undefined;\n requestTypeCode?: ERequestType;\n requestStateId?: number;\n previousRequestStatusId?: number;\n requestStatus?: string | undefined;\n requestStatusCode?: ERequestState;\n personId?: number;\n personEmail?: string | undefined;\n personName?: string | undefined;\n personAddress?: string | undefined;\n requestDescription?: string | undefined;\n isBlocked?: boolean;\n managerId?: number | undefined;\n manager?: string | undefined;\n}\n\nexport class SubRequestInfoDto implements ISubRequestInfoDto {\n subRequestId?: number;\n requestType?: ERequestType;\n\n constructor(data?: ISubRequestInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subRequestId = _data[\"subRequestId\"];\n this.requestType = _data[\"requestType\"];\n }\n }\n\n static fromJS(data: any): SubRequestInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubRequestInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subRequestId\"] = this.subRequestId;\n data[\"requestType\"] = this.requestType;\n return data;\n }\n}\n\nexport interface ISubRequestInfoDto {\n subRequestId?: number;\n requestType?: ERequestType;\n}\n\nexport class RequestInfoDto implements IRequestInfoDto {\n requestTypeCode?: ERequestType;\n requestId?: number | undefined;\n parentRequestId?: number | undefined;\n isRequestBlocked?: boolean;\n isMasterRequestBlocked?: boolean;\n requestStateCode?: ERequestState;\n masterRequestId?: number | undefined;\n masterRequestTypeCode?: ERequestType | undefined;\n requestTypeId?: number;\n masterRequestStateCode?: ERequestState | undefined;\n masterSubRequestId?: number | undefined;\n subRequestCount?: number;\n requestDisplayName?: string | undefined;\n masterRequestNumber?: string | undefined;\n masterRequestDisplayName?: any | undefined;\n requestNumber?: string | undefined;\n hasWarning?: boolean;\n\n constructor(data?: IRequestInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestTypeCode = _data[\"requestTypeCode\"];\n this.requestId = _data[\"requestId\"];\n this.parentRequestId = _data[\"parentRequestId\"];\n this.isRequestBlocked = _data[\"isRequestBlocked\"];\n this.isMasterRequestBlocked = _data[\"isMasterRequestBlocked\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.masterRequestId = _data[\"masterRequestId\"];\n this.masterRequestTypeCode = _data[\"masterRequestTypeCode\"];\n this.requestTypeId = _data[\"requestTypeId\"];\n this.masterRequestStateCode = _data[\"masterRequestStateCode\"];\n this.masterSubRequestId = _data[\"masterSubRequestId\"];\n this.subRequestCount = _data[\"subRequestCount\"];\n this.requestDisplayName = _data[\"requestDisplayName\"];\n this.masterRequestNumber = _data[\"masterRequestNumber\"];\n this.masterRequestDisplayName = _data[\"masterRequestDisplayName\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.hasWarning = _data[\"hasWarning\"];\n }\n }\n\n static fromJS(data: any): RequestInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new RequestInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestTypeCode\"] = this.requestTypeCode;\n data[\"requestId\"] = this.requestId;\n data[\"parentRequestId\"] = this.parentRequestId;\n data[\"isRequestBlocked\"] = this.isRequestBlocked;\n data[\"isMasterRequestBlocked\"] = this.isMasterRequestBlocked;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"masterRequestId\"] = this.masterRequestId;\n data[\"masterRequestTypeCode\"] = this.masterRequestTypeCode;\n data[\"requestTypeId\"] = this.requestTypeId;\n data[\"masterRequestStateCode\"] = this.masterRequestStateCode;\n data[\"masterSubRequestId\"] = this.masterSubRequestId;\n data[\"subRequestCount\"] = this.subRequestCount;\n data[\"requestDisplayName\"] = this.requestDisplayName;\n data[\"masterRequestNumber\"] = this.masterRequestNumber;\n data[\"masterRequestDisplayName\"] = this.masterRequestDisplayName;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"hasWarning\"] = this.hasWarning;\n return data;\n }\n}\n\nexport interface IRequestInfoDto {\n requestTypeCode?: ERequestType;\n requestId?: number | undefined;\n parentRequestId?: number | undefined;\n isRequestBlocked?: boolean;\n isMasterRequestBlocked?: boolean;\n requestStateCode?: ERequestState;\n masterRequestId?: number | undefined;\n masterRequestTypeCode?: ERequestType | undefined;\n requestTypeId?: number;\n masterRequestStateCode?: ERequestState | undefined;\n masterSubRequestId?: number | undefined;\n subRequestCount?: number;\n requestDisplayName?: string | undefined;\n masterRequestNumber?: string | undefined;\n masterRequestDisplayName?: any | undefined;\n requestNumber?: string | undefined;\n hasWarning?: boolean;\n}\n\nexport class VerificationsValueDto implements IVerificationsValueDto {\n verificationsValueId?: number;\n required?: boolean;\n isVerified?: boolean;\n neededVerificationId?: number;\n label?: string | undefined;\n verificationCode?: ERequestVerification;\n requestStatusLabel?: string | undefined;\n requestStatus?: ERequestState;\n requestStatusId?: number;\n isCurrent?: boolean;\n\n constructor(data?: IVerificationsValueDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.verificationsValueId = _data[\"verificationsValueId\"];\n this.required = _data[\"required\"];\n this.isVerified = _data[\"isVerified\"];\n this.neededVerificationId = _data[\"neededVerificationId\"];\n this.label = _data[\"label\"];\n this.verificationCode = _data[\"verificationCode\"];\n this.requestStatusLabel = _data[\"requestStatusLabel\"];\n this.requestStatus = _data[\"requestStatus\"];\n this.requestStatusId = _data[\"requestStatusId\"];\n this.isCurrent = _data[\"isCurrent\"];\n }\n }\n\n static fromJS(data: any): VerificationsValueDto {\n data = typeof data === 'object' ? data : {};\n let result = new VerificationsValueDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"verificationsValueId\"] = this.verificationsValueId;\n data[\"required\"] = this.required;\n data[\"isVerified\"] = this.isVerified;\n data[\"neededVerificationId\"] = this.neededVerificationId;\n data[\"label\"] = this.label;\n data[\"verificationCode\"] = this.verificationCode;\n data[\"requestStatusLabel\"] = this.requestStatusLabel;\n data[\"requestStatus\"] = this.requestStatus;\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"isCurrent\"] = this.isCurrent;\n return data;\n }\n}\n\nexport interface IVerificationsValueDto {\n verificationsValueId?: number;\n required?: boolean;\n isVerified?: boolean;\n neededVerificationId?: number;\n label?: string | undefined;\n verificationCode?: ERequestVerification;\n requestStatusLabel?: string | undefined;\n requestStatus?: ERequestState;\n requestStatusId?: number;\n isCurrent?: boolean;\n}\n\nexport class NeededConditionDto implements INeededConditionDto {\n neededConditionId?: number;\n label?: string | undefined;\n forced?: boolean;\n requestStatusLabel?: string | undefined;\n requestStatusId?: number;\n requestStatusCode?: ERequestState;\n value?: boolean;\n conditionCode?: ERequestConditions;\n forcible?: boolean;\n\n constructor(data?: INeededConditionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.neededConditionId = _data[\"neededConditionId\"];\n this.label = _data[\"label\"];\n this.forced = _data[\"forced\"];\n this.requestStatusLabel = _data[\"requestStatusLabel\"];\n this.requestStatusId = _data[\"requestStatusId\"];\n this.requestStatusCode = _data[\"requestStatusCode\"];\n this.value = _data[\"value\"];\n this.conditionCode = _data[\"conditionCode\"];\n this.forcible = _data[\"forcible\"];\n }\n }\n\n static fromJS(data: any): NeededConditionDto {\n data = typeof data === 'object' ? data : {};\n let result = new NeededConditionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"neededConditionId\"] = this.neededConditionId;\n data[\"label\"] = this.label;\n data[\"forced\"] = this.forced;\n data[\"requestStatusLabel\"] = this.requestStatusLabel;\n data[\"requestStatusId\"] = this.requestStatusId;\n data[\"requestStatusCode\"] = this.requestStatusCode;\n data[\"value\"] = this.value;\n data[\"conditionCode\"] = this.conditionCode;\n data[\"forcible\"] = this.forcible;\n return data;\n }\n}\n\nexport interface INeededConditionDto {\n neededConditionId?: number;\n label?: string | undefined;\n forced?: boolean;\n requestStatusLabel?: string | undefined;\n requestStatusId?: number;\n requestStatusCode?: ERequestState;\n value?: boolean;\n conditionCode?: ERequestConditions;\n forcible?: boolean;\n}\n\nexport class PaginatedResultsOfSectionLinkedActivitiesDto implements IPaginatedResultsOfSectionLinkedActivitiesDto {\n totalCount?: number;\n results?: SectionLinkedActivitiesDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfSectionLinkedActivitiesDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(SectionLinkedActivitiesDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfSectionLinkedActivitiesDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfSectionLinkedActivitiesDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfSectionLinkedActivitiesDto {\n totalCount?: number;\n results?: SectionLinkedActivitiesDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class SectionLinkedActivitiesDto implements ISectionLinkedActivitiesDto {\n activityId?: number;\n activityName?: string | undefined;\n\n constructor(data?: ISectionLinkedActivitiesDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.activityName = _data[\"activityName\"];\n }\n }\n\n static fromJS(data: any): SectionLinkedActivitiesDto {\n data = typeof data === 'object' ? data : {};\n let result = new SectionLinkedActivitiesDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"activityName\"] = this.activityName;\n return data;\n }\n}\n\nexport interface ISectionLinkedActivitiesDto {\n activityId?: number;\n activityName?: string | undefined;\n}\n\nexport class SectionLinkedActivitiesSearch extends PaginatedSearch implements ISectionLinkedActivitiesSearch {\n languageCode?: string | undefined;\n sectionId?: number;\n\n constructor(data?: ISectionLinkedActivitiesSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageCode = _data[\"languageCode\"];\n this.sectionId = _data[\"sectionId\"];\n }\n }\n\n static fromJS(data: any): SectionLinkedActivitiesSearch {\n data = typeof data === 'object' ? data : {};\n let result = new SectionLinkedActivitiesSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageCode\"] = this.languageCode;\n data[\"sectionId\"] = this.sectionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISectionLinkedActivitiesSearch extends IPaginatedSearch {\n languageCode?: string | undefined;\n sectionId?: number;\n}\n\nexport class PaginatedResultsOfSectionsGridDto implements IPaginatedResultsOfSectionsGridDto {\n totalCount?: number;\n results?: SectionsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfSectionsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(SectionsGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfSectionsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfSectionsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfSectionsGridDto {\n totalCount?: number;\n results?: SectionsGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class SectionsGridDto implements ISectionsGridDto {\n sectionId?: number;\n code?: string | undefined;\n isWork?: boolean;\n isBeauty?: boolean;\n\n constructor(data?: ISectionsGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sectionId = _data[\"sectionId\"];\n this.code = _data[\"code\"];\n this.isWork = _data[\"isWork\"];\n this.isBeauty = _data[\"isBeauty\"];\n }\n }\n\n static fromJS(data: any): SectionsGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new SectionsGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sectionId\"] = this.sectionId;\n data[\"code\"] = this.code;\n data[\"isWork\"] = this.isWork;\n data[\"isBeauty\"] = this.isBeauty;\n return data;\n }\n}\n\nexport interface ISectionsGridDto {\n sectionId?: number;\n code?: string | undefined;\n isWork?: boolean;\n isBeauty?: boolean;\n}\n\nexport class SectionSearch extends PaginatedSearch implements ISectionSearch {\n languageCode?: string | undefined;\n code?: TextSearch | undefined;\n\n constructor(data?: ISectionSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageCode = _data[\"languageCode\"];\n this.code = _data[\"code\"] ? TextSearch.fromJS(_data[\"code\"]) : undefined;\n }\n }\n\n static fromJS(data: any): SectionSearch {\n data = typeof data === 'object' ? data : {};\n let result = new SectionSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageCode\"] = this.languageCode;\n data[\"code\"] = this.code ? this.code.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISectionSearch extends IPaginatedSearch {\n languageCode?: string | undefined;\n code?: TextSearch | undefined;\n}\n\nexport class SectionDto implements ISectionDto {\n sectionId?: number;\n code?: string | undefined;\n remark?: string | undefined;\n isWork?: boolean;\n isBeauty?: boolean;\n sectionType?: ESectionType | undefined;\n cegekaId?: string | undefined;\n\n constructor(data?: ISectionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sectionId = _data[\"sectionId\"];\n this.code = _data[\"code\"];\n this.remark = _data[\"remark\"];\n this.isWork = _data[\"isWork\"];\n this.isBeauty = _data[\"isBeauty\"];\n this.sectionType = _data[\"sectionType\"];\n this.cegekaId = _data[\"cegekaId\"];\n }\n }\n\n static fromJS(data: any): SectionDto {\n data = typeof data === 'object' ? data : {};\n let result = new SectionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sectionId\"] = this.sectionId;\n data[\"code\"] = this.code;\n data[\"remark\"] = this.remark;\n data[\"isWork\"] = this.isWork;\n data[\"isBeauty\"] = this.isBeauty;\n data[\"sectionType\"] = this.sectionType;\n data[\"cegekaId\"] = this.cegekaId;\n return data;\n }\n}\n\nexport interface ISectionDto {\n sectionId?: number;\n code?: string | undefined;\n remark?: string | undefined;\n isWork?: boolean;\n isBeauty?: boolean;\n sectionType?: ESectionType | undefined;\n cegekaId?: string | undefined;\n}\n\nexport enum ESectionType {\n SPORT = \"SPORT\",\n BEAUTY = \"BEAUTY\",\n}\n\nexport class PaginatedResultsOfSubActivityGridDto implements IPaginatedResultsOfSubActivityGridDto {\n totalCount?: number;\n results?: SubActivityGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfSubActivityGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(SubActivityGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfSubActivityGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfSubActivityGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfSubActivityGridDto {\n totalCount?: number;\n results?: SubActivityGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class SubActivityGridDto implements ISubActivityGridDto {\n subActivityId?: number;\n activityId?: number;\n activity?: string | undefined;\n name?: string | undefined;\n showType?: string | undefined;\n\n constructor(data?: ISubActivityGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subActivityId = _data[\"subActivityId\"];\n this.activityId = _data[\"activityId\"];\n this.activity = _data[\"activity\"];\n this.name = _data[\"name\"];\n this.showType = _data[\"showType\"];\n }\n }\n\n static fromJS(data: any): SubActivityGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivityGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subActivityId\"] = this.subActivityId;\n data[\"activityId\"] = this.activityId;\n data[\"activity\"] = this.activity;\n data[\"name\"] = this.name;\n data[\"showType\"] = this.showType;\n return data;\n }\n}\n\nexport interface ISubActivityGridDto {\n subActivityId?: number;\n activityId?: number;\n activity?: string | undefined;\n name?: string | undefined;\n showType?: string | undefined;\n}\n\nexport class SubActivitySearch extends PaginatedSearch implements ISubActivitySearch {\n activityId?: number | undefined;\n languageId?: number;\n name?: TextSearch | undefined;\n activity?: TextSearch | undefined;\n\n constructor(data?: ISubActivitySearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.languageId = _data[\"languageId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.activity = _data[\"activity\"] ? TextSearch.fromJS(_data[\"activity\"]) : undefined;\n }\n }\n\n static fromJS(data: any): SubActivitySearch {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivitySearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"languageId\"] = this.languageId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"activity\"] = this.activity ? this.activity.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISubActivitySearch extends IPaginatedSearch {\n activityId?: number | undefined;\n languageId?: number;\n name?: TextSearch | undefined;\n activity?: TextSearch | undefined;\n}\n\nexport class SubActivityDetailDto implements ISubActivityDetailDto {\n subActivityTranslations?: SubActivityTranslationDto[] | undefined;\n subActivityId?: number;\n activityId?: number;\n clubMatch?: boolean;\n documentType?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n isCac?: boolean;\n fciTax?: boolean;\n showType?: string | undefined;\n participationFciTax?: boolean;\n showOnPortal?: boolean;\n\n constructor(data?: ISubActivityDetailDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"subActivityTranslations\"])) {\n this.subActivityTranslations = [] as any;\n for (let item of _data[\"subActivityTranslations\"])\n this.subActivityTranslations!.push(SubActivityTranslationDto.fromJS(item));\n }\n this.subActivityId = _data[\"subActivityId\"];\n this.activityId = _data[\"activityId\"];\n this.clubMatch = _data[\"clubMatch\"];\n this.documentType = _data[\"documentType\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.isCac = _data[\"isCac\"];\n this.fciTax = _data[\"fciTax\"];\n this.showType = _data[\"showType\"];\n this.participationFciTax = _data[\"participationFciTax\"];\n this.showOnPortal = _data[\"showOnPortal\"];\n }\n }\n\n static fromJS(data: any): SubActivityDetailDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivityDetailDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.subActivityTranslations)) {\n data[\"subActivityTranslations\"] = [];\n for (let item of this.subActivityTranslations)\n data[\"subActivityTranslations\"].push(item.toJSON());\n }\n data[\"subActivityId\"] = this.subActivityId;\n data[\"activityId\"] = this.activityId;\n data[\"clubMatch\"] = this.clubMatch;\n data[\"documentType\"] = this.documentType;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"isCac\"] = this.isCac;\n data[\"fciTax\"] = this.fciTax;\n data[\"showType\"] = this.showType;\n data[\"participationFciTax\"] = this.participationFciTax;\n data[\"showOnPortal\"] = this.showOnPortal;\n return data;\n }\n}\n\nexport interface ISubActivityDetailDto {\n subActivityTranslations?: SubActivityTranslationDto[] | undefined;\n subActivityId?: number;\n activityId?: number;\n clubMatch?: boolean;\n documentType?: string | undefined;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n isCac?: boolean;\n fciTax?: boolean;\n showType?: string | undefined;\n participationFciTax?: boolean;\n showOnPortal?: boolean;\n}\n\nexport class SubActivityTranslationDto implements ISubActivityTranslationDto {\n languageId?: number;\n subActivityId?: number;\n subActivityTranslationId?: number;\n text?: string | undefined;\n\n constructor(data?: ISubActivityTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.subActivityTranslationId = _data[\"subActivityTranslationId\"];\n this.text = _data[\"text\"];\n }\n }\n\n static fromJS(data: any): SubActivityTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivityTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"subActivityTranslationId\"] = this.subActivityTranslationId;\n data[\"text\"] = this.text;\n return data;\n }\n}\n\nexport interface ISubActivityTranslationDto {\n languageId?: number;\n subActivityId?: number;\n subActivityTranslationId?: number;\n text?: string | undefined;\n}\n\nexport class PaginatedResultsOfSubActivityJudgeGridDto implements IPaginatedResultsOfSubActivityJudgeGridDto {\n totalCount?: number;\n results?: SubActivityJudgeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfSubActivityJudgeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(SubActivityJudgeGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfSubActivityJudgeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfSubActivityJudgeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfSubActivityJudgeGridDto {\n totalCount?: number;\n results?: SubActivityJudgeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class SubActivityJudgeGridDto implements ISubActivityJudgeGridDto {\n subActivityJudgeId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n subActivityId?: number;\n activityId?: number;\n remark?: string | undefined;\n activity?: string | undefined;\n name?: string | undefined;\n judgeId?: number;\n\n constructor(data?: ISubActivityJudgeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subActivityJudgeId = _data[\"subActivityJudgeId\"];\n this.judgeType = _data[\"judgeType\"];\n this.nominationDate = _data[\"nominationDate\"] ? new Date(_data[\"nominationDate\"].toString()) : undefined;\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.excludedFrom = _data[\"excludedFrom\"] ? new Date(_data[\"excludedFrom\"].toString()) : undefined;\n this.excludedTo = _data[\"excludedTo\"] ? new Date(_data[\"excludedTo\"].toString()) : undefined;\n this.personId = _data[\"personId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.language = _data[\"language\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.activityId = _data[\"activityId\"];\n this.remark = _data[\"remark\"];\n this.activity = _data[\"activity\"];\n this.name = _data[\"name\"];\n this.judgeId = _data[\"judgeId\"];\n }\n }\n\n static fromJS(data: any): SubActivityJudgeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivityJudgeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subActivityJudgeId\"] = this.subActivityJudgeId;\n data[\"judgeType\"] = this.judgeType;\n data[\"nominationDate\"] = this.nominationDate ? this.nominationDate.toISOString() : undefined;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"excludedFrom\"] = this.excludedFrom ? this.excludedFrom.toISOString() : undefined;\n data[\"excludedTo\"] = this.excludedTo ? this.excludedTo.toISOString() : undefined;\n data[\"personId\"] = this.personId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"language\"] = this.language;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"activityId\"] = this.activityId;\n data[\"remark\"] = this.remark;\n data[\"activity\"] = this.activity;\n data[\"name\"] = this.name;\n data[\"judgeId\"] = this.judgeId;\n return data;\n }\n}\n\nexport interface ISubActivityJudgeGridDto {\n subActivityJudgeId?: number;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n personId?: number;\n firstName?: string | undefined;\n lastName?: string | undefined;\n language?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n subActivityId?: number;\n activityId?: number;\n remark?: string | undefined;\n activity?: string | undefined;\n name?: string | undefined;\n judgeId?: number;\n}\n\nexport class SubActivityJudgeSearch extends SelectorSearchOfInteger implements ISubActivityJudgeSearch {\n languageId?: number;\n subActivityId?: number | undefined;\n judgeId?: number | undefined;\n personId?: number | undefined;\n lastName?: TextSearch | undefined;\n firstName?: TextSearch | undefined;\n\n constructor(data?: ISubActivityJudgeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.subActivityId = _data[\"subActivityId\"];\n this.judgeId = _data[\"judgeId\"];\n this.personId = _data[\"personId\"];\n this.lastName = _data[\"lastName\"] ? TextSearch.fromJS(_data[\"lastName\"]) : undefined;\n this.firstName = _data[\"firstName\"] ? TextSearch.fromJS(_data[\"firstName\"]) : undefined;\n }\n }\n\n static fromJS(data: any): SubActivityJudgeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new SubActivityJudgeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"subActivityId\"] = this.subActivityId;\n data[\"judgeId\"] = this.judgeId;\n data[\"personId\"] = this.personId;\n data[\"lastName\"] = this.lastName ? this.lastName.toJSON() : undefined;\n data[\"firstName\"] = this.firstName ? this.firstName.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISubActivityJudgeSearch extends ISelectorSearchOfInteger {\n languageId?: number;\n subActivityId?: number | undefined;\n judgeId?: number | undefined;\n personId?: number | undefined;\n lastName?: TextSearch | undefined;\n firstName?: TextSearch | undefined;\n}\n\nexport class SaveSubActivityJudgeDto implements ISaveSubActivityJudgeDto {\n subActivityId?: number;\n judgeId?: number | undefined;\n personId?: number | undefined;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n\n constructor(data?: ISaveSubActivityJudgeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subActivityId = _data[\"subActivityId\"];\n this.judgeId = _data[\"judgeId\"];\n this.personId = _data[\"personId\"];\n this.judgeType = _data[\"judgeType\"];\n this.nominationDate = _data[\"nominationDate\"] ? new Date(_data[\"nominationDate\"].toString()) : undefined;\n this.internshipDate = _data[\"internshipDate\"] ? new Date(_data[\"internshipDate\"].toString()) : undefined;\n this.excludedFrom = _data[\"excludedFrom\"] ? new Date(_data[\"excludedFrom\"].toString()) : undefined;\n this.excludedTo = _data[\"excludedTo\"] ? new Date(_data[\"excludedTo\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): SaveSubActivityJudgeDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveSubActivityJudgeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subActivityId\"] = this.subActivityId;\n data[\"judgeId\"] = this.judgeId;\n data[\"personId\"] = this.personId;\n data[\"judgeType\"] = this.judgeType;\n data[\"nominationDate\"] = this.nominationDate ? this.nominationDate.toISOString() : undefined;\n data[\"internshipDate\"] = this.internshipDate ? this.internshipDate.toISOString() : undefined;\n data[\"excludedFrom\"] = this.excludedFrom ? this.excludedFrom.toISOString() : undefined;\n data[\"excludedTo\"] = this.excludedTo ? this.excludedTo.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ISaveSubActivityJudgeDto {\n subActivityId?: number;\n judgeId?: number | undefined;\n personId?: number | undefined;\n judgeType?: EJudgeType;\n nominationDate?: Date | undefined;\n internshipDate?: Date | undefined;\n excludedFrom?: Date | undefined;\n excludedTo?: Date | undefined;\n}\n\nexport class SystemVersionDto implements ISystemVersionDto {\n applicationVersion?: string | undefined;\n environment?: string | undefined;\n database?: string | undefined;\n drupalHideCompetitionRequest?: boolean;\n\n constructor(data?: ISystemVersionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.applicationVersion = _data[\"applicationVersion\"];\n this.environment = _data[\"environment\"];\n this.database = _data[\"database\"];\n this.drupalHideCompetitionRequest = _data[\"drupalHideCompetitionRequest\"];\n }\n }\n\n static fromJS(data: any): SystemVersionDto {\n data = typeof data === 'object' ? data : {};\n let result = new SystemVersionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"applicationVersion\"] = this.applicationVersion;\n data[\"environment\"] = this.environment;\n data[\"database\"] = this.database;\n data[\"drupalHideCompetitionRequest\"] = this.drupalHideCompetitionRequest;\n return data;\n }\n}\n\nexport interface ISystemVersionDto {\n applicationVersion?: string | undefined;\n environment?: string | undefined;\n database?: string | undefined;\n drupalHideCompetitionRequest?: boolean;\n}\n\nexport class ErrorDetails implements IErrorDetails {\n statusCode?: number;\n message?: string | undefined;\n stackTrace?: string | undefined;\n errorCode?: ESRSHExceptions | undefined;\n exceptionType?: string | undefined;\n\n constructor(data?: IErrorDetails) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.statusCode = _data[\"statusCode\"];\n this.message = _data[\"message\"];\n this.stackTrace = _data[\"stackTrace\"];\n this.errorCode = _data[\"errorCode\"];\n this.exceptionType = _data[\"exceptionType\"];\n }\n }\n\n static fromJS(data: any): ErrorDetails {\n data = typeof data === 'object' ? data : {};\n let result = new ErrorDetails();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"statusCode\"] = this.statusCode;\n data[\"message\"] = this.message;\n data[\"stackTrace\"] = this.stackTrace;\n data[\"errorCode\"] = this.errorCode;\n data[\"exceptionType\"] = this.exceptionType;\n return data;\n }\n}\n\nexport interface IErrorDetails {\n statusCode?: number;\n message?: string | undefined;\n stackTrace?: string | undefined;\n errorCode?: ESRSHExceptions | undefined;\n exceptionType?: string | undefined;\n}\n\nexport enum ESRSHExceptions {\n ConstraintViolation = \"ConstraintViolation\",\n PedigreeNoTooHigh = \"PedigreeNoTooHigh\",\n VerificationsNotComplete = \"VerificationsNotComplete\",\n ConditionsNotComplete = \"ConditionsNotComplete\",\n EmailTemplateError = \"EmailTemplateError\",\n LoginError = \"LoginError\",\n OperationUnauthorized = \"OperationUnauthorized\",\n AtLeastOneOwnerIsNotBelgian = \"AtLeastOneOwnerIsNotBelgian\",\n DogGenealogyTreeConstraints = \"DogGenealogyTreeConstraints\",\n DogGenealogyBreedConstraints = \"DogGenealogyBreedConstraints\",\n DogGenealogyBreedConstraintsMother = \"DogGenealogyBreedConstraintsMother\",\n DogGenealogyBreedConstraintsFather = \"DogGenealogyBreedConstraintsFather\",\n DysplasiaTypeHasNoCharacteristic = \"DysplasiaTypeHasNoCharacteristic\",\n NoRequestFound = \"NoRequestFound\",\n MoreThanOneRequestFound = \"MoreThanOneRequestFound\",\n NavError = \"NavError\",\n UnauthorizedType = \"UnauthorizedType\",\n UserInactive = \"UserInactive\",\n NotAllPotentialFatherOwnersHaveApproved = \"NotAllPotentialFatherOwnersHaveApproved\",\n NotAllDogValidationsAreChecked = \"NotAllDogValidationsAreChecked\",\n OneOrMoreJudgesExluded = \"OneOrMoreJudgesExluded\",\n MaxNumberOfProfileUserExeeded = \"MaxNumberOfProfileUserExeeded\",\n PDFConversionError = \"PDFConversionError\",\n NoBCIdentifierError = \"NoBCIdentifierError\",\n DatabaseError = \"DatabaseError\",\n RequestTypeNotFoundForCondition = \"RequestTypeNotFoundForCondition\",\n DogMustHaveABirthDate = \"DogMustHaveABirthDate\",\n ChipAlreadyUsed = \"ChipAlreadyUsed\",\n PuppyInvalidName = \"PuppyInvalidName\",\n MissingBreedFCINumber = \"MissingBreedFCINumber\",\n ZoolyxPhoneNumberRequired = \"ZoolyxPhoneNumberRequired\",\n ZoolyxError = \"ZoolyxError\",\n DogHasNoColor = \"DogHasNoColor\",\n FatherAlreadyExists = \"FatherAlreadyExists\",\n NoAvailableWordTemplate = \"NoAvailableWordTemplate\",\n DogHasNoParents = \"DogHasNoParents\",\n SharePointListDoesNotExist = \"SharePointListDoesNotExist\",\n UserDoesNotExist = \"UserDoesNotExist\",\n UserHasNoPortalAccount = \"UserHasNoPortalAccount\",\n MultipleMatchingEmail = \"MultipleMatchingEmail\",\n EmailAlreadyInUse = \"EmailAlreadyInUse\",\n UserAlreadyHasPortalAccount = \"UserAlreadyHasPortalAccount\",\n SiteTermSetDoesNotExist = \"SiteTermSetDoesNotExist\",\n TermSetDoesNotExist = \"TermSetDoesNotExist\",\n NoDocument = \"NoDocument\",\n AzureBlobStorageError = \"AzureBlobStorageError\",\n RequestNotFound = \"RequestNotFound\",\n InvoiceMissingError = \"InvoiceMissingError\",\n RequestMissingInformation = \"RequestMissingInformation\",\n BroodRequestAnalysisOngoing = \"BroodRequestAnalysisOngoing\",\n BroodRequestPuppyIncomplete = \"BroodRequestPuppyIncomplete\",\n OnlyOneBroodRequestForBirthDate = \"OnlyOneBroodRequestForBirthDate\",\n PedigreeIdentifierExists = \"PedigreeIdentifierExists\",\n SubRequestUpdateError = \"SubRequestUpdateError\",\n EmailLinkedToMultipleAccountsPleaseContactSRSH = \"EmailLinkedToMultipleAccountsPleaseContactSRSH\",\n NotAlllJudgesValidated = \"NotAlllJudgesValidated\",\n NothingFound = \"NothingFound\",\n PedigreeGenerationError = \"PedigreeGenerationError\",\n OldPasswordIncorrect = \"OldPasswordIncorrect\",\n BroodRequestAtLeastOnePedigreeIncomplete = \"BroodRequestAtLeastOnePedigreeIncomplete\",\n NoRequestSelected = \"NoRequestSelected\",\n BroodRequestPuppyIncompleteCertificate = \"BroodRequestPuppyIncompleteCertificate\",\n FatherInformationIsNull = \"FatherInformationIsNull\",\n ReprintAlreadyRunning = \"ReprintAlreadyRunning\",\n ChangeUnauthorized = \"ChangeUnauthorized\",\n InvalidLanguageCode = \"InvalidLanguageCode\",\n DogNameAlreadyTakenInKennel = \"DogNameAlreadyTakenInKennel\",\n DogHasNoDnaResultError = \"DogHasNoDnaResultError\",\n CharacteristicAlreadyExists = \"CharacteristicAlreadyExists\",\n AtLeastOneFileExistsInBothSharepoints = \"AtLeastOneFileExistsInBothSharepoints\",\n InvalidVatNumber = \"InvalidVatNumber\",\n DogChipTooLong = \"DogChipTooLong\",\n TitleAlreadyExists = \"TitleAlreadyExists\",\n SHPMaximumRetryAttempted = \"SHPMaximumRetryAttempted\",\n DogChipExists = \"DogChipExists\",\n TwoPedigreesWithSameCountry = \"TwoPedigreesWithSameCountry\",\n DogChipInformationMissingInImportFile = \"DogChipInformationMissingInImportFile\",\n NonBreedableBreedError = \"NonBreedableBreedError\",\n UniqueKeyException = \"UniqueKeyException\",\n ImpossibleActionError = \"ImpossibleActionError\",\n PuppiesNamesMustDiffer = \"PuppiesNamesMustDiffer\",\n UserBanned = \"UserBanned\",\n CompetitionImportInProgress = \"CompetitionImportInProgress\",\n CannotUseKnownPerson = \"CannotUseKnownPerson\",\n CannotDeleteTranslatedLanguage = \"CannotDeleteTranslatedLanguage\",\n SectionIsNotAuthorizedForTabletUse = \"SectionIsNotAuthorizedForTabletUse\",\n FCIAlreadyInUse = \"FCIAlreadyInUse\",\n SectionIsNotAuthorizedForMyExpo = \"SectionIsNotAuthorizedForMyExpo\",\n RequestAlreadyExists = \"RequestAlreadyExists\",\n}\n\nexport class IngenicoSettings implements IIngenicoSettings {\n paymentUrl?: string | undefined;\n sha1Key?: string | undefined;\n psId?: string | undefined;\n\n constructor(data?: IIngenicoSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.paymentUrl = _data[\"paymentUrl\"];\n this.sha1Key = _data[\"sha1Key\"];\n this.psId = _data[\"psId\"];\n }\n }\n\n static fromJS(data: any): IngenicoSettings {\n data = typeof data === 'object' ? data : {};\n let result = new IngenicoSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"paymentUrl\"] = this.paymentUrl;\n data[\"sha1Key\"] = this.sha1Key;\n data[\"psId\"] = this.psId;\n return data;\n }\n}\n\nexport interface IIngenicoSettings {\n paymentUrl?: string | undefined;\n sha1Key?: string | undefined;\n psId?: string | undefined;\n}\n\nexport class PaginatedResultsOfTempRSHRequestGridDto implements IPaginatedResultsOfTempRSHRequestGridDto {\n totalCount?: number;\n results?: TempRSHRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTempRSHRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TempRSHRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTempRSHRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTempRSHRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTempRSHRequestGridDto {\n totalCount?: number;\n results?: TempRSHRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TempRSHRequestGridDto implements ITempRSHRequestGridDto {\n dogTempOwnershipChangeRequestId?: number;\n requestId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n requestState?: string | undefined;\n requestStateId?: number;\n requestStateCode?: ERequestState;\n contactId?: number;\n contact?: string | undefined;\n dogId?: number;\n dog?: string | undefined;\n temporaryOwnerId?: number;\n temporaryOwner?: string | undefined;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: ITempRSHRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTempOwnershipChangeRequestId = _data[\"dogTempOwnershipChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestState = _data[\"requestState\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.contactId = _data[\"contactId\"];\n this.contact = _data[\"contact\"];\n this.dogId = _data[\"dogId\"];\n this.dog = _data[\"dog\"];\n this.temporaryOwnerId = _data[\"temporaryOwnerId\"];\n this.temporaryOwner = _data[\"temporaryOwner\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): TempRSHRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new TempRSHRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTempOwnershipChangeRequestId\"] = this.dogTempOwnershipChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestState\"] = this.requestState;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"contactId\"] = this.contactId;\n data[\"contact\"] = this.contact;\n data[\"dogId\"] = this.dogId;\n data[\"dog\"] = this.dog;\n data[\"temporaryOwnerId\"] = this.temporaryOwnerId;\n data[\"temporaryOwner\"] = this.temporaryOwner;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface ITempRSHRequestGridDto {\n dogTempOwnershipChangeRequestId?: number;\n requestId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n requestState?: string | undefined;\n requestStateId?: number;\n requestStateCode?: ERequestState;\n contactId?: number;\n contact?: string | undefined;\n dogId?: number;\n dog?: string | undefined;\n temporaryOwnerId?: number;\n temporaryOwner?: string | undefined;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport class TempRSHRequestSearch extends PaginatedSearch implements ITempRSHRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n temporaryOwner?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n\n constructor(data?: ITempRSHRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n this.temporaryOwner = _data[\"temporaryOwner\"] ? TextSearch.fromJS(_data[\"temporaryOwner\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TempRSHRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TempRSHRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n data[\"temporaryOwner\"] = this.temporaryOwner ? this.temporaryOwner.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITempRSHRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n temporaryOwner?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n}\n\nexport class TempRSHRequestDto implements ITempRSHRequestDto {\n dogTempOwnershipChangeRequestId?: number;\n requestId?: number;\n temporaryOwnerId?: number;\n temporaryOwnerEmail?: string | undefined;\n dogId?: number;\n temporaryOwnerFrom?: Date;\n temporaryOwnerTo?: Date;\n request?: RequestDto | undefined;\n dogSharepointUri?: string | undefined;\n\n constructor(data?: ITempRSHRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTempOwnershipChangeRequestId = _data[\"dogTempOwnershipChangeRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.temporaryOwnerId = _data[\"temporaryOwnerId\"];\n this.temporaryOwnerEmail = _data[\"temporaryOwnerEmail\"];\n this.dogId = _data[\"dogId\"];\n this.temporaryOwnerFrom = _data[\"temporaryOwnerFrom\"] ? new Date(_data[\"temporaryOwnerFrom\"].toString()) : undefined;\n this.temporaryOwnerTo = _data[\"temporaryOwnerTo\"] ? new Date(_data[\"temporaryOwnerTo\"].toString()) : undefined;\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n }\n }\n\n static fromJS(data: any): TempRSHRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new TempRSHRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTempOwnershipChangeRequestId\"] = this.dogTempOwnershipChangeRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"temporaryOwnerId\"] = this.temporaryOwnerId;\n data[\"temporaryOwnerEmail\"] = this.temporaryOwnerEmail;\n data[\"dogId\"] = this.dogId;\n data[\"temporaryOwnerFrom\"] = this.temporaryOwnerFrom ? this.temporaryOwnerFrom.toISOString() : undefined;\n data[\"temporaryOwnerTo\"] = this.temporaryOwnerTo ? this.temporaryOwnerTo.toISOString() : undefined;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n return data;\n }\n}\n\nexport interface ITempRSHRequestDto {\n dogTempOwnershipChangeRequestId?: number;\n requestId?: number;\n temporaryOwnerId?: number;\n temporaryOwnerEmail?: string | undefined;\n dogId?: number;\n temporaryOwnerFrom?: Date;\n temporaryOwnerTo?: Date;\n request?: RequestDto | undefined;\n dogSharepointUri?: string | undefined;\n}\n\nexport enum EShpSite {\n DOGS = \"DOGS\",\n KENNELS = \"KENNELS\",\n PERSONS = \"PERSONS\",\n DOSSIERS = \"DOSSIERS\",\n BREEDS = \"BREEDS\",\n CLINICS = \"CLINICS\",\n COUNTRIES = \"COUNTRIES\",\n COMPETITIONS = \"COMPETITIONS\",\n}\n\nexport enum EShpDocType {\n DOG_TITLE_BE = \"DOG_TITLE_BE\",\n DOG_TITLE_BENELUX = \"DOG_TITLE_BENELUX\",\n DOG_TITLE_FOREIGN = \"DOG_TITLE_FOREIGN\",\n DOG_CONFORM_ATTEST = \"DOG_CONFORM_ATTEST\",\n DOG_DIPLOMA = \"DOG_DIPLOMA\",\n DOG_ADN_PROFILE = \"DOG_ADN_PROFILE\",\n DOG_DYSPLASIA = \"DOG_DYSPLASIA\",\n DOG_OWNERSHIP_ATTEST = \"DOG_OWNERSHIP_ATTEST\",\n DOG_INVOICE = \"DOG_INVOICE\",\n DOG_BREEDING_ADMISSION = \"DOG_BREEDING_ADMISSION\",\n DOG_HEALTH_ATTEST = \"DOG_HEALTH_ATTEST\",\n DOG_HD_ATTEST = \"DOG_HD_ATTEST\",\n DOG_PEDIGREE_COPY = \"DOG_PEDIGREE_COPY\",\n DOG_RECEIPT = \"DOG_RECEIPT\",\n DOG_PEDIGREE = \"DOG_PEDIGREE\",\n DOG_WORKBOOK_STICKER = \"DOG_WORKBOOK_STICKER\",\n DOG_SOCIAL_BEHAV_TEST = \"DOG_SOCIAL_BEHAV_TEST\",\n DOG_WORK_ATTEST = \"DOG_WORK_ATTEST\",\n DOG_WORK_CARD = \"DOG_WORK_CARD\",\n DOSSIER_ADN_ANALYSIS = \"DOSSIER_ADN_ANALYSIS\",\n DOSSIER_PEDIGREE_DOUBLE = \"DOSSIER_PEDIGREE_DOUBLE\",\n DOSSIER_KENNEL_NAME = \"DOSSIER_KENNEL_NAME\",\n DOSSIER_MEMBER_REQUEST = \"DOSSIER_MEMBER_REQUEST\",\n DOSSIER_RISH = \"DOSSIER_RISH\",\n DOSSIER_TITLE = \"DOSSIER_TITLE\",\n DOSSIER_COMPETITION = \"DOSSIER_COMPETITION\",\n DOSSIER_WORKBOOK = \"DOSSIER_WORKBOOK\",\n DOSSIER_MISSING_INFO_IMPORT = \"DOSSIER_MISSING_INFO_IMPORT\",\n DOSSIER_MISSING_INFO_KENNEL = \"DOSSIER_MISSING_INFO_KENNEL\",\n DOSSIER_MISSING_INFO_BROOD = \"DOSSIER_MISSING_INFO_BROOD\",\n DOSSIER_MISSING_INFO_RSH = \"DOSSIER_MISSING_INFO_RSH\",\n DOSSIER_BE_JUDGE = \"DOSSIER_BE_JUDGE\",\n DOSSIER_FOREIGN_JUDGE = \"DOSSIER_FOREIGN_JUDGE\",\n DOSSIER_CATALOG = \"DOSSIER_CATALOG\",\n DOSSIER_CONTROL_REPORT = \"DOSSIER_CONTROL_REPORT\",\n DOSSIER_VET_ATTEST = \"DOSSIER_VET_ATTEST\",\n DOSSIER_ADN_KIT = \"DOSSIER_ADN_KIT\",\n DOSSIER_DYSPLASIA = \"DOSSIER_DYSPLASIA\",\n DOSSIER_DYSPLASIA_DOC = \"DOSSIER_DYSPLASIA_DOC\",\n DOSSIER_OWNER_CHANGE = \"DOSSIER_OWNER_CHANGE\",\n DOSSIER_INVOICE = \"DOSSIER_INVOICE\",\n DOSSIER_IMPORT = \"DOSSIER_IMPORT\",\n DOSSIER_DYSPLASIA_INTER_ATTEST = \"DOSSIER_DYSPLASIA_INTER_ATTEST\",\n DOSSIER_AFFIX_CARDS = \"DOSSIER_AFFIX_CARDS\",\n DOSSIER_LAB_RESULTS = \"DOSSIER_LAB_RESULTS\",\n DOSSIER_ADHESION = \"DOSSIER_ADHESION\",\n DOSSIER_BIRTH_ATTEST = \"DOSSIER_BIRTH_ATTEST\",\n DOSSIER_NEW_PROP_KENNEL = \"DOSSIER_NEW_PROP_KENNEL\",\n DOSSIER_BREEDING_TEMP_STOP = \"DOSSIER_BREEDING_TEMP_STOP\",\n DOSSIER_PEDIGREE_EXAMPLE = \"DOSSIER_PEDIGREE_EXAMPLE\",\n DOSSIER_BABYDOG_PICTURE = \"DOSSIER_BABYDOG_PICTURE\",\n LOGO = \"LOGO\",\n CompetitionInformationAppended = \"CompetitionInformationAppended\",\n JudgeCV = \"JudgeCV\",\n JudgePicture = \"JudgePicture\",\n Picture = \"Picture\",\n CV = \"CV\",\n}\n\nexport class PaginatedResultsOfTitlesGridDto implements IPaginatedResultsOfTitlesGridDto {\n totalCount?: number;\n results?: TitlesGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTitlesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TitlesGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTitlesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTitlesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTitlesGridDto {\n totalCount?: number;\n results?: TitlesGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TitlesGridDto implements ITitlesGridDto {\n titleId?: number;\n name?: string | undefined;\n abreviation?: string | undefined;\n type?: string | undefined;\n titleTypeId?: number;\n workRequired?: boolean;\n canBeUsed?: boolean;\n\n constructor(data?: ITitlesGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleId = _data[\"titleId\"];\n this.name = _data[\"name\"];\n this.abreviation = _data[\"abreviation\"];\n this.type = _data[\"type\"];\n this.titleTypeId = _data[\"titleTypeId\"];\n this.workRequired = _data[\"workRequired\"];\n this.canBeUsed = _data[\"canBeUsed\"];\n }\n }\n\n static fromJS(data: any): TitlesGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new TitlesGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleId\"] = this.titleId;\n data[\"name\"] = this.name;\n data[\"abreviation\"] = this.abreviation;\n data[\"type\"] = this.type;\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"workRequired\"] = this.workRequired;\n data[\"canBeUsed\"] = this.canBeUsed;\n return data;\n }\n}\n\nexport interface ITitlesGridDto {\n titleId?: number;\n name?: string | undefined;\n abreviation?: string | undefined;\n type?: string | undefined;\n titleTypeId?: number;\n workRequired?: boolean;\n canBeUsed?: boolean;\n}\n\nexport class TitleSearch extends PaginatedSearch implements ITitleSearch {\n languageId?: number;\n countryId?: number;\n type?: TextSearch | undefined;\n\n constructor(data?: ITitleSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.countryId = _data[\"countryId\"];\n this.type = _data[\"type\"] ? TextSearch.fromJS(_data[\"type\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TitleSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TitleSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"countryId\"] = this.countryId;\n data[\"type\"] = this.type ? this.type.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITitleSearch extends IPaginatedSearch {\n languageId?: number;\n countryId?: number;\n type?: TextSearch | undefined;\n}\n\nexport class TitleDto implements ITitleDto {\n titleId?: number;\n titleTranslations?: TitleTranslationDto[] | undefined;\n countryId?: number;\n abreviation?: string | undefined;\n titleTypeId?: number;\n workRequired?: boolean;\n articleId?: number | undefined;\n\n constructor(data?: ITitleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleId = _data[\"titleId\"];\n if (Array.isArray(_data[\"titleTranslations\"])) {\n this.titleTranslations = [] as any;\n for (let item of _data[\"titleTranslations\"])\n this.titleTranslations!.push(TitleTranslationDto.fromJS(item));\n }\n this.countryId = _data[\"countryId\"];\n this.abreviation = _data[\"abreviation\"];\n this.titleTypeId = _data[\"titleTypeId\"];\n this.workRequired = _data[\"workRequired\"];\n this.articleId = _data[\"articleId\"];\n }\n }\n\n static fromJS(data: any): TitleDto {\n data = typeof data === 'object' ? data : {};\n let result = new TitleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleId\"] = this.titleId;\n if (Array.isArray(this.titleTranslations)) {\n data[\"titleTranslations\"] = [];\n for (let item of this.titleTranslations)\n data[\"titleTranslations\"].push(item.toJSON());\n }\n data[\"countryId\"] = this.countryId;\n data[\"abreviation\"] = this.abreviation;\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"workRequired\"] = this.workRequired;\n data[\"articleId\"] = this.articleId;\n return data;\n }\n}\n\nexport interface ITitleDto {\n titleId?: number;\n titleTranslations?: TitleTranslationDto[] | undefined;\n countryId?: number;\n abreviation?: string | undefined;\n titleTypeId?: number;\n workRequired?: boolean;\n articleId?: number | undefined;\n}\n\nexport class TitleTranslationDto implements ITitleTranslationDto {\n languageId?: number;\n text?: string | undefined;\n titleTranslationId?: number;\n\n constructor(data?: ITitleTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.titleTranslationId = _data[\"titleTranslationId\"];\n }\n }\n\n static fromJS(data: any): TitleTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new TitleTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"titleTranslationId\"] = this.titleTranslationId;\n return data;\n }\n}\n\nexport interface ITitleTranslationDto {\n languageId?: number;\n text?: string | undefined;\n titleTranslationId?: number;\n}\n\nexport class PaginatedResultsOfTitlesRequestGridDto implements IPaginatedResultsOfTitlesRequestGridDto {\n totalCount?: number;\n results?: TitlesRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTitlesRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TitlesRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTitlesRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTitlesRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTitlesRequestGridDto {\n totalCount?: number;\n results?: TitlesRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TitlesRequestGridDto implements ITitlesRequestGridDto {\n titleRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n title?: string | undefined;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: ITitlesRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleRequestId = _data[\"titleRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestState = _data[\"requestState\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.dog = _data[\"dog\"];\n this.dogId = _data[\"dogId\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.title = _data[\"title\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): TitlesRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new TitlesRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleRequestId\"] = this.titleRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestState\"] = this.requestState;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"dog\"] = this.dog;\n data[\"dogId\"] = this.dogId;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"title\"] = this.title;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface ITitlesRequestGridDto {\n titleRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n requestStateId?: number;\n requestState?: string | undefined;\n personId?: number;\n contact?: string | undefined;\n dog?: string | undefined;\n dogId?: number;\n requestNumber?: string | undefined;\n requestDate?: Date;\n title?: string | undefined;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport class TitlesRequestSearch extends PaginatedSearch implements ITitlesRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n title?: TextSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n\n constructor(data?: ITitlesRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.title = _data[\"title\"] ? TextSearch.fromJS(_data[\"title\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TitlesRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TitlesRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"title\"] = this.title ? this.title.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITitlesRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n title?: TextSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n}\n\nexport class TitleRequestDto implements ITitleRequestDto {\n titleRequestId?: number;\n requestId?: number;\n dogId?: number;\n titleId?: number;\n titleCountryId?: number;\n year?: number;\n request?: RequestDto | undefined;\n dogSharepointUri?: string | undefined;\n\n constructor(data?: ITitleRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleRequestId = _data[\"titleRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.titleId = _data[\"titleId\"];\n this.titleCountryId = _data[\"titleCountryId\"];\n this.year = _data[\"year\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n }\n }\n\n static fromJS(data: any): TitleRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new TitleRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleRequestId\"] = this.titleRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"titleId\"] = this.titleId;\n data[\"titleCountryId\"] = this.titleCountryId;\n data[\"year\"] = this.year;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n return data;\n }\n}\n\nexport interface ITitleRequestDto {\n titleRequestId?: number;\n requestId?: number;\n dogId?: number;\n titleId?: number;\n titleCountryId?: number;\n year?: number;\n request?: RequestDto | undefined;\n dogSharepointUri?: string | undefined;\n}\n\nexport class DrupalTitleRequestDto implements IDrupalTitleRequestDto {\n titleRequestId?: number;\n dogId?: number;\n titleId?: number;\n year?: number;\n requestId?: number;\n request?: RequestDto | undefined;\n\n constructor(data?: IDrupalTitleRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleRequestId = _data[\"titleRequestId\"];\n this.dogId = _data[\"dogId\"];\n this.titleId = _data[\"titleId\"];\n this.year = _data[\"year\"];\n this.requestId = _data[\"requestId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DrupalTitleRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalTitleRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleRequestId\"] = this.titleRequestId;\n data[\"dogId\"] = this.dogId;\n data[\"titleId\"] = this.titleId;\n data[\"year\"] = this.year;\n data[\"requestId\"] = this.requestId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IDrupalTitleRequestDto {\n titleRequestId?: number;\n dogId?: number;\n titleId?: number;\n year?: number;\n requestId?: number;\n request?: RequestDto | undefined;\n}\n\nexport class PaginatedResultsOfTitleTypeGridDto implements IPaginatedResultsOfTitleTypeGridDto {\n totalCount?: number;\n results?: TitleTypeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTitleTypeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TitleTypeGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTitleTypeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTitleTypeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTitleTypeGridDto {\n totalCount?: number;\n results?: TitleTypeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TitleTypeGridDto implements ITitleTypeGridDto {\n titleTypeId?: number;\n name?: string | undefined;\n\n constructor(data?: ITitleTypeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleTypeId = _data[\"titleTypeId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): TitleTypeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new TitleTypeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ITitleTypeGridDto {\n titleTypeId?: number;\n name?: string | undefined;\n}\n\nexport class TitleTypeSearch extends PaginatedSearch implements ITitleTypeSearch {\n name?: TextSearch | undefined;\n languageId?: number;\n\n constructor(data?: ITitleTypeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): TitleTypeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TitleTypeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITitleTypeSearch extends IPaginatedSearch {\n name?: TextSearch | undefined;\n languageId?: number;\n}\n\nexport class TitleTypeDto implements ITitleTypeDto {\n titleTypeId?: number;\n cegekaId?: string | undefined;\n remark?: string | undefined;\n translations?: TitleTypeTranslationDto[] | undefined;\n\n constructor(data?: ITitleTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleTypeId = _data[\"titleTypeId\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.remark = _data[\"remark\"];\n if (Array.isArray(_data[\"translations\"])) {\n this.translations = [] as any;\n for (let item of _data[\"translations\"])\n this.translations!.push(TitleTypeTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TitleTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new TitleTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"remark\"] = this.remark;\n if (Array.isArray(this.translations)) {\n data[\"translations\"] = [];\n for (let item of this.translations)\n data[\"translations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITitleTypeDto {\n titleTypeId?: number;\n cegekaId?: string | undefined;\n remark?: string | undefined;\n translations?: TitleTypeTranslationDto[] | undefined;\n}\n\nexport class TitleTypeTranslationDto implements ITitleTypeTranslationDto {\n titleTypeId?: number;\n languageId?: number;\n remark?: string | undefined;\n text?: string | undefined;\n\n constructor(data?: ITitleTypeTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.titleTypeId = _data[\"titleTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.remark = _data[\"remark\"];\n this.text = _data[\"text\"];\n }\n }\n\n static fromJS(data: any): TitleTypeTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new TitleTypeTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"titleTypeId\"] = this.titleTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"remark\"] = this.remark;\n data[\"text\"] = this.text;\n return data;\n }\n}\n\nexport interface ITitleTypeTranslationDto {\n titleTypeId?: number;\n languageId?: number;\n remark?: string | undefined;\n text?: string | undefined;\n}\n\nexport class PaginatedResultsOfTransientDogTitleGridDto implements IPaginatedResultsOfTransientDogTitleGridDto {\n totalCount?: number;\n results?: TransientDogTitleGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTransientDogTitleGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TransientDogTitleGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTransientDogTitleGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTransientDogTitleGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTransientDogTitleGridDto {\n totalCount?: number;\n results?: TransientDogTitleGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TransientDogTitleGridDto implements ITransientDogTitleGridDto {\n dogTitlesTransientId?: number;\n dogId?: number;\n titleId?: number;\n countryId?: number;\n managerId?: number | undefined;\n closedOn?: Date | undefined;\n sharepointUri?: string | undefined;\n dog?: string | undefined;\n country?: string | undefined;\n title?: string | undefined;\n year?: number;\n\n constructor(data?: ITransientDogTitleGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dogTitlesTransientId = _data[\"dogTitlesTransientId\"];\n this.dogId = _data[\"dogId\"];\n this.titleId = _data[\"titleId\"];\n this.countryId = _data[\"countryId\"];\n this.managerId = _data[\"managerId\"];\n this.closedOn = _data[\"closedOn\"] ? new Date(_data[\"closedOn\"].toString()) : undefined;\n this.sharepointUri = _data[\"sharepointUri\"];\n this.dog = _data[\"dog\"];\n this.country = _data[\"country\"];\n this.title = _data[\"title\"];\n this.year = _data[\"year\"];\n }\n }\n\n static fromJS(data: any): TransientDogTitleGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new TransientDogTitleGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogTitlesTransientId\"] = this.dogTitlesTransientId;\n data[\"dogId\"] = this.dogId;\n data[\"titleId\"] = this.titleId;\n data[\"countryId\"] = this.countryId;\n data[\"managerId\"] = this.managerId;\n data[\"closedOn\"] = this.closedOn ? this.closedOn.toISOString() : undefined;\n data[\"sharepointUri\"] = this.sharepointUri;\n data[\"dog\"] = this.dog;\n data[\"country\"] = this.country;\n data[\"title\"] = this.title;\n data[\"year\"] = this.year;\n return data;\n }\n}\n\nexport interface ITransientDogTitleGridDto {\n dogTitlesTransientId?: number;\n dogId?: number;\n titleId?: number;\n countryId?: number;\n managerId?: number | undefined;\n closedOn?: Date | undefined;\n sharepointUri?: string | undefined;\n dog?: string | undefined;\n country?: string | undefined;\n title?: string | undefined;\n year?: number;\n}\n\nexport class DogsTransientTitlesSearch extends PaginatedSearch implements IDogsTransientTitlesSearch {\n searchUnassignedTitles?: boolean;\n languageId?: number;\n hideClosed?: boolean;\n\n constructor(data?: IDogsTransientTitlesSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.searchUnassignedTitles = _data[\"searchUnassignedTitles\"];\n this.languageId = _data[\"languageId\"];\n this.hideClosed = _data[\"hideClosed\"];\n }\n }\n\n static fromJS(data: any): DogsTransientTitlesSearch {\n data = typeof data === 'object' ? data : {};\n let result = new DogsTransientTitlesSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchUnassignedTitles\"] = this.searchUnassignedTitles;\n data[\"languageId\"] = this.languageId;\n data[\"hideClosed\"] = this.hideClosed;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDogsTransientTitlesSearch extends IPaginatedSearch {\n searchUnassignedTitles?: boolean;\n languageId?: number;\n hideClosed?: boolean;\n}\n\nexport class TransientDogTitleByDogSearch extends PaginatedSearch implements ITransientDogTitleByDogSearch {\n dogId?: number;\n languageId?: number;\n\n constructor(data?: ITransientDogTitleByDogSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): TransientDogTitleByDogSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TransientDogTitleByDogSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITransientDogTitleByDogSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n}\n\nexport class PaginatedResultsOfTransientWorkbookGridDto implements IPaginatedResultsOfTransientWorkbookGridDto {\n totalCount?: number;\n results?: TransientWorkbookGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTransientWorkbookGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TransientWorkbookGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTransientWorkbookGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTransientWorkbookGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTransientWorkbookGridDto {\n totalCount?: number;\n results?: TransientWorkbookGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TransientWorkbookGridDto implements ITransientWorkbookGridDto {\n identifier?: number | undefined;\n counter?: number;\n workbookTypeId?: number;\n workbookType?: string | undefined;\n\n constructor(data?: ITransientWorkbookGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.identifier = _data[\"identifier\"];\n this.counter = _data[\"counter\"];\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.workbookType = _data[\"workbookType\"];\n }\n }\n\n static fromJS(data: any): TransientWorkbookGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new TransientWorkbookGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"identifier\"] = this.identifier;\n data[\"counter\"] = this.counter;\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"workbookType\"] = this.workbookType;\n return data;\n }\n}\n\nexport interface ITransientWorkbookGridDto {\n identifier?: number | undefined;\n counter?: number;\n workbookTypeId?: number;\n workbookType?: string | undefined;\n}\n\nexport class TransientWorkbookSearch extends PaginatedSearch implements ITransientWorkbookSearch {\n dogId?: number;\n languageId?: number;\n\n constructor(data?: ITransientWorkbookSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dogId = _data[\"dogId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): TransientWorkbookSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TransientWorkbookSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dogId\"] = this.dogId;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITransientWorkbookSearch extends IPaginatedSearch {\n dogId?: number;\n languageId?: number;\n}\n\nexport class TranslationDto implements ITranslationDto {\n languageCode?: string | undefined;\n translationCode?: string | undefined;\n text?: string | undefined;\n translationId?: number;\n languageId?: number;\n\n constructor(data?: ITranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageCode = _data[\"languageCode\"];\n this.translationCode = _data[\"translationCode\"];\n this.text = _data[\"text\"];\n this.translationId = _data[\"translationId\"];\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): TranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new TranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageCode\"] = this.languageCode;\n data[\"translationCode\"] = this.translationCode;\n data[\"text\"] = this.text;\n data[\"translationId\"] = this.translationId;\n data[\"languageId\"] = this.languageId;\n return data;\n }\n}\n\nexport interface ITranslationDto {\n languageCode?: string | undefined;\n translationCode?: string | undefined;\n text?: string | undefined;\n translationId?: number;\n languageId?: number;\n}\n\nexport class UpdateTranslationCommand implements IUpdateTranslationCommand {\n translationId?: number;\n text?: string | undefined;\n\n constructor(data?: IUpdateTranslationCommand) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.translationId = _data[\"translationId\"];\n this.text = _data[\"text\"];\n }\n }\n\n static fromJS(data: any): UpdateTranslationCommand {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTranslationCommand();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"translationId\"] = this.translationId;\n data[\"text\"] = this.text;\n return data;\n }\n}\n\nexport interface IUpdateTranslationCommand {\n translationId?: number;\n text?: string | undefined;\n}\n\nexport class PaginatedResultsOfTranslationDto implements IPaginatedResultsOfTranslationDto {\n totalCount?: number;\n results?: TranslationDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(TranslationDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfTranslationDto {\n totalCount?: number;\n results?: TranslationDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class TranslationSearch extends PaginatedSearch implements ITranslationSearch {\n languageCode?: string | undefined;\n text?: TextSearch | undefined;\n translationCode?: TextSearch | undefined;\n languageId?: ListSearchOfNullableInteger | undefined;\n\n constructor(data?: ITranslationSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageCode = _data[\"languageCode\"];\n this.text = _data[\"text\"] ? TextSearch.fromJS(_data[\"text\"]) : undefined;\n this.translationCode = _data[\"translationCode\"] ? TextSearch.fromJS(_data[\"translationCode\"]) : undefined;\n this.languageId = _data[\"languageId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"languageId\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TranslationSearch {\n data = typeof data === 'object' ? data : {};\n let result = new TranslationSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageCode\"] = this.languageCode;\n data[\"text\"] = this.text ? this.text.toJSON() : undefined;\n data[\"translationCode\"] = this.translationCode ? this.translationCode.toJSON() : undefined;\n data[\"languageId\"] = this.languageId ? this.languageId.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITranslationSearch extends IPaginatedSearch {\n languageCode?: string | undefined;\n text?: TextSearch | undefined;\n translationCode?: TextSearch | undefined;\n languageId?: ListSearchOfNullableInteger | undefined;\n}\n\nexport class PaginatedResultsOfUserGridDto implements IPaginatedResultsOfUserGridDto {\n totalCount?: number;\n results?: UserGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfUserGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(UserGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfUserGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfUserGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfUserGridDto {\n totalCount?: number;\n results?: UserGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class UserGridDto implements IUserGridDto {\n userId?: number;\n active?: boolean;\n lastName?: string | undefined;\n firstName?: string | undefined;\n email?: string | undefined;\n language?: string | undefined;\n languageId?: number;\n userProfileId?: number;\n userProfile?: string | undefined;\n computedName?: string | undefined;\n\n constructor(data?: IUserGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.active = _data[\"active\"];\n this.lastName = _data[\"lastName\"];\n this.firstName = _data[\"firstName\"];\n this.email = _data[\"email\"];\n this.language = _data[\"language\"];\n this.languageId = _data[\"languageId\"];\n this.userProfileId = _data[\"userProfileId\"];\n this.userProfile = _data[\"userProfile\"];\n this.computedName = _data[\"computedName\"];\n }\n }\n\n static fromJS(data: any): UserGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"active\"] = this.active;\n data[\"lastName\"] = this.lastName;\n data[\"firstName\"] = this.firstName;\n data[\"email\"] = this.email;\n data[\"language\"] = this.language;\n data[\"languageId\"] = this.languageId;\n data[\"userProfileId\"] = this.userProfileId;\n data[\"userProfile\"] = this.userProfile;\n data[\"computedName\"] = this.computedName;\n return data;\n }\n}\n\nexport interface IUserGridDto {\n userId?: number;\n active?: boolean;\n lastName?: string | undefined;\n firstName?: string | undefined;\n email?: string | undefined;\n language?: string | undefined;\n languageId?: number;\n userProfileId?: number;\n userProfile?: string | undefined;\n computedName?: string | undefined;\n}\n\nexport class UserSearch extends PaginatedSearch implements IUserSearch {\n computedName?: TextSearch | undefined;\n name?: TextSearch | undefined;\n firstName?: TextSearch | undefined;\n email?: TextSearch | undefined;\n userProfileId?: ListSearchOfNullableInteger | undefined;\n\n constructor(data?: IUserSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.computedName = _data[\"computedName\"] ? TextSearch.fromJS(_data[\"computedName\"]) : undefined;\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.firstName = _data[\"firstName\"] ? TextSearch.fromJS(_data[\"firstName\"]) : undefined;\n this.email = _data[\"email\"] ? TextSearch.fromJS(_data[\"email\"]) : undefined;\n this.userProfileId = _data[\"userProfileId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"userProfileId\"]) : undefined;\n }\n }\n\n static fromJS(data: any): UserSearch {\n data = typeof data === 'object' ? data : {};\n let result = new UserSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"computedName\"] = this.computedName ? this.computedName.toJSON() : undefined;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"firstName\"] = this.firstName ? this.firstName.toJSON() : undefined;\n data[\"email\"] = this.email ? this.email.toJSON() : undefined;\n data[\"userProfileId\"] = this.userProfileId ? this.userProfileId.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUserSearch extends IPaginatedSearch {\n computedName?: TextSearch | undefined;\n name?: TextSearch | undefined;\n firstName?: TextSearch | undefined;\n email?: TextSearch | undefined;\n userProfileId?: ListSearchOfNullableInteger | undefined;\n}\n\nexport class UserDto implements IUserDto {\n userId?: number;\n userProfileId?: number;\n email?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n active?: boolean;\n mustResetPassword?: boolean;\n defaultRoute?: string | undefined;\n mustChangePassword?: boolean;\n languageId?: number | undefined;\n password?: string | undefined;\n languageCode?: string | undefined;\n token?: string | undefined;\n departments?: number[] | undefined;\n profile?: EUserProfile | undefined;\n platform?: EPlatform;\n personId?: number | undefined;\n\n constructor(data?: IUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.userProfileId = _data[\"userProfileId\"];\n this.email = _data[\"email\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.active = _data[\"active\"];\n this.mustResetPassword = _data[\"mustResetPassword\"];\n this.defaultRoute = _data[\"defaultRoute\"];\n this.mustChangePassword = _data[\"mustChangePassword\"];\n this.languageId = _data[\"languageId\"];\n this.password = _data[\"password\"];\n this.languageCode = _data[\"languageCode\"];\n this.token = _data[\"token\"];\n if (Array.isArray(_data[\"departments\"])) {\n this.departments = [] as any;\n for (let item of _data[\"departments\"])\n this.departments!.push(item);\n }\n this.profile = _data[\"profile\"];\n this.platform = _data[\"platform\"];\n this.personId = _data[\"personId\"];\n }\n }\n\n static fromJS(data: any): UserDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"userProfileId\"] = this.userProfileId;\n data[\"email\"] = this.email;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"active\"] = this.active;\n data[\"mustResetPassword\"] = this.mustResetPassword;\n data[\"defaultRoute\"] = this.defaultRoute;\n data[\"mustChangePassword\"] = this.mustChangePassword;\n data[\"languageId\"] = this.languageId;\n data[\"password\"] = this.password;\n data[\"languageCode\"] = this.languageCode;\n data[\"token\"] = this.token;\n if (Array.isArray(this.departments)) {\n data[\"departments\"] = [];\n for (let item of this.departments)\n data[\"departments\"].push(item);\n }\n data[\"profile\"] = this.profile;\n data[\"platform\"] = this.platform;\n data[\"personId\"] = this.personId;\n return data;\n }\n}\n\nexport interface IUserDto {\n userId?: number;\n userProfileId?: number;\n email?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n active?: boolean;\n mustResetPassword?: boolean;\n defaultRoute?: string | undefined;\n mustChangePassword?: boolean;\n languageId?: number | undefined;\n password?: string | undefined;\n languageCode?: string | undefined;\n token?: string | undefined;\n departments?: number[] | undefined;\n profile?: EUserProfile | undefined;\n platform?: EPlatform;\n personId?: number | undefined;\n}\n\nexport class AuthenticateCommand implements IAuthenticateCommand {\n email?: string | undefined;\n password?: string | undefined;\n rememberMe?: boolean | undefined;\n platform?: EPlatform;\n formatStringForLogRequest?: string | undefined;\n\n constructor(data?: IAuthenticateCommand) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n this.password = _data[\"password\"];\n this.rememberMe = _data[\"rememberMe\"];\n this.platform = _data[\"platform\"];\n this.formatStringForLogRequest = _data[\"formatStringForLogRequest\"];\n }\n }\n\n static fromJS(data: any): AuthenticateCommand {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticateCommand();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n data[\"password\"] = this.password;\n data[\"rememberMe\"] = this.rememberMe;\n data[\"platform\"] = this.platform;\n data[\"formatStringForLogRequest\"] = this.formatStringForLogRequest;\n return data;\n }\n}\n\nexport interface IAuthenticateCommand {\n email?: string | undefined;\n password?: string | undefined;\n rememberMe?: boolean | undefined;\n platform?: EPlatform;\n formatStringForLogRequest?: string | undefined;\n}\n\nexport class UserProfileActionDto implements IUserProfileActionDto {\n module?: string | undefined;\n tab?: string | undefined;\n permission?: EPermission;\n\n constructor(data?: IUserProfileActionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.module = _data[\"module\"];\n this.tab = _data[\"tab\"];\n this.permission = _data[\"permission\"];\n }\n }\n\n static fromJS(data: any): UserProfileActionDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserProfileActionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"module\"] = this.module;\n data[\"tab\"] = this.tab;\n data[\"permission\"] = this.permission;\n return data;\n }\n}\n\nexport interface IUserProfileActionDto {\n module?: string | undefined;\n tab?: string | undefined;\n permission?: EPermission;\n}\n\nexport class PaginatedResultsOfVeterinaryClinicDto implements IPaginatedResultsOfVeterinaryClinicDto {\n totalCount?: number;\n results?: VeterinaryClinicDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfVeterinaryClinicDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(VeterinaryClinicDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfVeterinaryClinicDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfVeterinaryClinicDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfVeterinaryClinicDto {\n totalCount?: number;\n results?: VeterinaryClinicDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class VeterinaryClinicDto implements IVeterinaryClinicDto {\n clinicVeterinaryId?: number;\n veterinaryId?: number;\n clinicId?: number;\n clinicName?: string | undefined;\n name?: string | undefined;\n veterinaryPersonId?: number;\n\n constructor(data?: IVeterinaryClinicDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clinicVeterinaryId = _data[\"clinicVeterinaryId\"];\n this.veterinaryId = _data[\"veterinaryId\"];\n this.clinicId = _data[\"clinicId\"];\n this.clinicName = _data[\"clinicName\"];\n this.name = _data[\"name\"];\n this.veterinaryPersonId = _data[\"veterinaryPersonId\"];\n }\n }\n\n static fromJS(data: any): VeterinaryClinicDto {\n data = typeof data === 'object' ? data : {};\n let result = new VeterinaryClinicDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clinicVeterinaryId\"] = this.clinicVeterinaryId;\n data[\"veterinaryId\"] = this.veterinaryId;\n data[\"clinicId\"] = this.clinicId;\n data[\"clinicName\"] = this.clinicName;\n data[\"name\"] = this.name;\n data[\"veterinaryPersonId\"] = this.veterinaryPersonId;\n return data;\n }\n}\n\nexport interface IVeterinaryClinicDto {\n clinicVeterinaryId?: number;\n veterinaryId?: number;\n clinicId?: number;\n clinicName?: string | undefined;\n name?: string | undefined;\n veterinaryPersonId?: number;\n}\n\nexport class VeterinaryClinicSearch extends PaginatedSearch implements IVeterinaryClinicSearch {\n languageId?: number;\n clinicVeterinaryId?: number;\n veterinaryId?: number;\n name?: TextSearch | undefined;\n clinicId?: number;\n\n constructor(data?: IVeterinaryClinicSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.clinicVeterinaryId = _data[\"clinicVeterinaryId\"];\n this.veterinaryId = _data[\"veterinaryId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n this.clinicId = _data[\"clinicId\"];\n }\n }\n\n static fromJS(data: any): VeterinaryClinicSearch {\n data = typeof data === 'object' ? data : {};\n let result = new VeterinaryClinicSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"clinicVeterinaryId\"] = this.clinicVeterinaryId;\n data[\"veterinaryId\"] = this.veterinaryId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n data[\"clinicId\"] = this.clinicId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVeterinaryClinicSearch extends IPaginatedSearch {\n languageId?: number;\n clinicVeterinaryId?: number;\n veterinaryId?: number;\n name?: TextSearch | undefined;\n clinicId?: number;\n}\n\nexport class SaveVeterinaryClinicDto implements ISaveVeterinaryClinicDto {\n veterinaryId?: number;\n clinicId?: number;\n\n constructor(data?: ISaveVeterinaryClinicDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.veterinaryId = _data[\"veterinaryId\"];\n this.clinicId = _data[\"clinicId\"];\n }\n }\n\n static fromJS(data: any): SaveVeterinaryClinicDto {\n data = typeof data === 'object' ? data : {};\n let result = new SaveVeterinaryClinicDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"veterinaryId\"] = this.veterinaryId;\n data[\"clinicId\"] = this.clinicId;\n return data;\n }\n}\n\nexport interface ISaveVeterinaryClinicDto {\n veterinaryId?: number;\n clinicId?: number;\n}\n\nexport class PaginatedResultsOfVeterinaryGridDto implements IPaginatedResultsOfVeterinaryGridDto {\n totalCount?: number;\n results?: VeterinaryGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfVeterinaryGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(VeterinaryGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfVeterinaryGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfVeterinaryGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfVeterinaryGridDto {\n totalCount?: number;\n results?: VeterinaryGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class VeterinaryGridDto implements IVeterinaryGridDto {\n veterinaryId?: number;\n personId?: number;\n lastName?: string | undefined;\n firstName?: string | undefined;\n name?: string | undefined;\n\n constructor(data?: IVeterinaryGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.veterinaryId = _data[\"veterinaryId\"];\n this.personId = _data[\"personId\"];\n this.lastName = _data[\"lastName\"];\n this.firstName = _data[\"firstName\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): VeterinaryGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new VeterinaryGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"veterinaryId\"] = this.veterinaryId;\n data[\"personId\"] = this.personId;\n data[\"lastName\"] = this.lastName;\n data[\"firstName\"] = this.firstName;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IVeterinaryGridDto {\n veterinaryId?: number;\n personId?: number;\n lastName?: string | undefined;\n firstName?: string | undefined;\n name?: string | undefined;\n}\n\nexport class AvailableVeterinaryForClinicSearch extends PaginatedSearch implements IAvailableVeterinaryForClinicSearch {\n languageId?: number;\n veterinaryId?: number;\n clinicId?: number;\n personId?: number;\n name?: TextSearch | undefined;\n\n constructor(data?: IAvailableVeterinaryForClinicSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.veterinaryId = _data[\"veterinaryId\"];\n this.clinicId = _data[\"clinicId\"];\n this.personId = _data[\"personId\"];\n this.name = _data[\"name\"] ? TextSearch.fromJS(_data[\"name\"]) : undefined;\n }\n }\n\n static fromJS(data: any): AvailableVeterinaryForClinicSearch {\n data = typeof data === 'object' ? data : {};\n let result = new AvailableVeterinaryForClinicSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"veterinaryId\"] = this.veterinaryId;\n data[\"clinicId\"] = this.clinicId;\n data[\"personId\"] = this.personId;\n data[\"name\"] = this.name ? this.name.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IAvailableVeterinaryForClinicSearch extends IPaginatedSearch {\n languageId?: number;\n veterinaryId?: number;\n clinicId?: number;\n personId?: number;\n name?: TextSearch | undefined;\n}\n\nexport class PaginatedResultsOfClinicDto implements IPaginatedResultsOfClinicDto {\n totalCount?: number;\n results?: ClinicDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfClinicDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ClinicDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfClinicDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfClinicDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfClinicDto {\n totalCount?: number;\n results?: ClinicDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class VeterinarySearch extends PaginatedSearch implements IVeterinarySearch {\n veterinaryId?: number;\n\n constructor(data?: IVeterinarySearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.veterinaryId = _data[\"veterinaryId\"];\n }\n }\n\n static fromJS(data: any): VeterinarySearch {\n data = typeof data === 'object' ? data : {};\n let result = new VeterinarySearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"veterinaryId\"] = this.veterinaryId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVeterinarySearch extends IPaginatedSearch {\n veterinaryId?: number;\n}\n\nexport class WebUserDto implements IWebUserDto {\n webUserId?: number;\n personId?: number;\n mustChangePassword?: boolean;\n active?: boolean;\n password?: string | undefined;\n lastConnectionDate?: Date | undefined;\n\n constructor(data?: IWebUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.webUserId = _data[\"webUserId\"];\n this.personId = _data[\"personId\"];\n this.mustChangePassword = _data[\"mustChangePassword\"];\n this.active = _data[\"active\"];\n this.password = _data[\"password\"];\n this.lastConnectionDate = _data[\"lastConnectionDate\"] ? new Date(_data[\"lastConnectionDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): WebUserDto {\n data = typeof data === 'object' ? data : {};\n let result = new WebUserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"webUserId\"] = this.webUserId;\n data[\"personId\"] = this.personId;\n data[\"mustChangePassword\"] = this.mustChangePassword;\n data[\"active\"] = this.active;\n data[\"password\"] = this.password;\n data[\"lastConnectionDate\"] = this.lastConnectionDate ? this.lastConnectionDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IWebUserDto {\n webUserId?: number;\n personId?: number;\n mustChangePassword?: boolean;\n active?: boolean;\n password?: string | undefined;\n lastConnectionDate?: Date | undefined;\n}\n\nexport class DrupalWebUserDto implements IDrupalWebUserDto {\n personId?: number;\n personHonorificId?: number | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n languageId?: number;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n remark?: string | undefined;\n email?: string | undefined;\n password?: string | undefined;\n\n constructor(data?: IDrupalWebUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.personId = _data[\"personId\"];\n this.personHonorificId = _data[\"personHonorificId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.languageId = _data[\"languageId\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\n this.number = _data[\"number\"];\n this.street = _data[\"street\"];\n this.postalCode = _data[\"postalCode\"];\n this.city = _data[\"city\"];\n this.countryId = _data[\"countryId\"];\n this.remark = _data[\"remark\"];\n this.email = _data[\"email\"];\n this.password = _data[\"password\"];\n }\n }\n\n static fromJS(data: any): DrupalWebUserDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalWebUserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"personId\"] = this.personId;\n data[\"personHonorificId\"] = this.personHonorificId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"languageId\"] = this.languageId;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\n data[\"number\"] = this.number;\n data[\"street\"] = this.street;\n data[\"postalCode\"] = this.postalCode;\n data[\"city\"] = this.city;\n data[\"countryId\"] = this.countryId;\n data[\"remark\"] = this.remark;\n data[\"email\"] = this.email;\n data[\"password\"] = this.password;\n return data;\n }\n}\n\nexport interface IDrupalWebUserDto {\n personId?: number;\n personHonorificId?: number | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n languageId?: number;\n phoneNumber?: string | undefined;\n mobilePhoneNumber?: string | undefined;\n number?: string | undefined;\n street?: string | undefined;\n postalCode?: string | undefined;\n city?: string | undefined;\n countryId?: number | undefined;\n remark?: string | undefined;\n email?: string | undefined;\n password?: string | undefined;\n}\n\nexport class PaginatedResultsOfWorkAttestRequestGridDto implements IPaginatedResultsOfWorkAttestRequestGridDto {\n totalCount?: number;\n results?: WorkAttestRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfWorkAttestRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(WorkAttestRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfWorkAttestRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfWorkAttestRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfWorkAttestRequestGridDto {\n totalCount?: number;\n results?: WorkAttestRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class WorkAttestRequestGridDto implements IWorkAttestRequestGridDto {\n workAttestRequestId?: number;\n requestId?: number;\n requestState?: string | undefined;\n requestStateId?: number;\n requestStateCode?: ERequestState;\n personId?: number;\n contact?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n dog?: string | undefined;\n dogId?: number;\n competitionDate?: Date;\n competitionCountry?: string | undefined;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IWorkAttestRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workAttestRequestId = _data[\"workAttestRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestState = _data[\"requestState\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.personId = _data[\"personId\"];\n this.contact = _data[\"contact\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.dog = _data[\"dog\"];\n this.dogId = _data[\"dogId\"];\n this.competitionDate = _data[\"competitionDate\"] ? new Date(_data[\"competitionDate\"].toString()) : undefined;\n this.competitionCountry = _data[\"competitionCountry\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): WorkAttestRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkAttestRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workAttestRequestId\"] = this.workAttestRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestState\"] = this.requestState;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"personId\"] = this.personId;\n data[\"contact\"] = this.contact;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"dog\"] = this.dog;\n data[\"dogId\"] = this.dogId;\n data[\"competitionDate\"] = this.competitionDate ? this.competitionDate.toISOString() : undefined;\n data[\"competitionCountry\"] = this.competitionCountry;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IWorkAttestRequestGridDto {\n workAttestRequestId?: number;\n requestId?: number;\n requestState?: string | undefined;\n requestStateId?: number;\n requestStateCode?: ERequestState;\n personId?: number;\n contact?: string | undefined;\n requestNumber?: string | undefined;\n requestDate?: Date;\n dog?: string | undefined;\n dogId?: number;\n competitionDate?: Date;\n competitionCountry?: string | undefined;\n isBlocked?: boolean;\n invoiceNumber?: string | undefined;\n}\n\nexport class WorkAttestRequestSearch extends PaginatedSearch implements IWorkAttestRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n competitionCountry?: TextSearch | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IWorkAttestRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.dog = _data[\"dog\"] ? TextSearch.fromJS(_data[\"dog\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.competitionCountry = _data[\"competitionCountry\"] ? TextSearch.fromJS(_data[\"competitionCountry\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): WorkAttestRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new WorkAttestRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"dog\"] = this.dog ? this.dog.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"competitionCountry\"] = this.competitionCountry ? this.competitionCountry.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IWorkAttestRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n dog?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n competitionCountry?: TextSearch | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class WorkAttestationRequestDto implements IWorkAttestationRequestDto {\n request?: RequestDto | undefined;\n requestId?: number;\n workAttestationRequestId?: number;\n dogId?: number;\n competitionDate?: Date;\n competitionCountryId?: number;\n competitionPoints?: string | undefined;\n competitionJudge?: string | undefined;\n competitionCity?: string | undefined;\n competitionCountry?: string | undefined;\n competitionType?: string | undefined;\n dogSharepointUri?: string | undefined;\n\n constructor(data?: IWorkAttestationRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n this.requestId = _data[\"requestId\"];\n this.workAttestationRequestId = _data[\"workAttestationRequestId\"];\n this.dogId = _data[\"dogId\"];\n this.competitionDate = _data[\"competitionDate\"] ? new Date(_data[\"competitionDate\"].toString()) : undefined;\n this.competitionCountryId = _data[\"competitionCountryId\"];\n this.competitionPoints = _data[\"competitionPoints\"];\n this.competitionJudge = _data[\"competitionJudge\"];\n this.competitionCity = _data[\"competitionCity\"];\n this.competitionCountry = _data[\"competitionCountry\"];\n this.competitionType = _data[\"competitionType\"];\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n }\n }\n\n static fromJS(data: any): WorkAttestationRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkAttestationRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n data[\"requestId\"] = this.requestId;\n data[\"workAttestationRequestId\"] = this.workAttestationRequestId;\n data[\"dogId\"] = this.dogId;\n data[\"competitionDate\"] = this.competitionDate ? this.competitionDate.toISOString() : undefined;\n data[\"competitionCountryId\"] = this.competitionCountryId;\n data[\"competitionPoints\"] = this.competitionPoints;\n data[\"competitionJudge\"] = this.competitionJudge;\n data[\"competitionCity\"] = this.competitionCity;\n data[\"competitionCountry\"] = this.competitionCountry;\n data[\"competitionType\"] = this.competitionType;\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n return data;\n }\n}\n\nexport interface IWorkAttestationRequestDto {\n request?: RequestDto | undefined;\n requestId?: number;\n workAttestationRequestId?: number;\n dogId?: number;\n competitionDate?: Date;\n competitionCountryId?: number;\n competitionPoints?: string | undefined;\n competitionJudge?: string | undefined;\n competitionCity?: string | undefined;\n competitionCountry?: string | undefined;\n competitionType?: string | undefined;\n dogSharepointUri?: string | undefined;\n}\n\nexport class WorkbookIconDto implements IWorkbookIconDto {\n hasPedigree?: boolean;\n color?: string | undefined;\n\n constructor(data?: IWorkbookIconDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.hasPedigree = _data[\"hasPedigree\"];\n this.color = _data[\"color\"];\n }\n }\n\n static fromJS(data: any): WorkbookIconDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookIconDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"hasPedigree\"] = this.hasPedigree;\n data[\"color\"] = this.color;\n return data;\n }\n}\n\nexport interface IWorkbookIconDto {\n hasPedigree?: boolean;\n color?: string | undefined;\n}\n\nexport class PaginatedResultsOfWorkbookRequestGridDto implements IPaginatedResultsOfWorkbookRequestGridDto {\n totalCount?: number;\n results?: WorkbookRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfWorkbookRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(WorkbookRequestGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfWorkbookRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfWorkbookRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfWorkbookRequestGridDto {\n totalCount?: number;\n results?: WorkbookRequestGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class WorkbookRequestGridDto implements IWorkbookRequestGridDto {\n workbookRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n personId?: number;\n dogId?: number;\n clubId?: number;\n requestStateId?: number;\n isBlocked?: boolean;\n requestNumber?: string | undefined;\n parentRequestNumber?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequestType?: ERequestType | undefined;\n requestDate?: Date;\n requestState?: string | undefined;\n dog?: string | undefined;\n contact?: string | undefined;\n club?: string | undefined;\n workbook?: string | undefined;\n invoiceNumber?: string | undefined;\n\n constructor(data?: IWorkbookRequestGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookRequestId = _data[\"workbookRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.requestStateCode = _data[\"requestStateCode\"];\n this.personId = _data[\"personId\"];\n this.dogId = _data[\"dogId\"];\n this.clubId = _data[\"clubId\"];\n this.requestStateId = _data[\"requestStateId\"];\n this.isBlocked = _data[\"isBlocked\"];\n this.requestNumber = _data[\"requestNumber\"];\n this.parentRequestNumber = _data[\"parentRequestNumber\"];\n this.parentRequestId = _data[\"parentRequestId\"];\n this.parentRequestType = _data[\"parentRequestType\"];\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\n this.requestState = _data[\"requestState\"];\n this.dog = _data[\"dog\"];\n this.contact = _data[\"contact\"];\n this.club = _data[\"club\"];\n this.workbook = _data[\"workbook\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n }\n }\n\n static fromJS(data: any): WorkbookRequestGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookRequestGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookRequestId\"] = this.workbookRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"requestStateCode\"] = this.requestStateCode;\n data[\"personId\"] = this.personId;\n data[\"dogId\"] = this.dogId;\n data[\"clubId\"] = this.clubId;\n data[\"requestStateId\"] = this.requestStateId;\n data[\"isBlocked\"] = this.isBlocked;\n data[\"requestNumber\"] = this.requestNumber;\n data[\"parentRequestNumber\"] = this.parentRequestNumber;\n data[\"parentRequestId\"] = this.parentRequestId;\n data[\"parentRequestType\"] = this.parentRequestType;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\n data[\"requestState\"] = this.requestState;\n data[\"dog\"] = this.dog;\n data[\"contact\"] = this.contact;\n data[\"club\"] = this.club;\n data[\"workbook\"] = this.workbook;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n return data;\n }\n}\n\nexport interface IWorkbookRequestGridDto {\n workbookRequestId?: number;\n requestId?: number;\n requestStateCode?: ERequestState;\n personId?: number;\n dogId?: number;\n clubId?: number;\n requestStateId?: number;\n isBlocked?: boolean;\n requestNumber?: string | undefined;\n parentRequestNumber?: string | undefined;\n parentRequestId?: number | undefined;\n parentRequestType?: ERequestType | undefined;\n requestDate?: Date;\n requestState?: string | undefined;\n dog?: string | undefined;\n contact?: string | undefined;\n club?: string | undefined;\n workbook?: string | undefined;\n invoiceNumber?: string | undefined;\n}\n\nexport class WorkbookRequestSearch extends PaginatedSearch implements IWorkbookRequestSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n club?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n\n constructor(data?: IWorkbookRequestSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.languageId = _data[\"languageId\"];\n this.requestNumber = _data[\"requestNumber\"] ? TextSearch.fromJS(_data[\"requestNumber\"]) : undefined;\n this.contact = _data[\"contact\"] ? TextSearch.fromJS(_data[\"contact\"]) : undefined;\n this.club = _data[\"club\"] ? TextSearch.fromJS(_data[\"club\"]) : undefined;\n this.requestDate = _data[\"requestDate\"] ? DateSearch.fromJS(_data[\"requestDate\"]) : undefined;\n this.requestStateId = _data[\"requestStateId\"] ? ListSearchOfNullableInteger.fromJS(_data[\"requestStateId\"]) : undefined;\n this.isBlocked = _data[\"isBlocked\"] ? BooleanSearch.fromJS(_data[\"isBlocked\"]) : undefined;\n this.invoiceNumber = _data[\"invoiceNumber\"] ? TextSearch.fromJS(_data[\"invoiceNumber\"]) : undefined;\n }\n }\n\n static fromJS(data: any): WorkbookRequestSearch {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookRequestSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageId\"] = this.languageId;\n data[\"requestNumber\"] = this.requestNumber ? this.requestNumber.toJSON() : undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : undefined;\n data[\"club\"] = this.club ? this.club.toJSON() : undefined;\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toJSON() : undefined;\n data[\"requestStateId\"] = this.requestStateId ? this.requestStateId.toJSON() : undefined;\n data[\"isBlocked\"] = this.isBlocked ? this.isBlocked.toJSON() : undefined;\n data[\"invoiceNumber\"] = this.invoiceNumber ? this.invoiceNumber.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IWorkbookRequestSearch extends IPaginatedSearch {\n languageId?: number;\n requestNumber?: TextSearch | undefined;\n contact?: TextSearch | undefined;\n club?: TextSearch | undefined;\n requestDate?: DateSearch | undefined;\n requestStateId?: ListSearchOfNullableInteger | undefined;\n isBlocked?: BooleanSearch | undefined;\n invoiceNumber?: TextSearch | undefined;\n}\n\nexport class WorkbookRequestDto implements IWorkbookRequestDto {\n workbookRequestId?: number;\n requestId?: number;\n dogId?: number;\n clubId?: number | undefined;\n dogSharepointUri?: string | undefined;\n registeredLetter?: boolean;\n request?: RequestDto | undefined;\n transientWorkbooksGridDtos?: TransientWorkbookGridDto[] | undefined;\n\n constructor(data?: IWorkbookRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookRequestId = _data[\"workbookRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.clubId = _data[\"clubId\"];\n this.dogSharepointUri = _data[\"dogSharepointUri\"];\n this.registeredLetter = _data[\"registeredLetter\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"transientWorkbooksGridDtos\"])) {\n this.transientWorkbooksGridDtos = [] as any;\n for (let item of _data[\"transientWorkbooksGridDtos\"])\n this.transientWorkbooksGridDtos!.push(TransientWorkbookGridDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): WorkbookRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookRequestId\"] = this.workbookRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"clubId\"] = this.clubId;\n data[\"dogSharepointUri\"] = this.dogSharepointUri;\n data[\"registeredLetter\"] = this.registeredLetter;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.transientWorkbooksGridDtos)) {\n data[\"transientWorkbooksGridDtos\"] = [];\n for (let item of this.transientWorkbooksGridDtos)\n data[\"transientWorkbooksGridDtos\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IWorkbookRequestDto {\n workbookRequestId?: number;\n requestId?: number;\n dogId?: number;\n clubId?: number | undefined;\n dogSharepointUri?: string | undefined;\n registeredLetter?: boolean;\n request?: RequestDto | undefined;\n transientWorkbooksGridDtos?: TransientWorkbookGridDto[] | undefined;\n}\n\nexport class DrupalWorkbookRequestDto implements IDrupalWorkbookRequestDto {\n workbookRequestId?: number;\n requestId?: number;\n dogId?: number;\n clubId?: number | undefined;\n request?: RequestDto | undefined;\n transientWorkbooksGridDtos?: TransientWorkbookGridDto[] | undefined;\n\n constructor(data?: IDrupalWorkbookRequestDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookRequestId = _data[\"workbookRequestId\"];\n this.requestId = _data[\"requestId\"];\n this.dogId = _data[\"dogId\"];\n this.clubId = _data[\"clubId\"];\n this.request = _data[\"request\"] ? RequestDto.fromJS(_data[\"request\"]) : undefined;\n if (Array.isArray(_data[\"transientWorkbooksGridDtos\"])) {\n this.transientWorkbooksGridDtos = [] as any;\n for (let item of _data[\"transientWorkbooksGridDtos\"])\n this.transientWorkbooksGridDtos!.push(TransientWorkbookGridDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): DrupalWorkbookRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new DrupalWorkbookRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookRequestId\"] = this.workbookRequestId;\n data[\"requestId\"] = this.requestId;\n data[\"dogId\"] = this.dogId;\n data[\"clubId\"] = this.clubId;\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\n if (Array.isArray(this.transientWorkbooksGridDtos)) {\n data[\"transientWorkbooksGridDtos\"] = [];\n for (let item of this.transientWorkbooksGridDtos)\n data[\"transientWorkbooksGridDtos\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IDrupalWorkbookRequestDto {\n workbookRequestId?: number;\n requestId?: number;\n dogId?: number;\n clubId?: number | undefined;\n request?: RequestDto | undefined;\n transientWorkbooksGridDtos?: TransientWorkbookGridDto[] | undefined;\n}\n\nexport class PaginatedResultsOfWorkbookTypeGridDto implements IPaginatedResultsOfWorkbookTypeGridDto {\n totalCount?: number;\n results?: WorkbookTypeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n\n constructor(data?: IPaginatedResultsOfWorkbookTypeGridDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(WorkbookTypeGridDto.fromJS(item));\n }\n if (Array.isArray(_data[\"aggregateResults\"])) {\n this.aggregateResults = [] as any;\n for (let item of _data[\"aggregateResults\"])\n this.aggregateResults!.push(IAggregateResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PaginatedResultsOfWorkbookTypeGridDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResultsOfWorkbookTypeGridDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n if (Array.isArray(this.aggregateResults)) {\n data[\"aggregateResults\"] = [];\n for (let item of this.aggregateResults)\n data[\"aggregateResults\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPaginatedResultsOfWorkbookTypeGridDto {\n totalCount?: number;\n results?: WorkbookTypeGridDto[] | undefined;\n aggregateResults?: IAggregateResult[] | undefined;\n}\n\nexport class WorkbookTypeSearch extends SelectorSearchOfInteger implements IWorkbookTypeSearch {\n workbookColorId?: ListSearchOfInteger | undefined;\n description?: TextSearch | undefined;\n hasPedigree?: BooleanSearch | undefined;\n canGiveWorkCertificate?: BooleanSearch | undefined;\n languageId?: number;\n\n constructor(data?: IWorkbookTypeSearch) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.workbookColorId = _data[\"workbookColorId\"] ? ListSearchOfInteger.fromJS(_data[\"workbookColorId\"]) : undefined;\n this.description = _data[\"description\"] ? TextSearch.fromJS(_data[\"description\"]) : undefined;\n this.hasPedigree = _data[\"hasPedigree\"] ? BooleanSearch.fromJS(_data[\"hasPedigree\"]) : undefined;\n this.canGiveWorkCertificate = _data[\"canGiveWorkCertificate\"] ? BooleanSearch.fromJS(_data[\"canGiveWorkCertificate\"]) : undefined;\n this.languageId = _data[\"languageId\"];\n }\n }\n\n static fromJS(data: any): WorkbookTypeSearch {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookTypeSearch();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookColorId\"] = this.workbookColorId ? this.workbookColorId.toJSON() : undefined;\n data[\"description\"] = this.description ? this.description.toJSON() : undefined;\n data[\"hasPedigree\"] = this.hasPedigree ? this.hasPedigree.toJSON() : undefined;\n data[\"canGiveWorkCertificate\"] = this.canGiveWorkCertificate ? this.canGiveWorkCertificate.toJSON() : undefined;\n data[\"languageId\"] = this.languageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IWorkbookTypeSearch extends ISelectorSearchOfInteger {\n workbookColorId?: ListSearchOfInteger | undefined;\n description?: TextSearch | undefined;\n hasPedigree?: BooleanSearch | undefined;\n canGiveWorkCertificate?: BooleanSearch | undefined;\n languageId?: number;\n}\n\nexport abstract class FilterCriteriaBaseOfEListSearchTypeAndInteger implements IFilterCriteriaBaseOfEListSearchTypeAndInteger {\n criterias?: CombinableCriteriaOfEListSearchTypeAndInteger[] | undefined;\n searchMode?: EListSearchType;\n value?: number;\n secondaryValue?: number;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n\n constructor(data?: IFilterCriteriaBaseOfEListSearchTypeAndInteger) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"criterias\"])) {\n this.criterias = [] as any;\n for (let item of _data[\"criterias\"])\n this.criterias!.push(CombinableCriteriaOfEListSearchTypeAndInteger.fromJS(item));\n }\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n if (Array.isArray(_data[\"availableSearchTypes\"])) {\n this.availableSearchTypes = [] as any;\n for (let item of _data[\"availableSearchTypes\"])\n this.availableSearchTypes!.push(item);\n }\n this.defaultSearchType = _data[\"defaultSearchType\"];\n }\n }\n\n static fromJS(data: any): FilterCriteriaBaseOfEListSearchTypeAndInteger {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'FilterCriteriaBaseOfEListSearchTypeAndInteger' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.criterias)) {\n data[\"criterias\"] = [];\n for (let item of this.criterias)\n data[\"criterias\"].push(item.toJSON());\n }\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n if (Array.isArray(this.availableSearchTypes)) {\n data[\"availableSearchTypes\"] = [];\n for (let item of this.availableSearchTypes)\n data[\"availableSearchTypes\"].push(item);\n }\n data[\"defaultSearchType\"] = this.defaultSearchType;\n return data;\n }\n}\n\nexport interface IFilterCriteriaBaseOfEListSearchTypeAndInteger {\n criterias?: CombinableCriteriaOfEListSearchTypeAndInteger[] | undefined;\n searchMode?: EListSearchType;\n value?: number;\n secondaryValue?: number;\n availableSearchTypes?: string[] | undefined;\n defaultSearchType?: string | undefined;\n}\n\nexport class ListSearchOfInteger extends FilterCriteriaBaseOfEListSearchTypeAndInteger implements IListSearchOfInteger {\n\n constructor(data?: IListSearchOfInteger) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ListSearchOfInteger {\n data = typeof data === 'object' ? data : {};\n let result = new ListSearchOfInteger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IListSearchOfInteger extends IFilterCriteriaBaseOfEListSearchTypeAndInteger {\n}\n\nexport class CombinableCriteriaOfEListSearchTypeAndInteger implements ICombinableCriteriaOfEListSearchTypeAndInteger {\n searchMode?: EListSearchType;\n value?: number;\n secondaryValue?: number;\n\n constructor(data?: ICombinableCriteriaOfEListSearchTypeAndInteger) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.searchMode = _data[\"searchMode\"];\n this.value = _data[\"value\"];\n this.secondaryValue = _data[\"secondaryValue\"];\n }\n }\n\n static fromJS(data: any): CombinableCriteriaOfEListSearchTypeAndInteger {\n data = typeof data === 'object' ? data : {};\n let result = new CombinableCriteriaOfEListSearchTypeAndInteger();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"searchMode\"] = this.searchMode;\n data[\"value\"] = this.value;\n data[\"secondaryValue\"] = this.secondaryValue;\n return data;\n }\n}\n\nexport interface ICombinableCriteriaOfEListSearchTypeAndInteger {\n searchMode?: EListSearchType;\n value?: number;\n secondaryValue?: number;\n}\n\nexport class WorkbookTypeDto implements IWorkbookTypeDto {\n workbookTypeId?: number;\n name?: string | undefined;\n workbookColorId?: number;\n articleId?: number;\n hasPedigree?: boolean;\n canGiveWorkCertificate?: boolean;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n sociabilityTest?: boolean;\n isSticker?: boolean;\n template?: EDocumentTemplate | undefined;\n workbookTypeTranslations?: WorkbookTypeTranslationDto[] | undefined;\n\n constructor(data?: IWorkbookTypeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.name = _data[\"name\"];\n this.workbookColorId = _data[\"workbookColorId\"];\n this.articleId = _data[\"articleId\"];\n this.hasPedigree = _data[\"hasPedigree\"];\n this.canGiveWorkCertificate = _data[\"canGiveWorkCertificate\"];\n this.remark = _data[\"remark\"];\n this.cegekaId = _data[\"cegekaId\"];\n this.sociabilityTest = _data[\"sociabilityTest\"];\n this.isSticker = _data[\"isSticker\"];\n this.template = _data[\"template\"];\n if (Array.isArray(_data[\"workbookTypeTranslations\"])) {\n this.workbookTypeTranslations = [] as any;\n for (let item of _data[\"workbookTypeTranslations\"])\n this.workbookTypeTranslations!.push(WorkbookTypeTranslationDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): WorkbookTypeDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookTypeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"name\"] = this.name;\n data[\"workbookColorId\"] = this.workbookColorId;\n data[\"articleId\"] = this.articleId;\n data[\"hasPedigree\"] = this.hasPedigree;\n data[\"canGiveWorkCertificate\"] = this.canGiveWorkCertificate;\n data[\"remark\"] = this.remark;\n data[\"cegekaId\"] = this.cegekaId;\n data[\"sociabilityTest\"] = this.sociabilityTest;\n data[\"isSticker\"] = this.isSticker;\n data[\"template\"] = this.template;\n if (Array.isArray(this.workbookTypeTranslations)) {\n data[\"workbookTypeTranslations\"] = [];\n for (let item of this.workbookTypeTranslations)\n data[\"workbookTypeTranslations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IWorkbookTypeDto {\n workbookTypeId?: number;\n name?: string | undefined;\n workbookColorId?: number;\n articleId?: number;\n hasPedigree?: boolean;\n canGiveWorkCertificate?: boolean;\n remark?: string | undefined;\n cegekaId?: string | undefined;\n sociabilityTest?: boolean;\n isSticker?: boolean;\n template?: EDocumentTemplate | undefined;\n workbookTypeTranslations?: WorkbookTypeTranslationDto[] | undefined;\n}\n\nexport class WorkbookTypeTranslationDto implements IWorkbookTypeTranslationDto {\n workbookTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n workbookTypeTranslationId?: number;\n\n constructor(data?: IWorkbookTypeTranslationDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.workbookTypeId = _data[\"workbookTypeId\"];\n this.languageId = _data[\"languageId\"];\n this.text = _data[\"text\"];\n this.workbookTypeTranslationId = _data[\"workbookTypeTranslationId\"];\n }\n }\n\n static fromJS(data: any): WorkbookTypeTranslationDto {\n data = typeof data === 'object' ? data : {};\n let result = new WorkbookTypeTranslationDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"workbookTypeId\"] = this.workbookTypeId;\n data[\"languageId\"] = this.languageId;\n data[\"text\"] = this.text;\n data[\"workbookTypeTranslationId\"] = this.workbookTypeTranslationId;\n return data;\n }\n}\n\nexport interface IWorkbookTypeTranslationDto {\n workbookTypeId?: number;\n languageId?: number;\n text?: string | undefined;\n workbookTypeTranslationId?: number;\n}\n\nexport class ZoolyxAuthenticateCommand implements IZoolyxAuthenticateCommand {\n username?: string | undefined;\n password?: string | undefined;\n\n constructor(data?: IZoolyxAuthenticateCommand) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.username = _data[\"username\"];\n this.password = _data[\"password\"];\n }\n }\n\n static fromJS(data: any): ZoolyxAuthenticateCommand {\n data = typeof data === 'object' ? data : {};\n let result = new ZoolyxAuthenticateCommand();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"username\"] = this.username;\n data[\"password\"] = this.password;\n return data;\n }\n}\n\nexport interface IZoolyxAuthenticateCommand {\n username?: string | undefined;\n password?: string | undefined;\n}\n\nexport class TestDateDto implements ITestDateDto {\n dateTime?: Date;\n\n constructor(data?: ITestDateDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dateTime = _data[\"dateTime\"] ? new Date(_data[\"dateTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): TestDateDto {\n data = typeof data === 'object' ? data : {};\n let result = new TestDateDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dateTime\"] = this.dateTime ? this.dateTime.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ITestDateDto {\n dateTime?: Date;\n}\n\nexport class HealthCheckViewModel implements IHealthCheckViewModel {\n globalStatus?: string | undefined;\n checkTime?: string | undefined;\n worstExecutionTime?: string | undefined;\n totalExecutionTime?: string | undefined;\n entries?: HealthCheckEntryViewModel[] | undefined;\n\n constructor(data?: IHealthCheckViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.globalStatus = _data[\"globalStatus\"];\n this.checkTime = _data[\"checkTime\"];\n this.worstExecutionTime = _data[\"worstExecutionTime\"];\n this.totalExecutionTime = _data[\"totalExecutionTime\"];\n if (Array.isArray(_data[\"entries\"])) {\n this.entries = [] as any;\n for (let item of _data[\"entries\"])\n this.entries!.push(HealthCheckEntryViewModel.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): HealthCheckViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new HealthCheckViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"globalStatus\"] = this.globalStatus;\n data[\"checkTime\"] = this.checkTime;\n data[\"worstExecutionTime\"] = this.worstExecutionTime;\n data[\"totalExecutionTime\"] = this.totalExecutionTime;\n if (Array.isArray(this.entries)) {\n data[\"entries\"] = [];\n for (let item of this.entries)\n data[\"entries\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IHealthCheckViewModel {\n globalStatus?: string | undefined;\n checkTime?: string | undefined;\n worstExecutionTime?: string | undefined;\n totalExecutionTime?: string | undefined;\n entries?: HealthCheckEntryViewModel[] | undefined;\n}\n\nexport class HealthCheckEntryViewModel implements IHealthCheckEntryViewModel {\n name?: string | undefined;\n description?: string | undefined;\n status?: string | undefined;\n statusDescription?: string | undefined;\n executionTime?: string | undefined;\n context?: { [key: string]: string[]; } | undefined;\n\n constructor(data?: IHealthCheckEntryViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.status = _data[\"status\"];\n this.statusDescription = _data[\"statusDescription\"];\n this.executionTime = _data[\"executionTime\"];\n if (_data[\"context\"]) {\n this.context = {} as any;\n for (let key in _data[\"context\"]) {\n if (_data[\"context\"].hasOwnProperty(key))\n (this.context)![key] = _data[\"context\"][key] !== undefined ? _data[\"context\"][key] : [];\n }\n }\n }\n }\n\n static fromJS(data: any): HealthCheckEntryViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new HealthCheckEntryViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"status\"] = this.status;\n data[\"statusDescription\"] = this.statusDescription;\n data[\"executionTime\"] = this.executionTime;\n if (this.context) {\n data[\"context\"] = {};\n for (let key in this.context) {\n if (this.context.hasOwnProperty(key))\n (data[\"context\"])[key] = (this.context)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IHealthCheckEntryViewModel {\n name?: string | undefined;\n description?: string | undefined;\n status?: string | undefined;\n statusDescription?: string | undefined;\n executionTime?: string | undefined;\n context?: { [key: string]: string[]; } | undefined;\n}\n\nexport class ClientApiKey implements IClientApiKey {\n clientName?: string | undefined;\n clientId?: string | undefined;\n apiKey?: string | undefined;\n hashedApiKey?: string | undefined;\n\n constructor(data?: IClientApiKey) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.clientName = _data[\"clientName\"];\n this.clientId = _data[\"clientId\"];\n this.apiKey = _data[\"apiKey\"];\n this.hashedApiKey = _data[\"hashedApiKey\"];\n }\n }\n\n static fromJS(data: any): ClientApiKey {\n data = typeof data === 'object' ? data : {};\n let result = new ClientApiKey();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"clientName\"] = this.clientName;\n data[\"clientId\"] = this.clientId;\n data[\"apiKey\"] = this.apiKey;\n data[\"hashedApiKey\"] = this.hashedApiKey;\n return data;\n }\n}\n\nexport interface IClientApiKey {\n clientName?: string | undefined;\n clientId?: string | undefined;\n apiKey?: string | undefined;\n hashedApiKey?: string | undefined;\n}\n\nexport interface FileParameter {\n data: any;\n fileName: string;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class SwaggerException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isSwaggerException = true;\n\n static isSwaggerException(obj: any): obj is SwaggerException {\n return obj.isSwaggerException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new SwaggerException(message, status, response, headers, null);\n}\n\nexport const BASE_PATH = \"http://localhost\".replace(/\\/+$/, \"\");\n\nexport type SetAbortControllerFn = (ctrl: AbortController) => void;\n\nexport interface Configuration {\n basePath?: string; // override base path\n headers?: HeadersInit;\n beforeRequest?(context: RequestInit): Promise;\n afterRequest?(response: Response): Promise;\n}\n\nexport type Json = any;\nexport type HTTPMethod = \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\" | \"OPTIONS\";\nexport type HTTPHeaders = { [key: string]: string };","export default \"__VITE_ASSET__44e81df3__\"","export default \"__VITE_ASSET__c17c10b5__\"","export default \"__VITE_ASSET__c86810f8__\"","export default \"__VITE_ASSET__f6975271__\"","export default \"__VITE_ASSET__f8173c88__\"","export default \"__VITE_ASSET__e50442be__\"","export default \"__VITE_ASSET__b5300291__\"","export default \"data:image/png;base64,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\"","export default \"__VITE_ASSET__1f8d0c82__\"","export default \"__VITE_ASSET__93f99e30__\"","export default \"__VITE_ASSET__a43ce3d6__\"","export default \"__VITE_ASSET__253eb192__\"","export default \"data:image/png;base64,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\"","export default \"__VITE_ASSET__924b2a80__\"","export default \"__VITE_ASSET__ea6bc6d6__\"","import nsiLogo from \"./nsi-logo.png\";\nimport nsiLogoWhite from \"./nsi_logo_white.png\";\nimport srshLogo from \"./SRSH_Care4Dogs_logo.png\";\nimport dogBg from \"./background-dog1.jpg\";\nimport dogBg2 from \"./dog_background.png\";\nimport dogIcon from \"./paw-print-.png\";\nimport sharepointLogo from \"./sharepoint-logo.png\";\nimport boneIcon from \"./boneIcon.png\";\nimport dogDefault from \"./dog_default.png\";\nimport downloadPdf from \"./downloadPdf.png\";\nimport dyslasie from \"./dysplasies.png\";\nimport puppies from \"./puppies.png\";\nimport cross from \"./x.png\";\nimport fci from \"./fci.png\";\nimport not_fci from \"./not_fci.png\";\n\nconst assets = {\n images: {\n nsiLogo,\n nsiLogoWhite,\n srshLogo,\n dogBg,\n dogBg2,\n dogIcon,\n sharepointLogo,\n boneIcon,\n dogDefault,\n downloadPdf,\n dyslasie,\n puppies,\n cross,\n fci,\n not_fci,\n },\n};\n\nexport default assets;\n","export enum EDrupalRoutes {\n login = \"/portalLogin\",\n logout = \"/portalLogout\",\n changePassword = \"/portalChangePassword\",\n forgottenPassword = \"/portalForgottenPassword\",\n register = \"/portalRegister\",\n portalNewCompetitionRequest = \"/portalNewCompetitionRequest\",\n // dashboard = \"/portalDashboard\",\n dog = \"/portalDog\",\n drupalPedigreeDuplicataRequest = \"/portalDrupalPedigreeDuplicataRequest\",\n requestList = \"/portalRequestlist\",\n newRequest = \"/portalNewrequest\",\n workbookRequest = \"/portalWorkbookrequest\",\n workAttestRequest = \"/portalWorkAttestRequest\",\n tempRshRequest = \"/portalTemprshrequest\",\n healthTestRequest = \"/portalHealthTestRequest\",\n titleRequest = \"/portalTitleRequest\",\n broodRequest = \"/portalBroodRequest\",\n rshRequest = \"/portalRshRequest\",\n membershipRequest = \"/portalMembershipRequest\",\n rishRequest = \"/portalRishRequest\",\n dogOwnershipChangeRequest = \"/portalDogOwnershipChangeRequest\",\n competitionRequest = \"/portalCompetitionRequest\",\n pedigreeDuplicataRequest = \"/portalPedigreeDuplicataRequest\",\n pedigreeRequest = \"/portalPedigreeRequest\",\n ImportRequst = \"/portalImportRequst\",\n miscellaneousRequest = \"/portalMiscellaneousRequest\",\n dysplasiaRequest = \"/portalDysplasiaRequest\",\n kennelImportRequest = \"/portalKennelImportRequest\",\n kennelOwnershipChangeRequest = \"/portalKennelOwnershipChangeRequest\",\n newKennelRequest = \"/portalNewKennelRequest\",\n kennelExportRequest = \"/portalKennelExportRequest\",\n kennelNameChangeRequest = \"/portalKennelNameChangeRequest\",\n breed = \"/portalBreed\",\n affix = \"/portalAffix\",\n competition = \"/portalCompetition\",\n judge = \"/portalJudge\",\n club = \"/portalClub\",\n babyDog = \"/portalBabyDog\",\n profile = \"/portalProfile\",\n genealogy = \"/portalGenealogy\",\n emailError = \"/portalEmailError\",\n crcb = \"/crcb\",\n}\n","export enum ERoutes {\n testdev = \"/test-devs\",\n breedGroups = \"/BreedGroups\",\n breeds = \"/breeds\",\n color = \"/color\",\n country = \"/country\",\n home = \"/home\",\n kennel = \"/kennel\",\n workbookType = \"/workbookType\",\n dog = \"/dog\",\n dashboard = \"/dashboard\",\n section = \"/section\",\n activity = \"/activity\",\n calendarYear = \"/calendarYear\",\n subActivity = \"/subActivity\",\n club = \"/Club\",\n translations = \"/translations\",\n people = \"/people\",\n clubRoles = \"/clubRoles\",\n characteristics = \"/characteristics\",\n characteristicValues = \"/CharacteristicValues\",\n titleType = \"/titleType\",\n requests = \"/requests\",\n pedigreeDuplicata = \"/pedigreeDuplicata\",\n rsh = \"/rshRequest\",\n rish = \"/rishRequest\",\n titleRequests = \"/titleRequests\",\n clinic = \"/clinic\",\n workbookRequest = \"/WorkbookRequest\",\n workAttestationRequest = \"/workAttestationRequest\",\n tempRsh = \"/tempRSHRequest\",\n user = \"/user\",\n importRequest = \"/importRequest\",\n unauthorized = \"/unauthorized\",\n permission = \"/permission\",\n unassignedRequests = \"/unassignedRequests\",\n assignedRequests = \"/assignedRequests\",\n membershipRequest = \"/membershipRequest\",\n article = \"/article\",\n dysplasiaRequest = \"/dysplasiaRequest\",\n membershipRenewal = \"/membershipRenewal\",\n appealDysplasia = \"/appealDysplasia\",\n commissionDysplasia = \"/commissionDysplasia\",\n competitionRequest = \"/competitionRequest\",\n competition = \"/competition\",\n affixRequest = \"/affixRequest\",\n affixExport = \"/affixExport\",\n affixImport = \"/affixImport\",\n healthPack = \"/healthPack\",\n healthTestRequest = \"/healthTestRequest\",\n broodRequest = \"/broodRequest\",\n email = \"/email\",\n miscellaneousRequest = \"/miscellaneousRequest\",\n gentCommission = \"/gentCommission\",\n personSplit = \"/personSplit\",\n personFusion = \"/personFusion\",\n dogFusion = \"/dogFusion\",\n documentTemplate = \"/documentTemplate\",\n mailAdmin = \"/mailAdmin\",\n changePassword = \"/changePassword\",\n reprintPedigree = \"/reprintPedigree\",\n report = \"/report\",\n expatriationRequest = \"/expatriationRequest\",\n language = \"/language\",\n}\n","export enum ELanguages {\n fr,\n en,\n nl,\n}\n","export enum ETLCodes {\n SearchCriteriaPanel_SearchModes_GreaterThanOrEquals,\n SearchCriteriaPanel_SearchModes_LessThanOrEquals,\n SearchCriteriaPanel_Yes,\n SearchCriteriaPanel_No,\n SearchCriteriaPanel_SearchModes_Greater,\n SearchCriteriaPanel_SearchModes_GreaterOrEquals,\n SearchCriteriaPanel_SearchModes_Less,\n SearchCriteriaPanel_SearchModes_LessOrEquals,\n SearchCriteriaPanel_RemoveAll,\n SearchCriteriaPanel_ReturnDefault,\n SearchPlaceholder,\n Home,\n RouteConfirmDialogTitle,\n SaveSuccess,\n Login_UserNameIsRequired,\n Login_PasswordIsRequired,\n General_UserName,\n General_Password,\n Error_BackendNotRecheable,\n Login,\n Error,\n DeleteSuccess,\n DeleteConfirmationMessage,\n DeleteDialogTitle,\n General_Add,\n TableResults,\n General_TableCriterias,\n QuickAccess,\n UnFixMenuTooltip,\n FixMenuTooltip,\n Menu,\n Logout,\n FormDirtyRouteChangeMessage,\n General_No,\n General_Yes,\n General_View,\n SendAnSMS,\n General_Save,\n General_Edit,\n General_Copy,\n General_GoBack,\n Search,\n General_Delete,\n Retour,\n Referential,\n Race,\n Age,\n PaysOrigine,\n IsoCode,\n Prefix,\n Pays,\n Chien,\n Breed,\n OfficialName,\n BreedGroupLabel,\n NameNL,\n NameFR,\n NameEN,\n Error_Login,\n BreedGroups,\n Dog,\n ActiveBreedsGroups,\n Breeds,\n Required,\n RequiredDate,\n InvalidDate,\n Libelle,\n New,\n Detail,\n ColorCode,\n Official,\n ReplacedBy,\n Colors,\n SearchCriteriaPanel_SearchModes_StartWith,\n SearchCriteriaPanel_SearchModes_EndWith,\n SearchCriteriaPanel_SearchModes_Contains,\n SearchCriteriaPanel_SearchModes_NotContains,\n SearchCriteriaPanel_SearchModes_Equals,\n SearchCriteriaPanel_Search,\n NameEn,\n Code,\n Active,\n LinkedBreeds,\n LinkedColors,\n IsMerle,\n Country,\n AS400Mapping,\n PedigreePrefix,\n DefaultCountry,\n Initiales,\n Kennel,\n Type,\n Name,\n Sport,\n WorkbookTypes,\n RecognizedColor,\n Color,\n HasPedigree,\n Description,\n Sufix,\n WorkbookType,\n General_Modify,\n BreedName,\n RefusedColors,\n Judges,\n Health,\n BreedCompatibility,\n Clubs,\n Owners,\n Dogs,\n FirstName,\n ChipNumber,\n LastName,\n Language,\n Email,\n PhoneNumber,\n MobilePhoneNumber,\n Pedigree,\n ColorForBreed,\n Identification1,\n Identification2,\n Pedigrees,\n LinkedFiles,\n Genealogy,\n Titles,\n TitleName,\n TitleType,\n Year,\n Number,\n OpeningDate,\n Contact,\n PedigreeNo,\n Resultat,\n General_Cancel,\n OwnerFrom,\n OwnerTo,\n CompleteName,\n BirthDate,\n Sex,\n CompletePedigree,\n Mother,\n Father,\n Modify,\n Dashboard,\n Abreviation,\n Sections,\n CalendarYear,\n NamingLetter,\n PaymentLimit,\n Section,\n Activity,\n Activities,\n SubActivities,\n AllowedBreeds,\n OfficialColor,\n Historique,\n Contest,\n Address,\n VATNumber,\n AccountNumber,\n PostalCode,\n Street,\n City,\n File,\n DogActionHistory,\n BreedGroupActionHistory,\n ActionHistoryBreedGroup,\n ActionHistoryDog,\n Role,\n People,\n Breeders,\n Translations,\n TranslationCode,\n LanguageCode,\n Text,\n Workbook,\n Counter,\n Identifier,\n WithPedigree,\n DeliveredOn,\n UnknownMother,\n UnknownFather,\n Export,\n Import,\n GoToSharePoint,\n SharePoint,\n AwaitingValidation,\n ReceivedDNA,\n DeathDate,\n Remark,\n Breeder,\n DockedTail,\n InternalNumber,\n Other,\n BreedNameEN,\n BreedNameFR,\n SocialBehaviour,\n Competition,\n BreedingAdmission,\n WorkCertificate,\n AmountTries,\n ExclusionReason,\n ExclusionEndDate,\n ExclusionStartDate,\n BreedNameNL,\n KnownBreed,\n AddPedigree,\n AddOwner,\n AttributionDate,\n ClosingDate,\n Agility,\n Grooming,\n SubjectToWork,\n StandardConfirmation,\n FromCombinaison,\n ShortenedTail,\n MerleColorAuthorized,\n Size,\n FileAffix,\n PublishingDate,\n CountryOfOrigin,\n Exclusion,\n Exception,\n Varieties,\n ClubRoles,\n ClubRoleNameNL,\n GlobalEmail,\n WebsiteAdresse,\n ProvisionalNumber,\n ProvisionalNumberDate,\n FinalNumberDate,\n FinalNumber,\n Addresses,\n HasLinkedBreed,\n Owner,\n Status,\n RequestDate,\n LinkedBroodFiles,\n RequestNumber,\n FciNumber,\n Jury,\n TerrainAddress,\n Province,\n SelectContact,\n SelectorAvailable,\n SelectorSelected,\n SelectSection,\n RequestState,\n RequestType,\n PedigreeSelection,\n OwnerSelection,\n Club,\n BreedGroupNumber,\n OwnerSelected,\n WorkbookColor,\n IsoAS400,\n Canine,\n SelectColor,\n PedigreePrefixes,\n InvalidEmail,\n AuthorizedBreeding,\n NotValidPostalCode,\n JudgeEmail,\n WorkbookEmail,\n Color1,\n Color2,\n RefusedColorsSelection,\n Results,\n Result,\n Title,\n Next,\n TitleSelection,\n CanGiveWorkCertificate,\n SectionSelection,\n Workbooks,\n Characteristic,\n Value,\n DateFrom,\n DateTo,\n Dysplasia,\n Characteristics,\n ErrorWhileImportingTranslations,\n TestType,\n HealthTests,\n CharacteristicType,\n Laboratory,\n FiliationControlled,\n FiliationCorrect,\n Value2,\n Value1,\n Marker,\n DnaMarkers,\n DnaTest,\n NotValidCharacteristicCode,\n TitleTypes,\n TableResults_Plural,\n YearAlreadyExists,\n ActionHistoryPerson,\n CharacteristicValues,\n IsoCodeAlreadyExists,\n SizeFrom,\n SizeTo,\n Countries,\n Kennels,\n CalendarYears,\n BreedGroupNumberAlreadyExists,\n WorkbookTypeAlreadyExists,\n CodeAlreadyExists,\n CompetitionDate,\n WithoutPedigree,\n ChooseXItems,\n UnChooseXItems,\n GeneralNoData,\n Select,\n LoginButton,\n Contacts,\n StreetNumber,\n MustBeANumber,\n ContactEmails,\n MustBeValidSeparatedEmail,\n SaveBreederConfirmation,\n SaveDialogTitle,\n BreederSelection,\n CharacteristicAndValueAlreadyExistsForDog,\n PedigreePrefixSelection,\n BreedVariety,\n BreedVarieties,\n BreedExceptions,\n BreedExceptionSelection,\n BreedException,\n BreedVarietySelection,\n Competitions,\n PedigreeExistsError,\n OwnerDateMustBeAfterDogBirthDate,\n IsAptForBeauty,\n IsAptForWork,\n Judge,\n IsBadPayer,\n BannedFrom,\n BannedTo,\n Salutation,\n EmailIsAlreadyInUse,\n AddAll,\n AddAllText,\n AddElementText,\n RemoveAll,\n RemoveAllText,\n RemoveElementText,\n IsCAMember,\n IsCEMember,\n IsCynologicCouncilMember,\n IsFCIDelegateMember,\n IsVDA,\n IsSupervisor,\n IsVolunteer,\n Membership,\n MemberFrom,\n MemberTo,\n MembershipHistory,\n WebUser,\n ResetPassword,\n ResetPasswordMessage,\n ResetPasswordTitle,\n MembershipDateExistsError,\n MemberToDateError,\n MembershipType,\n IsVet,\n VeterinaryNumber,\n IBAN,\n Veterinary,\n Request,\n Requests,\n ParentRequest,\n ForSelecion,\n WorkRequests,\n RSH,\n RISHRequests,\n TitleRequests,\n CloseRequestConfirmationMessage,\n CloseRequests,\n FilesClosedSuccess,\n CloseRequestSelectionEmpty,\n General_Ok,\n Clinic,\n HK,\n firmNameInvoicing,\n DogWorkbookWarning,\n PedigreeDuplicataRequests,\n Person,\n ActionHistoryClinic,\n AuthorizedVeterinary,\n PedigreeDuplicataRequest,\n History,\n Billing,\n SubRequests,\n Conditions,\n Verifications,\n MustBeOwnerOrBreeder,\n IsNotDogOwnerOrBreederMessage,\n Warning,\n KennelOwnershipHistory,\n Change,\n LockUnlock,\n RePrint,\n ClinicSelection,\n Clinics,\n DogOwnershipChangeRequest,\n MustBeValidHkNumber,\n MustBeValidIbanNumber,\n DogOwnershipChangeRequests,\n WorkJudgeEmail,\n TitleRequest,\n Date,\n YearMustBeBetweenBirthAndDeathError,\n OldOwnerAccord,\n PedigreeReceived,\n VerificationsToObtainBilledStatus,\n Ask,\n ShowAlive,\n HasSocialibilityTest,\n CanBeOwnerOrOtherPersonInformation,\n OwnerMustHaveAddressInBelgium,\n AllRequests,\n IsNotBelgianOwner,\n PrefixAlreadyExists,\n RISHRequest,\n Veterinarians,\n YearIsNotCorrect,\n MustBeValidDateUntilToday,\n Confirm,\n LinkedRequests,\n RequestAffix,\n LinkedBroodRequests,\n RequestsClosedSuccess,\n CancelRequestConfirmationMessage,\n CancelRequest,\n BreedSelection,\n MailAddress,\n WorkbookRequests,\n PaymentConfirmationMessage,\n PaymentStatusRequest,\n JudgeType,\n JudgeDateInternship,\n JudgeDateExcludedFrom,\n JudgeDateNomination,\n JudgeDateExcludedTo,\n SubActivity,\n SubActivitySelection,\n HideDead,\n Unblock,\n Block,\n WorkRequired,\n ActionHistoryPedigreeDuplicataRequest,\n ActionHistoryRish,\n ActionHistoryTitleRequest,\n ActionHistoryRsh,\n DogHasAnotherRequestError,\n PleaseSelectADogToEditOwners,\n DogInformations,\n PedigreeInformation,\n ParentInformations,\n OtherInformations,\n DogIsDeceased,\n ActionHistoryWorkbookRequest,\n WorkbookRequest,\n PleaseSelectDogToAddWorkbooks,\n WorkAttestationRequest,\n Points,\n Anyone,\n ActionHistoryWorkAttestationRequest,\n CompetitionCountry,\n ResultCopy,\n WorkbookCopy,\n CanineResponse,\n NewOwnerAccord,\n Force,\n MissingInformation,\n ConditionsForBillingStatus,\n Tatoo,\n Forced,\n DogIsNotBelgianWithPedigree,\n DogAlreadyHasTitle,\n ForceConditionConfirmationMessage,\n ForceCoditionConfirmationTitle,\n ConditionForcedsuccessfully,\n WorkAttestationRequests,\n DateMustBeGreaterThanBirthDate,\n DogMustBeExpoOrWithoutPedigree,\n DogIsNotBelgianOrImportOrForeignOrWithoutPedigree,\n AddSubFile,\n MustBeOldOrNewOwnerOrAnyone,\n IsAMember,\n IsNotAMember,\n DogHasNoCurrentOwner,\n DogIsNotBelgianOrImport,\n CreateEmptyVet,\n BreedNumber,\n BreedKownDate,\n Internship,\n InternshipDate,\n RequestBlocked,\n TemporaryOwner,\n Administration,\n Users,\n Profile,\n CanBeAnyone,\n BreedingAuthorized,\n DogNotExcludedCondition,\n DogAllowedForReproduction,\n TemporaryOwnerCondition,\n DogsSelectFather,\n DogsSelectMother,\n ResetPasswordDialogTitle,\n ResetPasswordDialogMessage,\n PasswordResetSuccess,\n Login_EmailIsRequired,\n NewPasswordEmailSent,\n UnknownEmail,\n PasswordChangeTitle,\n ForgottenPassword,\n PasswordMustMatch,\n PasswordChanged,\n PasswordValidation,\n Departments,\n ImportRequest,\n ImportRequests,\n DogIsNotImport,\n AtLeastOneOwnerIsNotBelgian,\n DogIsImport,\n NotAuthorized,\n ReferToAdminOrRelogin,\n Permission,\n Module,\n Tab,\n None,\n Read,\n ReadWrite,\n ReadWriteDelete,\n Execute,\n TemporaryOwnerFrom,\n TemporaryOwnerTo,\n TempRSHRequest,\n TempRSHRequests,\n NotAllVerificationsChecked,\n VerificationMessage,\n Manager,\n UnassignedRequests,\n Assign,\n Compatibility,\n DogUpdate,\n MyTasks,\n AssignedRequests,\n ForeignTitlesToAssign,\n ForeignTitlesToAValidate,\n Validate,\n HealthCharacteristicsToAssign,\n HealthCharacteristicsToValidate,\n AssignElementsQuestion,\n ValidateElementsQuestion,\n SelectionEmpty,\n ActionHistoryUser,\n OwnerIsTemporaryError,\n ForgottenPasswordTitle,\n ExecuteConfirmationMessage,\n ExecuteConfirmationTitle,\n DateInThePastError,\n DogAlreadyHasImportPedigree,\n When,\n Who,\n What,\n OwnerHasTemporarilyCeaded,\n TitleInformation,\n NoVerifications,\n NextValue,\n OwnerIsNotBelgian,\n ExceedsAllowedTime,\n DateMustBeGreaterThanOwnerTo,\n DateTooSmall,\n DateTooBig,\n ChangeNotAllowed,\n DateBeforeRequestDate,\n ChipDate,\n DogChips,\n DogChipCreation,\n Articles,\n ArticleNumber,\n BCIdentifier,\n Price,\n SocietyName,\n InvalidVAT,\n EndOfRenewal,\n EndRenewalConfirmationMessage,\n EndRenewalConfirmationTitle,\n RenewalSuccessfullyDisabled,\n MembershipRequest,\n DysplasiaRequests,\n DysplasiaRequest,\n RequestInformation,\n Radio,\n Appeal,\n Position,\n RequestData,\n MembershipRequestType,\n MeetingResult,\n MeetingDate,\n MeetingDecision,\n FinalMembershipType,\n ContactWasNotAMember,\n FinalTypeMustBeDifferentFromInitialtype,\n DecisionNotPossibleForMembershipRequestType,\n ContactIsAlreadyAMember,\n PersonAllreadyHasMembershipRequest,\n ContactIsAlreadyRenewed,\n SelectAll,\n AppealRequest,\n AtLeastOneValueMustBeSelected,\n DysplasiaType,\n AtLeastOneAppealMustBeTicked,\n Member,\n MembershipRenewal,\n CreateRequests,\n RequestCreationSuccess,\n CreateRenewRequestsTitle,\n CreateRequestsMessage,\n EVAT_Price,\n MembershipRenewals,\n MembershipRequests,\n Dysplasias,\n Commissions,\n Appeals,\n IsRefused,\n OfficialRemark,\n Evaluations,\n DefinitiveSave,\n Commission,\n DefinitiveSaveWarning,\n TitleData,\n DontHaveRights,\n PersonISDeceased,\n PersonIsExcluded,\n DogIsExcluded,\n CompetitionRequests,\n CompetitionRequest,\n ClubEmail,\n PersonIsNotOfClub,\n CatalogReception,\n Extra,\n ClubAddress,\n OtherAddress,\n DateMustBeGreaterThanStartDate,\n DateMustBeSmallerThanEndDate,\n ParticipantsCount,\n RequestIsMissingInformation,\n OneOrMoreJudgeCannotJudgeThisSubActivity,\n PleaseSelectSubActivityToViewPossibleJudges,\n Class,\n Qualification,\n CatalogNumber,\n BreedConformity,\n BestOfBreed,\n BestOfSex,\n BestInShow,\n BestInGroup,\n BestVeteran,\n BestWorkDog,\n BestYouth,\n BestMinorPuppy,\n BestPuppy,\n BelgianWinner,\n BeneluxWinner,\n BeneluxYouthWinner,\n BeneluxVeteranWinner,\n EuropeanWinner,\n Crufts,\n Cac,\n CacReserve,\n Cacib,\n CacibReserve,\n Cacbl,\n CacblReserve,\n Cacgpo,\n CacgpoReserve,\n Caciag,\n CaciagReserve,\n Cacil,\n CacilReserve,\n Caciob,\n CaciobReserve,\n Cacit,\n CacitReserve,\n LastConnectionDate,\n DysplasiasRequests,\n IsNotBelgianOwnerError,\n ActionHistoryDysplasiaRequest,\n IsNotCurrentlyAMember,\n ColorNumber,\n SectionIsNotPartOfClubError,\n MustBeBelgianOwner,\n ClubIsExcluded,\n Divers,\n RSHRequestCannotBeSavedTemporaryREquestConflict,\n SaveRSHRequest,\n ExcelExport,\n IsNotDogOwner,\n ClubMatch,\n IsNotBelgian,\n AffixRequests,\n ActionHistoryAffix,\n PersonIsAlreadyKennelOwner,\n NameOffer1,\n Affix,\n NameOffer5,\n NameOffer4,\n NameOffer3,\n NameOffer2,\n AffixType,\n NewKennelRequest,\n FCIDecision,\n FinalName,\n BeautyJudgeEmail,\n ImportKennelRequest,\n NameOffer,\n IsNotKennelOwner,\n IsNotOwnedByContact,\n KennelisNotInBelgium,\n KennelOwnershipChange,\n AtLeastOneOwnerIsNotBelgianOrIsAlreadyAKennelOwner,\n FCIAffixes,\n FCIAffixesImport,\n FCIAffixesExport,\n NewKennel,\n KennelNameChangeRequest,\n KennelOwnershipChangeRequest,\n WeightFrom,\n WeightTo,\n VarietyNumber,\n VATNotCorrespondingToCountry,\n Closed,\n KennelExportRequest,\n Close,\n ImportSucessfull,\n PleaseImportFile,\n FinalType,\n Importable,\n Accepted,\n ReadExcelFile,\n AllRightNothingToSend,\n InfosSentByEmail,\n JudgeValidation,\n AuthorizedSubActivity,\n JudgesValidation,\n Packs,\n IsProgenus,\n Article,\n HealthPackGroup,\n ProgenusCode,\n Group,\n HealthPack,\n Chart,\n PleaseSelectAKennelToEditOwners,\n ChartSignatureHistoryAdd,\n MustBeGreaterThanDateTo,\n MustBeGreaterThanDateFrom,\n CommissionType,\n AutomaticCreation,\n ImportStatus,\n FGSelectInput_Loading,\n FGSelectInput_NoOptions,\n FGSelectInput_SelectAnItem,\n Lab,\n KennelOwners,\n LabPack,\n NewUser,\n EnterYourData,\n DrupalLoginTitle,\n DrupalLoginButton,\n RememberMyData,\n LaboMapping,\n OkForInheritance,\n SelectForImport,\n SelectedItemsContainErrors,\n JudgeConfirmationMessage,\n JudgeConfirmationTitle,\n Cynology,\n FilePondDragOrSelect,\n FileReadSuccessfully,\n CloseKennel,\n CloseKennelConfirmationMessage,\n CloseKennelConfirmationTitle,\n KennelClosed,\n PreviousKennel,\n Affixes,\n LabCode,\n AtLeastOnePersonIsAlreadyOwner,\n PreviousAffix,\n FinalAffix,\n HealthTestRequests,\n BroodRequests,\n ProtusionDate,\n NumberOfPuppies,\n ActionHistoryHealthTestRequest,\n LabStatus,\n WhiteTest,\n ActionHistoryBroodRequest,\n BabyDgoPublication,\n Puppies,\n Puppy,\n PotentialFathers,\n PleaseSelectDogToViewPossibleFathers,\n IsNotBelgium,\n ProtrusionDate,\n CreatePedigree,\n Deceased,\n CreateDogAndPedigreeConfirmationMessage,\n CreateDogAndPedigreeConfirmationTitle,\n PuppyDeceasedConfirmationMessage,\n PuppyDeceasedConfirmationTitle,\n OwnerApproval,\n PotentialFathersOwnerApprovals,\n DogValidation,\n PotentialFathersValidation,\n MotherValidation,\n NotAllDogValidationsChecked,\n KennelIsExcluded,\n ProtusionDateAndBirthDateMustBeBetween54And68Days,\n PersonIsOwnerOfExcludedKennel,\n IsoAs400,\n Filiation,\n DogStatus,\n AuthorizedBreed,\n IsBanned,\n JudgeIsBanned,\n Subject,\n HasNlContent,\n HasEnContent,\n HasFrContent,\n Emails,\n Body,\n MiscellaneousRequests,\n MiscellaneousRequest,\n LiveDogs,\n Chip,\n Action,\n Payment,\n SelectNeededInformation,\n RequestConfirmation,\n General_Next,\n RequestResume,\n General_Send,\n General_Pay,\n YourRequestNumberIs,\n FinishedRequests,\n CurrentRequests,\n NewRequest,\n PleaseSelectRequestType,\n AwaitingSRSHValidation,\n AddNewWorkbook,\n PaymentMethod,\n OgonePayment,\n CashPayment,\n StructuredCommunication,\n PaymentReceiptMessage,\n Bill,\n Diploma,\n DrupalTitleRequestInfo,\n BroodRequest,\n PuppiesAreBorn,\n PotentialFatherId,\n AddPotentialFather,\n PotentialFatherCostWarning,\n PaymentInformations,\n PersonIsNotOwner,\n ResultIdentifier,\n General_Split,\n General_Group,\n FuseSelectionError,\n SplitSelectionError,\n GentCommission,\n GentCommissions,\n Note,\n OtherMembersDecision,\n Remarks,\n Evaluation,\n ThereMustBe44DaysMaximumBetweenProtrusionAndRequestDate,\n AlreadyIsKennelOwner,\n PersonIsBannedConfirmMessage,\n HasCharacteristicValue,\n RadioDate,\n IsBeauty,\n IsSport,\n DateCannotBeFuture,\n MinDysplasiaAgeInMonths,\n NameDoesNotStartWithCalendarLetter,\n SharePointPdfAvailable,\n SplitPerson,\n NewPerson,\n Split,\n CreditNote,\n Quantity,\n CreditMemoConfirmationMessage,\n CreditMemoConfirmationTitle,\n PersonSplitDogsMessage,\n PersonSplitBCMessage,\n PersonSplitWebPortalMessage,\n WebAccess,\n PersonSplitRequestsMessage,\n Veterinarian,\n PersonSplitKennelsMessage,\n PersonSplitBreederDogsMessage,\n LinkToSplitPerson,\n LinkToNewPerson,\n EmailsCannotBeTheSame,\n MustBeUnique,\n Fusion,\n OwnerPhoneNumber,\n OwnerEmailAddress,\n PersonFusionDogsMessage,\n HasDogs,\n HasRequests,\n HasKennel,\n PortalAccount,\n PersonFusionPortalMessage,\n PersonFusionRequestsMessage,\n PersonFusionKennelErrorMessage,\n IsJudge,\n PersonFusionJudgeMessage,\n PersonFusionVetMessage,\n PleaseSelectCriteria,\n OfficialNameAlreadyExists,\n IsOwnerOfMoreThanOneKennel,\n DogIsExportedMessage,\n AppliedToDysplasia,\n AccountingTasks,\n Task,\n Invoice,\n SaveNav,\n BCSaveConfirmationMessage,\n PersonFusionMemberMessage,\n PersonFusionBreederDogsMessage,\n FuseSelectionDogError,\n DnaTests,\n DogFusionChipsAndOwnersInformation,\n DogFusionKennelsError,\n DogFusionRequestsInformation,\n DogFusionSportInformation,\n DogFusionWorkbooksInformation,\n DogFusionDysplasiaInformation,\n DeceasedDogs,\n HasTitlesAndCompetitions,\n HasWorkbooks,\n HasDysplasias,\n HasDnaTest,\n DogFusionDnaTestError,\n HealthValueType,\n CanBeUsed,\n PleaseSelectALab,\n NotApproved,\n Approved,\n Approval,\n DogListFilterPlaceholder,\n FciDocument,\n OneOrMoreOwnersNotBelgian,\n UploadWordFile,\n DocumentTemplates,\n RecipientInfo,\n Content,\n Printer,\n PaperDecoration,\n GoToDetail,\n BelgianBreeds,\n BelgianBreedParagraph,\n About,\n WhatToKnow,\n BreedInformationText,\n DownloadBreedDocument,\n Website,\n Chairman,\n Secretary,\n NoInformation,\n PLeaseSelectBreed,\n Availability,\n NoBabyDogForBreed,\n NumberOfAvailablePuppies,\n IsWork,\n MissingEmailAndOrPhoneNumber,\n ViewDogDetail,\n InvalidPostalCode,\n Global,\n DogFusion,\n PeopleFusion,\n ClubInfo,\n Administrators,\n GeneralSecretary,\n NewPotentialFather,\n AddNewPotentialFather,\n ChangePassword,\n ChangeEmail,\n OldPassword,\n NewPassword,\n NewPasswordConfirmation,\n IncorrectPassword,\n Parents,\n UndefinedFather,\n EmailsMustMatch,\n NewEmail,\n NewEmailConfirmation,\n CurrentEmail,\n BirthInformations,\n Refuse,\n HideClosed,\n CloseTaskConfirmation,\n TitleNotDisplayedBeforeValidation,\n CurrentTitleRequest,\n CreationDate,\n VatPercentage,\n NumericValue,\n MemberNumber,\n ShowFinished,\n SubTasks,\n Finished,\n Done,\n DogsUpdate,\n CloseDashboardTaskMessage,\n CloseDashboardTaskTitle,\n SelectOther,\n WebsiteAdresseFr,\n WebsiteAdresseNl,\n BroodRequestDeclaration,\n GestationDeclaration,\n PuppyData,\n AddPerson,\n DownloadBill,\n MissingCompleteAdressOrEmail,\n MissingPhoneNumber,\n AnalysisInProgress,\n IncompletePuppyAnalysisMessage,\n IncompletePuppyAnalysisTitle,\n NoFatherFound,\n IsCac,\n ConfirmSaveWillSendEmail,\n ChipNumberAlreadyInUse,\n PleaseSelectAtLeatOneWorkbook,\n CloseTaskQuestion,\n CreateNewDog,\n CreatingFather,\n DrupalGetUser,\n DrupalCheckAccount,\n DrupalErrorEmailDoesNotExist,\n DrupalErrorEmailMultipleMatch,\n DrupalErrorEmailAccountAlreadyExists,\n ContactUs,\n PleaseCheckAndCompleteInfo,\n FileRequired,\n JurySelection,\n CreateInSharepoint,\n OneOrMorPersonAlreadyOwnsAKennel,\n Files,\n FileName,\n DocumentType,\n ADNProfile,\n BreedingAdmissionFiles,\n Miscellaneous,\n PuppyPrice,\n PriceVatIncluded,\n IsNotOwnerOrBreeder,\n CreatedOn,\n PuppiesBirth,\n PleaseDontForgetToAddChipNumber,\n FatherNotFoundClickAdd,\n Max20Puppies,\n BroodAndBirthRequest,\n DogAlreadyHasBelgianOwners,\n NumberMustBeBetween1And20,\n Documents,\n AlreadyOwnerOfTheDog,\n AtLeastOneOwnerRequired,\n NewDog,\n hkNumber,\n DogNotFoundClickAdd,\n MoreThanOnePersonAssociatedWithEmail,\n NoPersonAssociatedWithEmail,\n SearchOwners,\n OwnerFound,\n DownloadDocument,\n WorkbookRequestOngoingForThisWorkbookType,\n AtLeastOnePotentialFatherMustBeChosen,\n IsBreeder,\n ResendBill,\n BillResendConfirmationMessage,\n EmailAlreadyInUse,\n SelectAtLeastOneAnalysisOrPack,\n DrupalCreateNewDog,\n DrupalCreateNewRequest,\n CreditMemo,\n IfDogNotOwnedContactSrsh,\n AddPersonAsPuppyOwner,\n AnotherOwnerToAddPortalMessage,\n RegisteredLetter,\n DuplicatePedigree,\n MailAdmin,\n Filter,\n WorkbookCreationOnlyAllowedForBelgianResitents,\n PuppyInformationIncomplete,\n ShowType,\n Print,\n EvaluationDate,\n ChangePasswordFailed,\n ErrorWhileSavingPassword,\n PasswordComplexityMessage,\n AS400Title,\n CertificateNotReceived,\n ClickHereIfDogDeceased,\n FciTax,\n ProgenusPuppy,\n PedigreesToReprint,\n ReprintFirst200,\n PrintSuccess,\n ReprintWorkbook,\n General_Price,\n Reports,\n GenerateReport,\n TurnOver,\n Month,\n ViewFile,\n NumberOfPuppiesConfirmed,\n PaidExport,\n BilledExport,\n InvalidateRequest,\n invalidatedOn,\n YouWantToInvalidateTheResultConfirmation,\n ContactPerson,\n DogIsMissingChipOrTattoo,\n AddDnaMarkers,\n WaloonWithoutHK,\n LoadMore,\n DogToAssign,\n DogToValidate,\n DogToUpdateAs400Title,\n PuppiesPictureMax3,\n FilePondDragOrSelectMax3Files,\n PuppyDockedTail,\n FilePondDragOrSelectMax3PuppiesPicture,\n DrupalErrorExistingUserButNoAccount,\n ParticipationFciTax,\n IsSticker,\n TypeHasNoDocument,\n ExportCountry,\n CompetitionResults,\n RegenDiploma,\n Success,\n ReprintExecutionLetter,\n ProgenusQuickDelivery,\n LinkedCompetition,\n OpenCompetition,\n InvalidFormData,\n RegenDysplasiaCertificate,\n DeleteAllDna,\n DeleteAllDnaConfirmationMessage,\n WithRequest,\n WithoutRequest,\n BreedNotFciRecognized,\n As400Pedigree,\n RegenDocuments,\n HealthProfile,\n RegenImportRequestDocuments,\n SwitchToLoshPedigrees,\n CompetitionFile,\n AtLeastOnOfTheTitlesAlreadyExists,\n Renewal,\n ReprintPedigrees,\n ShowOnPortal,\n HealthTestDocumentValidationToAssign,\n HealthTestDocumentValidationToValidate,\n TaskDone,\n WarningMustBeAliveInProgenus,\n Resurrect,\n NameAlreadyTaken,\n UnCancelRequest,\n RegenKennelApprovedDocument,\n ShouldDoubleResults,\n ImportStarted,\n ImportAlreadyInProgressPleaseWait,\n ImportWillStartYouWillReceiveAnEmailWhenFinished,\n Ok,\n IsImporting,\n CompetitionsWithoutResults,\n ResendPedigreeSample,\n confirmRegenAndResendPedigreeSample,\n PedigreeResendTitle,\n ResendPedigreeSampleDrupal,\n ExpatriationRequest,\n ActionHistoryExpatriationRequest,\n DogType,\n BelgianDog,\n ForeignDog,\n RemarkVisibleByVeterinaries,\n MembersReport,\n IsKnownPerson,\n CountryLanguages,\n Languages,\n Iso2LanguageCode,\n Iso2Code,\n BCLanguageCode,\n HasTranslation,\n SpokenLanguages,\n Commissioner,\n commissionerExperience,\n MyDogShowBilling,\n MyDogShowAuthorized,\n MyDogShowParameters,\n CompetitionManager,\n CallableRingManager,\n CallableJudges,\n Expos,\n ExpoName,\n AddExpo,\n WarningChangeCompetitionDatesAccordingly,\n NewDate,\n IsTablet,\n CompetitionName,\n ExpoStartHour,\n ComissionerArrivalTime,\n AllowedVolunteerProfiles,\n JudgeInformations,\n BreedJudgeToValidate,\n JudgeName,\n BreedGroup,\n DeleteJudgeTempBreed,\n CruftsQualification,\n MaxDurationTwoDays,\n IfDatesAreUpdatedAllConfiguredExpoWillBeLostDoYouWantToContinue,\n MyDogShow,\n MyDogShowActionRequired,\n IsCommissioner,\n PersonFusionCommissionerMessage,\n NotFatherSelected,\n Expo,\n ConfirmChange,\n PleaseExplainReason,\n MustBeInThePast,\n IncompleteGenealogy,\n BillGenealogyCompletion,\n BillFatherGenealogyCompletion,\n BillMotherGenealogyCompletion,\n IsRegisteredLetter,\n IfNotRegisteredLetterSrshIsNotResponsibleForAnyLostDocument,\n HDReport,\n}\n","// Extract baseUrl from Drupal?\n\nlet baseUrl = \"~\";\nlet initialized = false;\n\nexport function getBaseUrl() {\n if (initialized) {\n return baseUrl;\n }\n let input = document.getElementsByName(\"baseUrl\");\n if (input.length > 0) {\n console.log(\"baseurl extracted from baseUrlInput (Drupal) \" + baseUrl);\n baseUrl = (input[0] as any).value;\n }\n\n if (baseUrl === \"~\") {\n const hostUrl = window.location.href.split(\"/\");\n baseUrl = hostUrl[0] + \"//\" + hostUrl[2];\n console.log(\"baseurl converted to \" + baseUrl);\n }\n initialized = true;\n return baseUrl; \n}\n","import i18n from \"i18next\";\nimport XHR from \"i18next-xhr-backend\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { ELanguages } from \"./ELanguages\";\nimport { ETLCodes } from \"./ETLCodes\";\nimport fr from \"./resources/fr.json\";\nimport i18next from \"i18next\";\nimport { getBaseUrl } from \"../baseUrl\";\n\nconst resources = {\n fr,\n};\n\n(window as any).MISSING_TL_KEYS = {};\n(window as any).GetMissingKeysEnum = () => {\n const s = Object.keys((window as any).MISSING_TL_KEYS).join(\",\\n\");\n console.log(\",\" + s);\n return s;\n};\n\nfunction extractLocale() {\n const drupalLanguage = localStorage.getItem(\"drupal-language\")?.toLocaleLowerCase();\n const availableLanguages = [\"fr\", \"nl\", \"en\"];\n if (availableLanguages.includes(drupalLanguage)) {\n return drupalLanguage.toUpperCase();\n } else {\n return \"FR\";\n }\n}\n\ni18n\n .use(XHR)\n .use(initReactI18next)\n .init({\n lng: extractLocale(),\n fallbackLng: \"FR\",\n react: {\n useSuspense: true,\n },\n backend: {\n loadPath: `${getBaseUrl()}/api/translations/?languageCode={{lng}}`,\n addPath: `${getBaseUrl()}/api/translations/{{lng}}`,\n parse: (data: string) => {\n const parsed = JSON.parse(data);\n const reduced: object = parsed.reduce((prev, curr) => {\n prev[curr.translationCode] = curr.text;\n return prev;\n }, {});\n return reduced;\n },\n parsePayload: function (namespace, key, fallbackValue) {\n let value = fallbackValue;\n if (resources[i18next.language]) {\n const tls = resources[i18next.language]?.translation;\n if (tls && tls[key]) {\n value = tls[key];\n }\n }\n\n const data = {\n text: value,\n translationCode: key,\n currentLang: i18n.language,\n };\n return data;\n },\n },\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n },\n parseMissingKeyHandler: (key) => {\n (window as any).MISSING_TL_KEYS[key] = true;\n return `${key}_MISSING_TL`;\n },\n saveMissing: true,\n });\n\nexport default i18n;\n\nexport const tlCodesArray = Object.keys(ETLCodes)\n .filter((k) => typeof ETLCodes[k as any] === \"number\")\n .sort();\nexport const languagesArray = Object.keys(ELanguages)\n .filter((k) => typeof ELanguages[k as any] === \"number\")\n .sort();\n\nexport { ELanguages, ETLCodes };\n","import { useTranslation } from \"react-i18next\";\nimport { ETLCodes } from \"../locales\";\nimport { useCallback } from \"react\";\nimport { TOptions } from \"i18next\";\n\nexport const useTl = () => {\n const { t } = useTranslation();\n\n const tCode = useCallback(\n (code: ETLCodes, options?: TOptions | string) => {\n return t(ETLCodes[code], options) as string;\n },\n [t],\n );\n\n const tUnsafeCode = useCallback(\n (code: string | undefined, options?: TOptions | string) => {\n if (code === undefined) return \"\";\n return t(code, options) as string;\n },\n [t],\n );\n return {\n t: tCode,\n tUnsafe: tUnsafeCode,\n };\n};\n","import { BaseAPI, Configuration } from \"../api\";\nimport * as React from \"react\";\nimport i18n from \"i18next\";\n\nimport { logoutReasons, useAuth, useGlobalData } from \"../contexts\";\nimport { getBaseUrl } from \"../baseUrl\";\n\nexport function getbasicconfig({\n token,\n logout,\n}: {\n token: string;\n logout: (reason: logoutReasons) => void;\n}): Configuration {\n return {\n basePath: getBaseUrl(),\n headers: {\n app_language: i18n.language,\n },\n beforeRequest(requestInit: RequestInit) {\n if (token) {\n requestInit.headers[\"authorization\"] = \"Bearer \" + token;\n }\n return Promise.resolve(requestInit);\n },\n afterRequest(response) {\n if (response.status === 401) {\n logout(\"UNAUTHORIZED\");\n } else if (response.status === 403) {\n logout(\"FORBIDDEN\");\n }\n return Promise.resolve(response);\n },\n };\n}\n\nexport function useApiService(type: new (configuration: Configuration) => T): T {\n const { user, logout } = useAuth();\n const globalData = useGlobalData();\n const languageId = React.useMemo(() => globalData?.currentLanguage?.languageId, [globalData]);\n\n const configuration = React.useMemo(() => {\n let cfg = getbasicconfig({\n token: user?.token,\n logout,\n });\n cfg.headers[\"app_language_id\"] = languageId ?? 2;\n return cfg;\n }, [languageId, logout, user]);\n\n return React.useMemo(() => new type(configuration), [configuration, type]);\n}\n","import { showError, showSuccess, useApiEffect } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useHistory } from \"react-router\";\n\nimport { useTl } from \".\";\nimport { useDialog } from \"../contexts\";\nimport { ETLCodes } from \"../locales\";\nimport { ErrorDetails } from \"../api\";\nimport { FormikProps } from \"formik\";\n\nexport interface IUseCrudApiOptions {\n getApiFn: (id?: number) => Promise | T;\n saveApiFn: (data: T) => Promise | any;\n deleteApiFn?: (data: T) => Promise | any;\n onSavedRoute?: (data: T) => string;\n onDeletedRoute?: (data: T) => string;\n successMessage?: string;\n deletedMessage?: string;\n}\n\nexport function useCrudApi(options: IUseCrudApiOptions, dependencies?: React.DependencyList) {\n const { getApiFn, saveApiFn, deleteApiFn, onSavedRoute, onDeletedRoute, successMessage, deletedMessage } = options;\n const { t, tUnsafe } = useTl();\n const { showDialog } = useDialog();\n const history = useHistory();\n const [data, loading, , refresh, setData] = useApiEffect(getApiFn, dependencies);\n\n const [saving, setSaving] = React.useState(false);\n\n const finalSuccessMessage = React.useMemo(() => successMessage || t(ETLCodes.SaveSuccess), [successMessage, t]);\n\n const [saveError, setCurrentError] = React.useState();\n\n const manageError = React.useCallback(\n (error: any) => {\n console.log(error);\n const details: ErrorDetails = JSON.parse(error.response);\n if (details?.errorCode) {\n if (details?.errorCode === \"NavError\") {\n showSuccess(t(ETLCodes.SaveSuccess));\n refresh();\n }\n setCurrentError(details);\n } else {\n showError(t(ETLCodes.Error));\n }\n },\n [refresh, t]\n );\n\n React.useEffect(() => {\n if (saveError && saveError.errorCode) {\n showError(tUnsafe(`BackendError_${saveError.errorCode}`));\n }\n }, [saveError, tUnsafe]);\n\n const saveItem = React.useCallback(\n async (values: T) => {\n try {\n setSaving(true);\n const savedIdOrDto: any = await saveApiFn(values);\n let savedData: T;\n\n if (Number.isInteger(savedIdOrDto)) {\n savedData = await getApiFn(+savedIdOrDto);\n } else {\n savedData = savedIdOrDto as T;\n }\n if (savedData) {\n setData(savedData);\n\n // setCurrentError(null);\n showSuccess(finalSuccessMessage);\n setTimeout(async () => {\n if (onSavedRoute) {\n history.push(onSavedRoute(savedData));\n }\n }, 1);\n }\n } catch (error) {\n manageError(error);\n }\n setSaving(false);\n },\n [finalSuccessMessage, getApiFn, history, manageError, onSavedRoute, saveApiFn, setData]\n );\n\n const finalDeleteMessage = React.useMemo(() => deletedMessage || t(ETLCodes.DeleteSuccess), [deletedMessage, t]);\n\n const [deleting, setDeleting] = React.useState(false);\n const deleteItem = React.useCallback(\n (formik?: FormikProps) => {\n showDialog({\n message: t(ETLCodes.DeleteConfirmationMessage),\n title: t(ETLCodes.DeleteDialogTitle),\n onConfirmed: async () => {\n try {\n setDeleting(true);\n await deleteApiFn(data);\n setTimeout(() => {\n if (onDeletedRoute) {\n if (formik) {\n formik.resetForm();\n }\n history.push(onDeletedRoute(data));\n }\n }, 0);\n showSuccess(finalDeleteMessage);\n } catch (error) {\n manageError(error);\n }\n setDeleting(false);\n },\n });\n },\n [data, deleteApiFn, finalDeleteMessage, history, manageError, onDeletedRoute, showDialog, t]\n );\n\n return {\n data,\n loading,\n setData,\n saveItem,\n saving,\n deleteItem,\n deleting,\n refresh,\n // saveError\n };\n}\n","import React from \"react\";\n\nexport function useLocalStorage(key: string, initialValue: T): [T, (t: T) => void] {\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = React.useState(() => {\n try {\n // Get from local storage by key\n const item = window.localStorage.getItem(key);\n // Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n // If error also return initialValue\n console.log(error);\n return initialValue;\n }\n });\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue = (value: T) => {\n try {\n // Allow value to be a function so we have same API as useState\n const valueToStore = value instanceof Function ? value(storedValue) : value;\n // Save state\n setStoredValue(valueToStore);\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(valueToStore));\n } catch (error) {\n // A more advanced implementation would handle the error case\n console.log(error);\n }\n };\n\n return [storedValue, setValue];\n}\n","import * as React from \"react\";\n\nexport const useWindow = () => {\n const openNewTab = React.useCallback((route: string) => {\n let url = window.location.origin;\n if (window.location.hash) {\n url += \"/#\";\n }\n if (!route.startsWith(\"/\")) {\n url += \"/\";\n }\n url += route;\n\n window.open(url);\n }, []);\n\n return {\n openNewTab,\n };\n};\n","import React from \"react\";\nimport { ETLCodes } from \"../locales\";\nimport { showError, showSuccess } from \"nsitools-react\";\nimport { useTl } from \"./useTl\";\nimport { useDialog } from \"../contexts\";\n\nexport interface IuseDeleteApi {\n deleteApiFn: (data: T) => Promise | any;\n onDeletedFn?: () => void;\n}\n\nexport function useDeleteApi(options: IuseDeleteApi) {\n const { showDialog } = useDialog();\n\n const { deleteApiFn, onDeletedFn } = options;\n\n const { t } = useTl();\n const [deleting, setDeleting] = React.useState(false);\n const deleteItem = React.useCallback(\n (data: T) => {\n showDialog({\n message: t(ETLCodes.DeleteConfirmationMessage),\n title: t(ETLCodes.DeleteDialogTitle),\n onConfirmed: async () => {\n try {\n setDeleting(true);\n await deleteApiFn(data);\n onDeletedFn();\n showSuccess(t(ETLCodes.DeleteSuccess));\n } catch (error) {\n showError(t(ETLCodes.Error));\n }\n setDeleting(false);\n },\n });\n },\n [deleteApiFn, onDeletedFn, showDialog, t]\n );\n\n return {\n deleteItem,\n deleting,\n };\n}\n","import React from \"react\";\nimport { ETLCodes } from \"../locales\";\nimport { showError, showSuccess } from \"nsitools-react\";\nimport { useTl } from \"./useTl\";\nimport { ErrorDetails } from \"../api\";\n\nexport interface IUseSaveApi {\n saveApiFn: (data: T) => Promise | any;\n onSaveFn?: () => void;\n}\n\nexport function useSaveApi(options: IUseSaveApi) {\n const [saving, setSaving] = React.useState(false);\n const { onSaveFn, saveApiFn } = options;\n const { t, tUnsafe } = useTl();\n const saveItem = React.useCallback(\n async (values: T) => {\n try {\n setSaving(true);\n await saveApiFn(values);\n showSuccess(t(ETLCodes.SaveSuccess));\n onSaveFn && onSaveFn();\n } catch (error) {\n const details: ErrorDetails = JSON.parse(error.response);\n if (details?.errorCode) {\n showError(tUnsafe(`BackendError_${details.errorCode}`));\n } else {\n showError(t(ETLCodes.Error));\n }\n }\n setSaving(false);\n },\n [onSaveFn, saveApiFn, t, tUnsafe]\n );\n\n return {\n saveItem,\n saving,\n };\n}\n","import * as React from \"react\";\n\nimport { baseReturnType, baseSearchObject, IUseSearchApiOptions, useSearchApi } from \"nsitools-react\";\nimport { useGlobalData } from \"../contexts\";\n\nexport function useSearchApiWithLanguageRefresh(\n options: IUseSearchApiOptions\n) {\n const { currentLanguage } = useGlobalData();\n\n const searchApiresults = useSearchApi(options);\n const { search } = searchApiresults;\n React.useEffect(() => {\n if (currentLanguage) {\n search();\n }\n }, [currentLanguage, search]);\n\n return searchApiresults;\n}\n","import { useMemo } from \"react\";\nimport { useHistory, useLocation, useParams, useRouteMatch } from \"react-router-dom\";\nimport queryString from \"query-string\";\n\n// Hook\nexport function useRouter() {\n const params = useParams();\n const location = useLocation();\n const history = useHistory();\n const match = useRouteMatch();\n\n // Return our custom router object\n // Memoize so that a new object is only returned if something changes\n return useMemo(() => {\n return {\n // For convenience add push(), replace(), pathname at top level\n push: history.push,\n replace: history.replace,\n pathname: location.pathname,\n // Merge params and parsed query string into single \"query\" object\n // so that they can be used interchangeably.\n // Example: /:topic?sort=popular -> { topic: \"react\", sort: \"popular\" }\n query: {\n ...queryString.parse(location.search), // Convert string to object\n ...params,\n },\n // Include match, location, history objects so we have\n // access to extra React Router functionality if needed.\n match,\n location,\n history,\n };\n }, [params, match, location, history]);\n}\n","import React from \"react\";\nimport { DogApi, PersonApi } from \"../../api\";\nimport { useApiService } from \"../useApiService\";\n\nexport function usePersonValidators() {\n const personApi = useApiService(PersonApi);\n const dogApi = useApiService(DogApi);\n\n const isPersonAlive = React.useCallback(\n async (personId: number) => {\n const result = await personApi.isDeceased(personId);\n return !result.value;\n },\n [personApi]\n );\n\n const isNotOwnerOfExcludedKennel = React.useCallback(\n async (personId: number) => {\n const result = await personApi.checkIfOwnerofExcludedKennel(personId);\n return !result.value;\n },\n [personApi]\n );\n\n const isDogOwner = React.useCallback(\n async (dogId: number, personId: number) => {\n if (dogId !== 0) {\n const res = await dogApi.isBelgianDogOwner(dogId, personId);\n return res.value;\n }\n return true;\n },\n [dogApi]\n );\n\n const missingPhoneNumber = React.useCallback(\n async (personId: number) => {\n if (!!personId) {\n const result = await personApi.missingPhoneNumberCheck(personId);\n return result.value;\n }\n return true;\n },\n [personApi]\n );\n\n const missingAddress = React.useCallback(\n async (personId: number) => {\n if (!!personId) {\n const result = await personApi.missingAddressInformationCheck(personId);\n return result.value;\n }\n return true;\n },\n [personApi]\n );\n\n const kennelUnique = React.useCallback(\n async (personId: number) => {\n const res = await personApi.kennelOwnershipUniqueCheck(personId);\n return res.value;\n },\n [personApi]\n );\n\n return {\n isPersonAlive,\n isNotOwnerOfExcludedKennel,\n isDogOwner,\n missingPhoneNumber,\n missingAddress,\n kennelUnique,\n };\n}\n","import React from \"react\";\nimport { DogApi } from \"../../api\";\nimport { useApiService } from \"../useApiService\";\n\nexport function useDogValidators() {\n const dogApi = useApiService(DogApi);\n\n const dogAlive = React.useCallback(\n async (dogId: number) => {\n const res = await dogApi.isDogDeceased(dogId);\n return !res.value;\n },\n [dogApi]\n );\n\n const dogNotExcluded = React.useCallback(\n async (dogId: number) => {\n const result = await dogApi.isDogExcluded(dogId);\n return !result.value;\n },\n [dogApi]\n );\n\n return { dogAlive, dogNotExcluded };\n}\n","import { IOptionProps } from \"@blueprintjs/core\";\nimport { useRequest } from \"ahooks\";\nimport React from \"react\";\nimport { ReferentialApi, ReferentialItemDto } from \"../api\";\nimport { useApiService } from \"./useApiService\";\n\nfunction convertToOptionProp(data: ReferentialItemDto[], asInt = true) {\n return data?.map((p) => {\n return { value: p.idValue ? (asInt ? +p.idValue : p.idValue) : null, label: p.displayValue };\n }) as IOptionProps[];\n}\n\nexport function useReferentials() {\n const api = useApiService(ReferentialApi);\n\n const {\n loading: loadingBelgianLocality,\n run: refreshBelgianLocality,\n data: belgianLocalities,\n } = useRequest(api.getStringifiedBelgianLocalityFromPostalCode, {\n manual: false,\n });\n\n return {\n belgianLocality: React.useMemo(\n () => ({\n loading: loadingBelgianLocality,\n refresh: refreshBelgianLocality,\n data: convertToOptionProp(belgianLocalities, false),\n }),\n [belgianLocalities, loadingBelgianLocality, refreshBelgianLocality]\n ),\n };\n}\n","import { useTl } from \".\";\nimport { usePersonValidators, useDogValidators } from \"./validators\";\nimport { useRouter } from \"./useRouter\";\nimport { useReferentials } from \"./useReferentials\";\nimport React from \"react\";\n\nexport function useApplication() {\n const tlHook = useTl();\n const routerHook = useRouter();\n const usePersonValidatorsHook = usePersonValidators();\n const useDogValidatorsHook = useDogValidators();\n const useReferentialsHook = useReferentials();\n\n return React.useMemo(\n () => ({\n ...tlHook,\n ...routerHook,\n validators: { person: { ...usePersonValidatorsHook }, dog: { ...useDogValidatorsHook } },\n referentials: { ...useReferentialsHook },\n }),\n [routerHook, tlHook, useDogValidatorsHook, usePersonValidatorsHook, useReferentialsHook]\n );\n}\n","import * as React from \"react\";\nimport { useApiService } from \"../hooks\";\nimport { SystemApi } from \"../api\";\nimport { usePrevious } from \"nsitools-react\";\nimport { useRequest } from \"ahooks\";\nimport { useLocation } from \"react-router\";\nimport { useGlobalData, useSearchCriteriaContext } from \"../contexts\";\n\nexport function useAutoCheckVersionRefresh() {\n const systemApi = useApiService(SystemApi);\n const { pathname } = useLocation();\n var globalData = useGlobalData();\n const { clearCriterias } = useSearchCriteriaContext();\n const [mustRefreshFrontend, setMustRefreshFrontend] = React.useState(false);\n const { data: systemInfo } = useRequest(() => systemApi.get(), {\n pollingInterval: 60000,\n });\n\n const previousPathName = usePrevious(pathname);\n const previousVersion = usePrevious(systemInfo);\n React.useEffect(() => {\n if (mustRefreshFrontend && previousPathName !== pathname) {\n console.log(\"Force refresh frontend and clear search cache, version changed !\");\n clearCriterias();\n window.location.reload();\n }\n }, [clearCriterias, mustRefreshFrontend, pathname, previousPathName]);\n\n React.useEffect(() => {\n if (previousVersion && previousVersion?.applicationVersion !== systemInfo?.applicationVersion) {\n console.log(\"Backend version has changed, SRSH application will be refreshed soon...\");\n setMustRefreshFrontend(true);\n }\n }, [previousVersion, systemInfo?.applicationVersion]);\n}\n","import * as React from \"react\";\nimport { EPlatform } from \"../api\";\n\ninterface IPlatformContext {\n platform: EPlatform;\n}\nconst PlatformContext = React.createContext(null);\n\ninterface IPlatformProviderProps extends React.PropsWithChildren {\n platform: EPlatform;\n}\n\nexport const PlatformProvider: React.FunctionComponent = ({ children, platform }) => {\n return {children};\n};\n\nexport const usePlatformContext = () => React.useContext(PlatformContext);\n","import jwtDecode from \"jwt-decode\";\nimport * as React from \"react\";\nimport { useHistory, useLocation } from \"react-router\";\n\nimport {\n AuthenticateCommand,\n Configuration,\n EPlatform,\n EUserProfile,\n IAuthenticateCommand,\n UserDto,\n UserProfileActionDto,\n UsersApi,\n} from \"../api\";\nimport { EDrupalRoutes } from \"../drupal/EDrupalRoutes\";\nimport { ERoutes } from \"../ERoutes\";\nimport { getbasicconfig, useLocalStorage, useTl } from \"../hooks\";\nimport { usePlatformContext } from \"./PlatformContext\";\nimport { getBaseUrl } from \"../baseUrl\";\n\ninterface IAuthProviderProps extends React.PropsWithChildren {}\n\nexport interface ErrorDetails {\n statusCode?: number;\n message?: string | null;\n errorCode?: any;\n}\n\ninterface IAuthContext {\n login: (auth: IAuthenticateCommand) => Promise;\n logout: (reason: logoutReasons) => void;\n isLoading: boolean;\n user?: UserDto;\n logoutReason?: logoutReasons;\n loginError?: ErrorDetails;\n matchModule: (module: string) => boolean;\n matchTab: (tab: string) => boolean;\n userPermissions: UserProfileActionDto[];\n getCurrentPermission: () => UserProfileActionDto;\n canBlockRequest: () => boolean;\n hasAction: (module: string) => boolean;\n}\n\nexport type logoutReasons = \"FORBIDDEN\" | \"UNAUTHORIZED\" | \"SESSIONEXPIRED\" | \"NORMAL\";\nconst AuthContext = React.createContext(null);\n\nconst getLocaleStorageKey = (env: EPlatform) => {\n if (env === EPlatform.CARE4DOGS) {\n return \"user_c4d\";\n }\n if (env === EPlatform.PORTAL) {\n return \"user\";\n }\n return \"user\";\n};\n\nconst AuthProvider: React.FunctionComponent = ({ children }) => {\n const { platform } = usePlatformContext();\n\n const LOCALSTORAGE_AUTH_KEY = React.useMemo(() => getLocaleStorageKey(platform), [platform]);\n\n // Load from localstorage\n const { tUnsafe } = useTl();\n const history = useHistory();\n const userApi = React.useMemo(\n () =>\n new UsersApi({\n basePath: getBaseUrl(),\n }),\n [],\n );\n const [isLoading, setIsLoading] = React.useState(false);\n const [logoutReason, setLogoutReason] = React.useState();\n const [storedUser, setStoredUser] = useLocalStorage(LOCALSTORAGE_AUTH_KEY, null);\n\n const [user, setUser] = React.useState(storedUser);\n const [loginError, setCurrentError] = React.useState();\n const location = useLocation();\n\n const [userPermissions, setUserPermissions] = React.useState(null);\n\n const login = async (auth: AuthenticateCommand) => {\n try {\n setIsLoading(true);\n const userFromBackend = await userApi.authenticate(auth);\n if (userFromBackend && userFromBackend.mustResetPassword) {\n setStoredUser(userFromBackend);\n setUser(userFromBackend);\n setIsLoading(false);\n history.push(`${ERoutes.changePassword}`);\n return;\n }\n if (userFromBackend && userFromBackend.mustChangePassword) {\n setStoredUser(userFromBackend);\n setUser(userFromBackend);\n setIsLoading(false);\n history.push(`${EDrupalRoutes.changePassword}`);\n return userFromBackend;\n }\n if (userFromBackend) {\n setStoredUser(userFromBackend);\n }\n setUser(userFromBackend);\n setCurrentError(null);\n setIsLoading(false);\n if (userFromBackend.platform === EPlatform.CARE4DOGS && userFromBackend.defaultRoute) {\n history.push(userFromBackend.defaultRoute);\n }\n return userFromBackend;\n } catch (error) {\n const details: ErrorDetails = JSON.parse(error.response);\n setCurrentError({\n ...details,\n message: tUnsafe(`BackendError_${details.errorCode}`),\n });\n }\n setIsLoading(false);\n };\n\n const logout = React.useCallback(\n (reason: logoutReasons = \"NORMAL\") => {\n setwasForbidden(reason === \"FORBIDDEN\");\n setUser(null);\n setLogoutReason(reason);\n setUserPermissions(null);\n localStorage.removeItem(LOCALSTORAGE_AUTH_KEY);\n },\n [LOCALSTORAGE_AUTH_KEY],\n );\n\n React.useEffect(() => {\n if (userPermissions === null && storedUser) {\n const config = getbasicconfig({\n token: storedUser.token,\n logout: logout,\n });\n const userApiWithToken = new UsersApi(config);\n userApiWithToken\n .getUserProfileActions()\n .then(setUserPermissions)\n .catch((error) => {\n console.error(error);\n });\n }\n }, [logout, storedUser, userApi, userPermissions]);\n\n const [wasForbidden, setwasForbidden] = React.useState(false);\n\n const expirationDate = React.useMemo(() => {\n if (user) {\n const decoded: any = jwtDecode(user?.token);\n return new Date(decoded.exp * 1000);\n } else {\n return null;\n }\n }, [user]);\n\n const refreshDateThreshold = React.useMemo(() => {\n if (!expirationDate) {\n return 0;\n }\n const now = new Date();\n const diff = expirationDate.getTime() - now.getTime();\n\n return new Date(now.getTime() + diff * 0.75);\n }, [expirationDate]);\n\n React.useEffect(() => {\n const interval = setInterval(() => {\n if (refreshDateThreshold && expirationDate) {\n const now = new Date();\n if (now > expirationDate) {\n logout(\"SESSIONEXPIRED\");\n }\n }\n }, 1000);\n return () => clearInterval(interval);\n }, [expirationDate, logout, refreshDateThreshold]);\n\n React.useEffect(() => {\n if (userPermissions && userPermissions.length === 0 && storedUser) {\n if (storedUser.platform === EPlatform.CARE4DOGS) {\n history.push(`${ERoutes.unauthorized}`);\n }\n }\n }, [history, storedUser, userPermissions]);\n\n const matchModule = React.useCallback(\n (module: string) => {\n if (user?.profile === EUserProfile.God) return true;\n if (!userPermissions) return false;\n return userPermissions.some((p) => p.module.toUpperCase() === module.toUpperCase());\n },\n [user, userPermissions],\n );\n const matchTab = React.useCallback(\n (tab: string) => {\n if (!userPermissions) return false;\n const module = location.pathname.split(\"/\")[1].toUpperCase();\n return userPermissions.some(\n (p) => p.tab && p.module.toUpperCase() === module && p.tab.toUpperCase() === tab.toUpperCase(),\n );\n },\n [location.pathname, userPermissions],\n );\n\n const canBlockRequest = React.useCallback(() => {\n return userPermissions.some(\n (p) =>\n p.module.toLowerCase() === \"requests\" && p.permission.toUpperCase() === \"E\" && p.tab.toLowerCase() === \"block\",\n );\n }, [userPermissions]);\n\n const getCurrentPermission = React.useCallback(() => {\n let permission = null;\n if (!userPermissions) return null;\n const module = location.pathname.split(\"/\")[1].toUpperCase();\n permission = userPermissions.find(\n (p) => p.module.toUpperCase() === module.toUpperCase() && (p.tab === \"SEARCH\" || p.tab === \"\" || !p.tab),\n );\n if (location.pathname.split(\"/\").length > 4) {\n const tab = location.pathname.split(\"/\")[3].toUpperCase();\n permission = userPermissions.find(\n (p) => p.tab && p.module.toUpperCase() === module && p.tab.toUpperCase() === tab.toUpperCase(),\n );\n }\n return permission;\n }, [location.pathname, userPermissions]);\n\n const hasAction = React.useCallback(\n (module: string) => {\n return !!userPermissions.find((c) => c.module.toUpperCase() === module.toUpperCase());\n },\n [userPermissions],\n );\n\n return (\n \n {children}\n \n );\n};\n\nconst useAuth = () => React.useContext(AuthContext);\n\nexport { AuthProvider, useAuth };\n","import * as React from \"react\";\n\nimport { IBreadcrumbProps } from \"@blueprintjs/core\";\n\ninterface IBreadcumbContext {\n breadcrumbs: IBreadcrumbProps[];\n setBaseBreadcrumb: (breadCrumb: IBreadcrumbProps[]) => void;\n setDetailsBreadcrumb: (breadCrum: IBreadcrumbProps[]) => void;\n}\n\nexport const BreadcrumbContext = React.createContext(null);\n\nexport const BreadcrumbProvider: React.FunctionComponent = ({ children }) => {\n const [baseBreadcrumb, setBaseBreadcrumb] = React.useState([]);\n const [detailsBreadcrumb, setDetailsBreadcrumb] = React.useState([]);\n\n const breadcrumbs = React.useMemo(() => [...baseBreadcrumb, ...detailsBreadcrumb], [\n baseBreadcrumb,\n detailsBreadcrumb,\n ]);\n\n React.useEffect(() => {\n document.title = breadcrumbs && breadcrumbs[0] ? `C4D > ${breadcrumbs[0].text.toString()}` : \"SRSH - Care4Dogs\";\n }, [breadcrumbs]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useBreadcrumbs = () => React.useContext(BreadcrumbContext);\n","import * as React from \"react\";\nimport { IButtonProps } from \"@blueprintjs/core\";\n\nexport type DialogResult = \"yes\" | \"no\" | \"ok\" | \"cancel\";\nexport type DialogResultButtonType = Omit & { resultType: DialogResult };\ntype ConfirmDialogData = {\n title?: string;\n buttons?: Array;\n message: string;\n onDialogClosed?: (result: DialogResult) => void;\n onConfirmed?: () => void;\n};\nexport type ConfirmDialogDataPromise = Omit;\n\ninterface IDialogContext {\n showDialog: (data: ConfirmDialogData) => void;\n showDialogPromise: (data: ConfirmDialogDataPromise) => Promise;\n hideDialog: (result: DialogResult) => void;\n dialogData: Omit;\n}\n\nconst DialogContext = React.createContext(null);\n\nconst DialogProvider: React.FunctionComponent = ({ children }) => {\n const [dialogData, setDialogData] = React.useState(null);\n\n const showDialog = React.useCallback(\n (data: ConfirmDialogData) => {\n setDialogData(data);\n },\n [setDialogData],\n );\n\n const hideDialog = React.useCallback(\n (result: DialogResult) => {\n const { onDialogClosed, onConfirmed } = dialogData;\n setDialogData(null);\n if (onDialogClosed) onDialogClosed(result);\n if ((result === \"ok\" || result === \"yes\") && onConfirmed) {\n onConfirmed();\n }\n },\n [dialogData],\n );\n\n const showDialogPromise = React.useCallback(\n (data: ConfirmDialogData) => {\n let res;\n const promise = new Promise((resolve) => {\n res = resolve;\n });\n const { ...other } = data;\n\n showDialog({\n ...other,\n onDialogClosed: (result: DialogResult) => {\n res(result);\n },\n });\n return promise;\n },\n [showDialog],\n );\n\n return (\n \n {children}\n \n );\n};\n\nconst useDialog = () => React.useContext(DialogContext);\n\nexport { DialogProvider, useDialog };\n","import * as React from \"react\";\nimport { produce } from \"immer\";\n\nexport type ApplicationEvents =\n | \"LanguageChanged\"\n | \"RequestRefresh\"\n | \"RefreshSearchTables\"\n | \"ReloadTitlesTable\"\n | \"RefreshForm\"\n | \"RefetchRequestStatuses\";\n\ninterface IEventsContext {\n dispatchEvent: (event: ApplicationEvents, data?: any) => void;\n subscribeToEvent: (event: ApplicationEvents, callback: CallBackType) => void;\n unsubscribeEvent: (event: ApplicationEvents, callback: CallBackType) => void;\n}\n\nconst EventsContext = React.createContext(null);\n\ninterface IEventsProviderProps extends React.PropsWithChildren {}\n\ntype CallBackType = (data?: any) => void;\n\nexport const EventsProvider: React.FunctionComponent = ({ children }) => {\n const [events, setEvents] = React.useState<{ [event: string]: Array }>({});\n const dispatchEvent = React.useCallback(\n (event: string, data?: any) => {\n if (!events[event]) return;\n events[event].forEach((cb) => cb(data));\n },\n [events]\n );\n const subscribeToEvent = React.useCallback((event: ApplicationEvents, callback: CallBackType) => {\n setEvents((prev) =>\n produce(prev, (draft) => {\n if (!draft[event]) {\n draft[event] = [];\n }\n draft[event].push(callback);\n })\n );\n }, []);\n\n const unsubscribeEvent = React.useCallback((event: ApplicationEvents, callback: CallBackType) => {\n setEvents((prev) =>\n produce(prev, (draft) => {\n if (draft[event]) {\n draft[event] = draft[event].filter((cb) => cb !== callback);\n }\n })\n );\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useEventsContext = () => React.useContext(EventsContext);\n\n// export const useEventSubscribe = (event: ApplicationEvents, callback: (data: any) => void) => {\n// const { subscribeToEvent, unsubscribeEvent } = useEventsContext();\n\n// React.useEffect(() => {\n// subscribeToEvent(event, callback);\n// return () => unsubscribeEvent(event, callback);\n// }, [callback, event, subscribeToEvent, unsubscribeEvent]);\n// };\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { useApiService } from \"../hooks\";\nimport { IngenicoSettings, LanguageApi, LanguageDto, SystemApi, SystemVersionDto } from \"../api\";\nimport i18n from \"i18next\";\nimport { useEventsContext } from \"./EventContext\";\nimport { useLocalStorageState, useRequest } from \"ahooks\";\n\ninterface IGlobalDataContext {\n systemInfo?: SystemVersionDto;\n ingenicoSettings?: IngenicoSettings;\n currentLanguage?: LanguageDto;\n setLanguage?: (language: LanguageDto) => void;\n setLanguageCode?: (language: string) => void;\n appVersion: string;\n shortVersion: string;\n backendNotReacheable: boolean;\n loading: boolean;\n languages: LanguageDto[];\n retry: () => void;\n}\n\nconst GlobalDataContext = React.createContext(null);\n\ninterface IGlobalDataProviderProps extends PropsWithChildren {}\n\nexport const GlobalDataProvider: React.FunctionComponent = ({ children }) => {\n const systemApi = useApiService(SystemApi);\n const languageApi = useApiService(LanguageApi);\n const [currentLanguage, setCurrentLanguage] = useLocalStorageState(\"currentLanguage\");\n\n const { dispatchEvent } = useEventsContext();\n\n const setLanguage = React.useCallback(\n (lang: LanguageDto) => {\n setCurrentLanguage(lang);\n dispatchEvent(\"LanguageChanged\", currentLanguage);\n },\n [currentLanguage, dispatchEvent, setCurrentLanguage]\n );\n const {\n data: globalData,\n loading: globalDataLoading,\n error,\n refresh: trigger,\n } = useRequest(async () => {\n const [systemInfo, languages, ingenicoSettings] = await Promise.all([\n systemApi.get(),\n languageApi.getLanguages(true),\n systemApi.ingenicoSettings(),\n ]);\n\n return { systemInfo, languages, ingenicoSettings };\n });\n\n const findLanguage = React.useCallback(\n (lang: string) => {\n const langFound = globalData?.languages.find((d) => d.languageCode === lang);\n if (langFound) {\n return langFound;\n } else {\n return LanguageDto.fromJS({ languageId: 2, languageCode: \"NL\" });\n }\n },\n [globalData?.languages]\n );\n\n const setLanguageCode = React.useCallback(\n (lang: string) => {\n const lg = findLanguage(lang);\n setLanguage(lg);\n },\n [findLanguage, setLanguage]\n );\n\n React.useEffect(() => {\n i18n.changeLanguage(currentLanguage?.languageCode || \"FR\");\n }, [currentLanguage]);\n\n React.useEffect(() => {\n if (currentLanguage === null || currentLanguage?.languageCode === \"EN\") {\n setCurrentLanguage(findLanguage(\"FR\"));\n }\n }, [currentLanguage, findLanguage, setCurrentLanguage]);\n\n const appVersion = React.useMemo(() => {\n if (globalData?.systemInfo?.applicationVersion) {\n console.log(\"SRSH - Care4Dogs\");\n console.log(\"Version \" + globalData?.systemInfo?.applicationVersion);\n return globalData?.systemInfo?.applicationVersion.split(\".Branch\")[0];\n } else {\n return \"\";\n }\n }, [globalData]);\n\n const backendNotReachable = React.useMemo(() => globalDataLoading || !!error, [error, globalDataLoading]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useGlobalData = () => React.useContext(GlobalDataContext);\n","import { useLocalStorage } from \"nsitools-react\";\nimport * as React from \"react\";\n\ntype CriteriaRouteType = {\n [route: string]: any;\n};\n\ninterface ISearchCriteriaContext {\n setCriterias: (route: string, criteria: object) => void;\n criterias: CriteriaRouteType;\n clearCriterias: () => void;\n}\nconst SearchCriteriaContext = React.createContext(null);\n\nconst LOCAL_STORAGE_KEY = \"SearchCriterias\";\n\nexport const SearchCriteriaProvider: React.FunctionComponent = ({ children }) => {\n const [routeCriteria, setRouteCriteria] = useLocalStorage(LOCAL_STORAGE_KEY, {});\n const clearCriterias = React.useCallback(() => {\n setRouteCriteria({});\n }, [setRouteCriteria]);\n const setCriterias = React.useCallback(\n (route: string, sObj: any) => {\n const origString = JSON.stringify(routeCriteria[route]);\n const objString = JSON.stringify(sObj);\n if (origString !== objString) {\n setRouteCriteria((c) => {\n return {\n ...c,\n [route]: sObj,\n };\n });\n }\n },\n [routeCriteria, setRouteCriteria],\n );\n\n return (\n \n {children}\n \n );\n};\n\nexport const useSearchCriteriaContext = () => React.useContext(SearchCriteriaContext);\n","import * as React from \"react\";\nimport { useHistory, useLocation } from \"react-router\";\n\ninterface INavigationContext {\n navigateWithBackReference: (route: string) => void;\n goBack: (defaultRoute: string) => void;\n clearBackRoute: () => void;\n backReference?: string;\n}\n\nconst NavigationContext = React.createContext(null);\n\ninterface INavigationProviderProps extends React.PropsWithChildren {}\n\nexport const NavigationProvider: React.FunctionComponent = ({ children }) => {\n const history = useHistory();\n\n const location = useLocation();\n\n const [previousPage, setPreviousPage] = React.useState();\n\n const navigateWithBackReference = React.useCallback(\n (route: string) => {\n setPreviousPage(location.pathname);\n // Capture current page\n history.push(route);\n },\n [history, location.pathname],\n );\n\n const goBack = React.useCallback(\n (defaultRoute: string) => {\n if (previousPage) {\n history.push(previousPage);\n setPreviousPage(null);\n } else {\n history.push(defaultRoute);\n }\n },\n [history, previousPage],\n );\n\n const clearBackRoute = React.useCallback(() => {\n setPreviousPage(null);\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useNavigationContext = () => React.useContext(NavigationContext);\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { useLocalStorage } from \"../hooks\";\nimport { ETLCodes } from \"../locales\";\n\ninterface ActionDetail {\n route: string;\n tlCode?: ETLCodes;\n name?: string;\n}\n\ninterface IActionHistoryContext extends React.PropsWithChildren {\n actionHistory: Array;\n addToActionHistory?: (route: ActionDetail) => void;\n}\n\nconst ActionHistoryContext = React.createContext(null);\n\ninterface IDetailHistoryProviderProps extends PropsWithChildren {}\n\nconst LOCALSTORAGE_ACTION_HISTORY = \"ACTIONS_HISTORY\";\nconst MAX_ITEMS_IN_HISTORY = 15;\n\nexport const ActionHistoryProvider: React.FunctionComponent = ({ children }) => {\n const [actionHistory, setActionHistory] = useLocalStorage>(LOCALSTORAGE_ACTION_HISTORY, []);\n\n const addToActionHistory = React.useCallback(\n (actionDetail: ActionDetail) => {\n const toDelete = actionHistory.findIndex((c) => c.name === actionDetail.name);\n if (toDelete && toDelete >= 0) {\n actionHistory.splice(toDelete, 1);\n }\n const newArray = [actionDetail, ...actionHistory];\n const nextHistory = newArray\n .filter((item, pos) => newArray.map((c) => c.name).indexOf(item.name) === pos)\n .slice(0, MAX_ITEMS_IN_HISTORY);\n if (JSON.stringify(nextHistory) !== JSON.stringify(actionHistory) && actionDetail.name) {\n setActionHistory(nextHistory);\n }\n },\n [setActionHistory, actionHistory],\n );\n\n return (\n \n {children}\n \n );\n};\n\nexport const useDetailHistoryContext = () => React.useContext(ActionHistoryContext);\n","import { IOptionProps } from \"@blueprintjs/core\";\nimport { useApiEffect } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { useApiService } from \".\";\nimport { ReferentialApi, ReferentialItemDto } from \"../api\";\n\nexport const useReferential = (\n func: (api: ReferentialApi) => Promise,\n asInt?: boolean,\n dependencies?: any[],\n nullable: boolean = true\n): [IOptionProps[], boolean, string, Function] => {\n const api = useApiService(ReferentialApi);\n const [data, loading, error, trigger] = useApiEffect(() => func(api), dependencies);\n\n const newData = React.useMemo(() => {\n if (data) {\n return data?.map((p) => {\n return { value: p.idValue ? (asInt ? +p.idValue : p.idValue) : null, label: p.displayValue };\n }) as IOptionProps[];\n }\n }, [asInt, data]);\n\n const finalData = React.useMemo(() => {\n // if (newData && nullable) {\n // newData.unshift({ value: undefined, label: \"\" } as IOptionProps);\n // }\n return newData;\n }, [newData]);\n\n return [finalData, loading, error, trigger];\n};\n","import { ERequestType } from \"../api\";\nimport { ERoutes } from \"../ERoutes\";\nimport { EDrupalRoutes } from \"../drupal/EDrupalRoutes\";\nexport function getRouteStr(requestTypeCode, subRequestId, mode) {\n switch (requestTypeCode) {\n case ERequestType.WorkAttestRequest:\n return `${ERoutes.workAttestationRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.WorkbookRequest:\n return `${ERoutes.workbookRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.DogOwnershipChangeRequest:\n return `${ERoutes.rsh}/${subRequestId}/detail/${mode}`;\n case ERequestType.KennelImportRequest:\n return `${ERoutes.affixRequest}/${subRequestId}/detail/${mode}/kennelImport`;\n case ERequestType.KennelOwnershipChangeRequest:\n return `${ERoutes.affixRequest}/${subRequestId}/detail/${mode}/kennelOwnership`;\n case ERequestType.NewKennelRequest:\n return `${ERoutes.affixRequest}/${subRequestId}/detail/${mode}/newKennel`;\n case ERequestType.KennelExportRequest:\n return `${ERoutes.affixRequest}/${subRequestId}/detail/${mode}/kennelExport`;\n case ERequestType.KennelNameChangeRequest:\n return `${ERoutes.affixRequest}/${subRequestId}/detail/${mode}/kennelNameChange`;\n case ERequestType.DogTempOwnershipChangeRequest:\n return `${ERoutes.tempRsh}/${subRequestId}/detail/${mode}`;\n case ERequestType.BroodRequest:\n return `${ERoutes.broodRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.PedigreeDuplicataRequest:\n return `${ERoutes.pedigreeDuplicata}/${subRequestId}/detail/${mode}`;\n case ERequestType.CompetitionRequest:\n return `${ERoutes.competitionRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.PedigreeRequest:\n return `${ERoutes.rish}/${subRequestId}/detail/${mode}`;\n case ERequestType.TitleRequest:\n return `${ERoutes.titleRequests}/${subRequestId}/detail/${mode}`;\n case ERequestType.ImportRequest:\n return `${ERoutes.importRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.DysplasiaRequest:\n return `${ERoutes.dysplasiaRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.HealthTestRequest:\n return `${ERoutes.healthTestRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.MiscellaneousRequest:\n return `${ERoutes.miscellaneousRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.MembershipRequest:\n return `${ERoutes.membershipRequest}/${subRequestId}/detail/${mode}`;\n case ERequestType.ExpatriationRequest:\n return `${ERoutes.expatriationRequest}/${subRequestId}/detail/${mode}`;\n }\n}\nexport function getDrupalRouteStr(requestType: ERequestType) {\n switch (requestType) {\n case ERequestType.WorkAttestRequest:\n return EDrupalRoutes.workAttestRequest;\n case ERequestType.WorkbookRequest:\n return EDrupalRoutes.workbookRequest;\n case ERequestType.DogOwnershipChangeRequest:\n return EDrupalRoutes.dogOwnershipChangeRequest;\n case ERequestType.KennelImportRequest:\n return EDrupalRoutes.kennelImportRequest;\n case ERequestType.KennelOwnershipChangeRequest:\n return EDrupalRoutes.kennelOwnershipChangeRequest;\n case ERequestType.NewKennelRequest:\n return EDrupalRoutes.newKennelRequest;\n case ERequestType.KennelExportRequest:\n return EDrupalRoutes.kennelExportRequest;\n case ERequestType.KennelNameChangeRequest:\n return EDrupalRoutes.kennelNameChangeRequest;\n case ERequestType.DogTempOwnershipChangeRequest:\n return EDrupalRoutes.tempRshRequest;\n case ERequestType.BroodRequest:\n return EDrupalRoutes.broodRequest;\n case ERequestType.PedigreeDuplicataRequest:\n return EDrupalRoutes.pedigreeDuplicataRequest;\n case ERequestType.CompetitionRequest:\n return EDrupalRoutes.portalNewCompetitionRequest;\n case ERequestType.PedigreeRequest:\n return EDrupalRoutes.rishRequest;\n case ERequestType.TitleRequest:\n return EDrupalRoutes.titleRequest;\n case ERequestType.ImportRequest:\n return EDrupalRoutes.ImportRequst;\n case ERequestType.DysplasiaRequest:\n return EDrupalRoutes.dysplasiaRequest;\n case ERequestType.HealthTestRequest:\n return EDrupalRoutes.healthTestRequest;\n case ERequestType.MiscellaneousRequest:\n return EDrupalRoutes.miscellaneousRequest;\n case ERequestType.MembershipRequest:\n return EDrupalRoutes.membershipRequest;\n // case ERequestType.ExpatriationRequest:\n // return `${EDrupalRoutes.expatriationRequest}/${subRequestId}/detail/${mode}`;\n }\n}\n","import { Breadcrumbs, IBreadcrumbsProps } from \"@blueprintjs/core\";\nimport * as React from \"react\";\n\ninterface IAppBreadcrumbProps extends Pick {}\n\nexport const AppBreadcrumb: React.FunctionComponent = (props) => {\n return ;\n};\n","import * as React from \"react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\nimport { Intent, Button } from \"@blueprintjs/core\";\n\ninterface ICancelButtonProps extends ICustomButtonProps {}\n\nexport const CancelButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n disabled,\n loading,\n intent = Intent.NONE,\n}) => {\n const { t } = useTl();\n\n return (\n \n );\n};\n","import { Button, Intent } from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport * as React from \"react\";\n\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\nimport { useAuth } from \"../../contexts\";\n\ninterface IDeleteButtonProps extends Omit {\n onDelete?: () => void;\n secured?: boolean;\n}\n\nexport const DeleteButton: React.FunctionComponent = ({\n minimal = true,\n onDelete,\n loading,\n disabled,\n intent = Intent.DANGER,\n secured = true,\n ...otherProps\n}) => {\n const { t } = useTl();\n const { getCurrentPermission } = useAuth();\n const hasRights = React.useMemo(() => getCurrentPermission()?.permission === \"RWD\", [getCurrentPermission]);\n return (\n (hasRights || !secured) && (\n \n )\n );\n};\n","import * as React from \"react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { Intent, Button } from \"@blueprintjs/core\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\n\ninterface ISaveButtonProps extends ICustomButtonProps {}\n\nexport const SaveButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n disabled,\n intent = Intent.PRIMARY,\n text,\n}) => {\n const { t } = useTl();\n return (\n \n );\n};\n","import * as React from \"react\";\nimport { ToolTipButton } from \"nsitools-react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\nimport { Intent } from \"@blueprintjs/core\";\nimport { useAuth } from \"../../contexts\";\n\ninterface IEditButtonProps extends ICustomButtonProps {\n secured?: boolean;\n}\n\nexport const EditButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n disabled,\n intent = Intent.NONE,\n text,\n secured = true,\n}) => {\n const { t } = useTl();\n const { getCurrentPermission } = useAuth();\n const hasRights = React.useMemo(() => getCurrentPermission()?.permission.includes(\"RW\"), [getCurrentPermission]);\n\n return (\n \n );\n};\n","import * as React from \"react\";\nimport { ToolTipButton } from \"nsitools-react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\nimport { Intent } from \"@blueprintjs/core\";\nimport { useAuth } from \"../../contexts\";\n\ninterface IViewButtonProps extends ICustomButtonProps {\n secured?: boolean;\n}\n\nexport const ViewButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n text,\n disabled,\n intent = Intent.NONE,\n secured = true,\n}) => {\n const { t } = useTl();\n const { getCurrentPermission } = useAuth();\n const hasRights = React.useMemo(() => getCurrentPermission()?.permission.includes(\"R\"), [getCurrentPermission]);\n return (\n \n );\n};\n","import { Intent } from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ToolTipButton } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\n\ninterface IEmailProps extends Omit {\n email: string;\n text?: string;\n}\n\nexport const EmailButton: React.FunctionComponent = ({\n minimal = true,\n email,\n loading,\n disabled,\n text,\n intent = Intent.NONE,\n}) => {\n const onClickMail = React.useCallback(() => {\n const el = document.createElement(\"a\");\n el.setAttribute(\"href\", `mailto:${email}`);\n el.click();\n }, [email]);\n\n return email ? (\n \n ) : (\n <>\n );\n};\n","import * as React from \"react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\nimport { Intent, Button } from \"@blueprintjs/core\";\nimport { useAuth } from \"../../contexts\";\n\ninterface IAddButtonProps extends ICustomButtonProps {\n secured?: boolean;\n}\n\nexport const AddButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n disabled,\n intent = Intent.PRIMARY,\n text,\n secured = true,\n}) => {\n const { t } = useTl();\n const { getCurrentPermission } = useAuth();\n const hasRights = React.useMemo(() => getCurrentPermission()?.permission.includes(\"RW\"), [getCurrentPermission]);\n return (\n (hasRights || !secured) && (\n \n )\n );\n};\n","import * as React from \"react\";\nimport { ToolTipButton } from \"nsitools-react\";\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { ERoutes } from \"../../ERoutes\";\nimport { useNavigationContext } from \"../../contexts\";\ninterface IBackButtonProps {\n backRoute: ERoutes | string;\n}\n\nexport const BackButton: React.FunctionComponent = ({ backRoute }) => {\n const { t } = useTl();\n const { goBack } = useNavigationContext();\n\n return (\n goBack(backRoute)}\n />\n );\n};\n","import * as React from \"react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { Intent, Button } from \"@blueprintjs/core\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\n\ninterface ISearchButtonProps extends ICustomButtonProps {}\n\nexport const SearchButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n disabled,\n intent = Intent.PRIMARY,\n}) => {\n const { t } = useTl();\n return (\n \n );\n};\n","import * as React from \"react\";\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { ToolTipButton } from \"nsitools-react\";\nimport assets from \"../../assets\";\nexport interface ISharepointButtonProps {\n onClick: (e) => void;\n text?: string;\n existsInShp?: boolean;\n loading?: boolean;\n}\n\nexport const SharepointButton: React.FunctionComponent = ({\n onClick,\n text,\n existsInShp = true,\n loading = false,\n}) => {\n const { t } = useTl();\n\n const tooltipText = React.useMemo(() => (existsInShp ? t(ETLCodes.GoToSharePoint) : t(ETLCodes.CreateInSharepoint)), [\n existsInShp,\n t,\n ]);\n\n return (\n \n \"\"\n \n );\n};\n","import * as React from \"react\";\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { showError } from \"nsitools-react\";\nimport { Button } from \"@blueprintjs/core\";\nimport { FileResponse } from \"../../api\";\nimport { saveAs } from \"file-saver\";\n\nexport interface IExportButtonProps {\n exportFunction?: (sObj: any) => Promise;\n sObj?: any;\n}\n\nexport const ExportButton: React.FunctionComponent = ({ sObj, exportFunction }) => {\n const { t } = useTl();\n const [loading, setloading] = React.useState(false);\n const ExportAndDownlad = React.useCallback(async () => {\n setloading(true);\n try {\n const file = await exportFunction(sObj);\n saveAs(file.data, file.fileName);\n } catch {\n showError(t(ETLCodes.Error));\n }\n setloading(false);\n }, [exportFunction, sObj, t]);\n return (\n }\n onClick={ExportAndDownlad}\n minimal={true}\n intent={\"primary\"}\n />\n );\n};\n","import * as React from \"react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { Intent, Button } from \"@blueprintjs/core\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\n\ninterface IFusionButtonProps extends ICustomButtonProps {}\n\nexport const FusionButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n disabled,\n intent = Intent.PRIMARY,\n text,\n}) => {\n const { t } = useTl();\n return (\n \n );\n};\n","import * as React from \"react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { Intent, Button } from \"@blueprintjs/core\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\n\ninterface ISplitButtonProps extends ICustomButtonProps {}\n\nexport const SplitButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n disabled,\n intent = Intent.PRIMARY,\n text,\n}) => {\n const { t } = useTl();\n return (\n \n );\n};\n","import * as React from \"react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\nimport { Intent, Button } from \"@blueprintjs/core\";\nimport { useAuth } from \"../../contexts\";\n\ninterface ICloseButtonProps extends ICustomButtonProps {\n secured?: boolean;\n}\n\nexport const CloseButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n disabled,\n intent = Intent.PRIMARY,\n text,\n secured = true,\n}) => {\n const { t } = useTl();\n const { getCurrentPermission } = useAuth();\n const hasRights = React.useMemo(() => getCurrentPermission()?.permission.includes(\"RW\"), [getCurrentPermission]);\n return (\n (hasRights || !secured) && (\n \n )\n );\n};\n","import { Intent } from \"@blueprintjs/core\";\nimport { ToolTipButton } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\n\ninterface ISharepointFileButtonProps extends ICustomButtonProps {\n text: string;\n tooltip?: ETLCodes;\n}\n\nexport const SharepointFileButton: React.FunctionComponent = ({\n minimal = true,\n loading,\n disabled,\n text,\n intent = Intent.PRIMARY,\n tooltip = ETLCodes.DownloadDocument,\n onClick,\n}) => {\n const { t } = useTl();\n return (\n \n );\n};\n","import * as React from \"react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\nimport { Intent, Button } from \"@blueprintjs/core\";\nimport { useAuth } from \"../../contexts\";\n\ninterface IPrintButtonProps extends ICustomButtonProps {\n secured?: boolean;\n}\n\nexport const PrintButton: React.FunctionComponent = ({\n minimal = true,\n onClick,\n loading,\n disabled,\n intent = Intent.PRIMARY,\n text,\n secured = true,\n}) => {\n const { t } = useTl();\n const { getCurrentPermission } = useAuth();\n const hasRights = React.useMemo(() => getCurrentPermission()?.permission.includes(\"RW\"), [getCurrentPermission]);\n return (\n (hasRights || !secured) && (\n \n )\n );\n};\n","import { Intent } from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { ToolTipButton } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { ICustomButtonProps } from \"./ICustomButtonProps\";\n\ninterface IUploadSharepointButtonProps extends ICustomButtonProps {\n text: string;\n}\n\nexport const UploadSharepointButton: React.FunctionComponent = ({\n minimal = true,\n loading,\n disabled,\n text,\n intent = Intent.PRIMARY,\n onClick,\n}) => {\n const { t } = useTl();\n return (\n \n );\n};\n","import {\n Alignment,\n Button,\n Classes,\n Colors,\n HTMLSelect,\n InputGroup,\n Menu,\n MenuItem,\n Navbar,\n Popover,\n} from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { showError } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { ErrorDetails, LanguageApi, RequestApi, UsersApi } from \"../api\";\nimport assets from \"../assets\";\nimport {\n BreadcrumbContext,\n useDetailHistoryContext,\n useGlobalData,\n} from \"../contexts\";\nimport { useAuth } from \"../contexts\";\nimport { ERoutes } from \"../ERoutes\";\nimport { useApiService, useTl } from \"../hooks\";\nimport { useReferential } from \"../hooks/useReferential\";\nimport { ETLCodes } from \"../locales\";\nimport { getRouteStr } from \"../utils/RequestRouteUtil\";\nimport { AppBreadcrumb } from \"./AppBreadcrumb\";\nimport { SearchButton } from \"./applicationButtons\";\n\ninterface IHeaderProps {\n showMenuIcon: boolean;\n toggleLeftMenu?: () => void;\n isDark?: boolean;\n onDarkSwitchChange?: (e: boolean) => void;\n}\n\nconst NavBarStyled = styled(Navbar)`\n background-image: linear-gradient(\n to right,\n #0e5a8a,\n #0e5a8a 25%,\n rgba(255, 255, 255, 0.5),\n white 65%,\n #0e5a8a 80%\n ),\n url(${assets.images.dogBg2}) !important;\n background-position: 0% 35%;\n height: 75px !important;\n & > .${Classes.NAVBAR_GROUP} {\n height: 75px;\n }\n /* background-color: ${Colors.BLUE1} !important; */\n`;\nconst LogoContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\nconst HeaderText = styled.div`\n font-size: 1.2rem;\n font-weight: bold;\n font-family: \"Playfair Display\", serif;\n padding-left: 2rem;\n`;\n\nconst SrshImage = styled.img`\n height: 70px;\n`;\n\nconst RightContainer = styled.div`\n display: flex;\n flex-direction: row;\n & > * + * {\n margin-left: 0.5rem;\n }\n`;\n\nexport const Header: React.FC = (props) => {\n const history = useHistory();\n const { logout, user } = useAuth();\n const { t, tUnsafe } = useTl();\n const globalData = useGlobalData();\n const [languages, languagesLoading] = useReferential((c) => c.getLanguages());\n const languageApi = useApiService(LanguageApi);\n const requestApi = useApiService(RequestApi);\n const userApi = useApiService(UsersApi);\n const { breadcrumbs } = React.useContext(BreadcrumbContext);\n const { actionHistory } = useDetailHistoryContext();\n const { userPermissions } = useAuth();\n const [requestSearch, setrequestSearch] = React.useState();\n const [searchLoading, setsearchLoading] = React.useState();\n\n const changeLanguage = React.useCallback(\n async (c) => {\n const language = await languageApi.getByLanguageId(+c.target.value);\n if (user)\n await userApi.changeUserLanguage(user?.userId, language.languageId);\n globalData.setLanguage(language);\n },\n [globalData, languageApi, user, userApi]\n );\n const searchRequest = React.useCallback(async () => {\n setsearchLoading(true);\n try {\n const subRequestInfo = await requestApi.getByRequestNumberOrInvoice(\n requestSearch\n );\n const route = getRouteStr(\n subRequestInfo.requestType,\n subRequestInfo.subRequestId,\n \"view\"\n );\n history.push(route);\n } catch (error) {\n const details: ErrorDetails = JSON.parse(error.response);\n if (details?.errorCode) {\n showError(tUnsafe(`BackendError_${details.errorCode}`));\n } else {\n showError(t(ETLCodes.Error));\n }\n }\n setsearchLoading(false);\n }, [history, requestApi, requestSearch, t, tUnsafe]);\n\n return (\n
\n \n \n {props.toggleLeftMenu && props.showMenuIcon && (\n <>\n \n \n \n )}\n \n \n SRSH-KMSH\n \n \n {\n history.push(ERoutes.home);\n }}\n />\n \n \n \n \n \n
\n \n \n \n \n {user &&\n userPermissions &&\n userPermissions.some(\n (c) =>\n c.tab?.toUpperCase() === \"SEARCHREQUEST\" &&\n c.module?.toUpperCase() === \"HEADER\" &&\n c.permission === \"E\"\n ) && (\n setrequestSearch(e.target.value)}\n type=\"search\"\n rightElement={\n \n }\n placeholder={t(ETLCodes.Search)}\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n searchRequest();\n }\n }}\n />\n )}\n\n {actionHistory.length > 0 && user && (\n \n {actionHistory.map((d, i) => {\n return (\n history.push(d.route)}\n />\n );\n })}\n \n }\n >\n \n \n )}\n {!languagesLoading && (\n \n )}\n {user && (\n \n logout(\"NORMAL\")}\n />\n \n }\n >\n \n \n )}\n \n \n \n \n );\n};\n","import * as React from \"react\";\n\nexport type OpenedMenuId = {\n level: number;\n id: string;\n};\n\ninterface ICollapseAllContext {\n openedMenuId?: OpenedMenuId;\n setMenuOpenedId: (id: OpenedMenuId | null) => void;\n}\n\nexport const CollapseAllContext = React.createContext(null);\n","import styled from \"styled-components\";\n\nimport { Classes, Colors } from \"@blueprintjs/core\";\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: stretch;\n min-width: 255px;\n height: auto;\n background-color: ${Colors.DARK_GRAY4};\n & .${Classes.MENU} {\n padding: 0 !important;\n }\n`;\n","import * as React from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport styled from \"styled-components\";\nimport { Button, Collapse, Alignment, Colors, Classes } from \"@blueprintjs/core\";\nimport { INavigationItem } from \"./INavigationItem\";\nimport { useTl } from \"../../hooks\";\nimport { Container } from \"./Container\";\nimport { CollapseAllContext } from \"./CollapseAllContext\";\nimport classnames from \"classnames\";\nimport { useNavigationContext } from \"../../contexts\";\n\nconst ButtonStyled = styled(Button)`\n margin: 0em;\n &.level_0 {\n background-color: #0e5a8a !important;\n border-radius: 0;\n padding: 0.5em !important;\n &:hover {\n background-color: rgb(43, 149, 214) !important;\n }\n }\n &.level_1.has-children {\n /* border: 1px solid white; */\n margin-top: 1px;\n margin-bottom: 1px;\n background-color: ${Colors.BLUE3} !important;\n border-radius: 0;\n &:hover {\n background-color: ${Colors.BLUE4} !important;\n }\n }\n &.is-active {\n font-weight: bold;\n background-color: ${Colors.GRAY1} !important;\n text-decoration: blink !important;\n }\n`;\n\nexport interface IMenuItemProps {\n item: INavigationItem;\n level: number;\n disabled?: boolean;\n maxAutoCollapseLevel?: number;\n onNavigation?: () => void;\n}\n\nexport const MenuItem: React.FunctionComponent = ({\n item,\n level,\n disabled,\n maxAutoCollapseLevel = 999,\n onNavigation,\n}) => {\n const location = useLocation();\n const isActive = React.useMemo(() => item.route && location.pathname.startsWith(item.route), [item, location]);\n\n const [isExpanded, setIsExpanded] = React.useState(!!item.defaultOpened);\n const history = useHistory();\n const { t } = useTl();\n const id = React.useMemo(() => uuidv4(), []);\n const { openedMenuId, setMenuOpenedId } = React.useContext(CollapseAllContext);\n\n const { clearBackRoute } = useNavigationContext();\n\n React.useEffect(() => {\n const hasItemWithCurrentRoute = (itm: INavigationItem) => {\n if (itm.route && location.pathname.includes(itm.route)) {\n return true;\n }\n if (itm.items) {\n return itm.items.filter((i) => hasItemWithCurrentRoute(i)).length > 0;\n }\n return false;\n };\n\n if (hasItemWithCurrentRoute(item)) {\n setIsExpanded(true);\n setMenuOpenedId({ level, id });\n }\n }, [id, item, level, location.pathname, setMenuOpenedId]);\n\n React.useEffect(() => {\n if (openedMenuId?.level === level && openedMenuId?.id !== id && level <= maxAutoCollapseLevel) {\n setIsExpanded(false);\n }\n }, [id, level, maxAutoCollapseLevel, openedMenuId]);\n\n const hasChildren = React.useMemo(() => {\n return item.items && item.items.length > 0;\n }, [item]);\n\n const collapseIcon = React.useMemo(() => {\n if (hasChildren) {\n return isExpanded ? IconNames.CHEVRON_RIGHT : IconNames.CHEVRON_DOWN;\n } else {\n return IconNames.BLANK;\n }\n }, [hasChildren, isExpanded]);\n\n const onClick = React.useCallback(() => {\n if (hasChildren) {\n if (!isExpanded) {\n setMenuOpenedId({ level, id });\n }\n setIsExpanded((e) => !e);\n } else if (item.route) {\n clearBackRoute();\n history.push(item.route);\n if (onNavigation) {\n onNavigation();\n }\n }\n }, [hasChildren, item.route, isExpanded, setMenuOpenedId, level, id, clearBackRoute, history, onNavigation]);\n\n return (\n <>\n {item.startGroupTitle &&
{item.startGroupTitle}
}\n \n ) : (\n item.icon\n )\n }\n rightIcon={collapseIcon}\n onClick={onClick}\n style={{ paddingLeft: `${level + 0.1}em` }}\n minimal={true}\n className={classnames([`level_${level}`, { \"has-children\": hasChildren, \"is-active\": isActive }])}\n alignText={Alignment.LEFT}\n small={true}\n disabled={disabled}\n />\n \n \n {item.items &&\n item.items!.map((itm, index) => (\n \n ))}\n \n \n \n );\n};\n","import { Classes, MenuItem } from \"@blueprintjs/core\";\nimport { ItemPredicate, ItemRenderer, Suggest } from \"@blueprintjs/select\";\nimport { orderBy } from \"lodash\";\nimport * as React from \"react\";\nimport { useHistory } from \"react-router\";\nimport styled from \"styled-components\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { INavigationItem } from \".\";\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\n\nfunction escapeRegExpChars(text: string) {\n return text.replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, \"\\\\$1\");\n}\n\nfunction highlightText(text: string, query: string) {\n let lastIndex = 0;\n const words = query\n .split(/\\s+/)\n .filter((word) => word.length > 0)\n .map(escapeRegExpChars);\n if (words.length === 0) {\n return [text];\n }\n const regexp = new RegExp(words.join(\"|\"), \"gi\");\n const tokens: React.ReactNode[] = [];\n while (true) {\n const match = regexp.exec(text);\n if (!match) {\n break;\n }\n const length = match[0].length;\n const before = text.slice(lastIndex, regexp.lastIndex - length);\n if (before.length > 0) {\n tokens.push(before);\n }\n lastIndex = regexp.lastIndex;\n tokens.push({match[0]});\n }\n const rest = text.slice(lastIndex);\n if (rest.length > 0) {\n tokens.push(rest);\n }\n return tokens;\n}\n\nexport type FlattenedNavigationItems = {\n label: string;\n route: string;\n id: string;\n};\n\nexport interface IQuickAccessProps {\n navigationMenu: INavigationItem[];\n onNavigation?: () => void;\n}\n\nconst NavItemSuggest = Suggest.ofType();\n\nconst MyNavItemSuggest = styled(NavItemSuggest)`\n & .${Classes.MENU} {\n max-height: 200px !important;\n overflow: auto !important;\n }\n`;\n\nexport const QuickAccess: React.FunctionComponent = ({ navigationMenu, onNavigation }) => {\n const { t } = useTl();\n const history = useHistory();\n const list = React.useMemo(() => {\n const extractItemsFromNavMenu = (navMenu: INavigationItem[], parentLabel = \"\"): FlattenedNavigationItems[] => {\n return navMenu\n .map((mItem) => {\n const menuName = t(mItem?.name);\n const items: FlattenedNavigationItems[] = mItem?.route\n ? [{ label: parentLabel ? parentLabel + \" / \" + menuName : menuName, route: mItem?.route, id: uuidv4() }]\n : [];\n\n if (mItem?.items) {\n return [...items, ...extractItemsFromNavMenu(mItem?.items, menuName)];\n }\n return items;\n })\n .reduce((prev, curr) => [...prev, ...curr], []);\n };\n\n return orderBy(extractItemsFromNavMenu(navigationMenu), [\"label\"], [\"asc\"]);\n }, [navigationMenu, t]);\n\n const renderInputValue = React.useCallback((i: FlattenedNavigationItems) => i.label, []);\n const areItemsEquals = React.useCallback(\n (a: FlattenedNavigationItems, b: FlattenedNavigationItems) => a.route === b.route,\n []\n );\n\n const onChange = React.useCallback(\n (i: FlattenedNavigationItems) => {\n history.push(i.route);\n if (onNavigation) {\n onNavigation();\n }\n },\n [history, onNavigation]\n );\n\n const itemRenderer = React.useCallback>(\n (item: FlattenedNavigationItems, { handleClick, modifiers, query }) => {\n if (!modifiers.matchesPredicate) {\n return null;\n }\n const text = item.label;\n return (\n \n );\n },\n []\n );\n\n const filterList = React.useCallback>((query, item, _index, exactMatch) => {\n const normalizedTitle = item.label.toLowerCase();\n const normalizedQuery = query.toLowerCase();\n if (exactMatch) {\n return normalizedTitle === normalizedQuery;\n } else {\n return normalizedTitle.indexOf(normalizedQuery) >= 0;\n }\n }, []);\n\n return (\n }\n onItemSelect={onChange}\n itemRenderer={itemRenderer}\n itemPredicate={filterList}\n resetOnQuery={true}\n fill={true}\n selectedItem={null}\n openOnKeyDown={true}\n resetOnSelect={true}\n inputProps={{\n placeholder: t(ETLCodes.QuickAccess),\n leftIcon: \"search\"\n }}\n popoverProps={{\n minimal: true,\n usePortal: false,\n popoverClassName: \"quickaccess\"\n }}\n />\n );\n};\n","import { Classes, Colors, Menu } from \"@blueprintjs/core\";\nimport { ToolTipButton } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useLocation } from \"react-router\";\nimport styled from \"styled-components\";\n\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { CollapseAllContext, OpenedMenuId } from \"./CollapseAllContext\";\nimport { Container } from \"./Container\";\nimport { INavigationItem } from \"./INavigationItem\";\nimport { IMenuItemProps, MenuItem } from \"./MenuItem\";\nimport { QuickAccess } from \"./QuickAccess\";\n\ninterface INavigationMenuProps extends Pick {\n navigationMenu: INavigationItem[];\n isFixed: boolean;\n changeFixed: (value: boolean) => void;\n collapseOtherOnSelection?: boolean;\n maxAutoCollapseLevel?: number;\n}\n\nconst MenuStyled = styled(Menu)`\n display: flex;\n flex-direction: column;\n flex: 1;\n margin-top: 0;\n padding: 0;\n`;\n\nconst TitleContainer = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background-color: ${Colors.DARK_GRAY4};\n align-items: center;\n`;\n\nexport const NavigationMenu: React.FunctionComponent = ({\n navigationMenu,\n isFixed,\n changeFixed,\n collapseOtherOnSelection: closeOtherOnSelection,\n maxAutoCollapseLevel,\n onNavigation,\n}) => {\n const { t } = useTl();\n const [openedMenuId, setMenuOpenedId] = React.useState(null);\n const { pathname } = useLocation();\n\n const checkOpened = React.useCallback(\n (navItem: INavigationItem): INavigationItem => {\n let opened = false;\n if (navItem?.route && pathname.startsWith(navItem.route)) {\n opened = true;\n }\n const nextNavItems = navItem?.items ? navItem.items.map(checkOpened) : [];\n opened = opened || nextNavItems.filter((d) => d.defaultOpened).length > 0;\n return {\n ...navItem,\n defaultOpened: opened,\n items: nextNavItems,\n };\n },\n [pathname]\n );\n\n const navigationMenuFinal = React.useMemo(() => {\n // Keep menu original state for root route\n // if (pathname === \"/\") return navigationMenu;\n return navigationMenu.map(checkOpened);\n }, [checkOpened, navigationMenu]);\n\n return (\n \n \n
\n \n
\n {t(ETLCodes.Menu)} \n {/* */}\n
\n changeFixed(!isFixed)}\n />\n
\n \n
\n {},\n }}\n >\n \n \n {navigationMenuFinal.map((n, i) => (\n \n ))}\n \n \n
\n );\n};\n","import { Card, Colors, IBreadcrumbProps, IResizeEntry, ResizeSensor } from \"@blueprintjs/core\";\nimport { ErrorBoundary, Loading } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useHistory, useLocation } from \"react-router\";\n\nimport { ERoutes } from \"../ERoutes\";\nimport { useBreadcrumbs, useDetailHistoryContext } from \"../contexts\";\nimport styled from \"styled-components\";\nimport { ETLCodes } from \"../locales\";\nimport useComponentSize from \"@rehooks/component-size\";\nimport { useScroll } from \"ahooks\";\nimport { StickyContainer, Sticky } from \"react-sticky\";\nexport interface ICustomBreadcrumbProps extends Omit {\n route?: string | ERoutes;\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n width: 100%;\n height: 100%;\n align-self: stretch;\n //padding: 0.5em;\n overflow: auto;\n`;\n\nconst FixedStickyContainer = styled.div`\n //position: fixed;\n padding: 0rem;\n background-color: ${Colors.WHITE};\n z-index: 15;\n //margin: -0.5rem -0.5rem 0.5rem -0.5rem;\n`;\n\ninterface IPageBase extends React.PropsWithChildren {\n breadCrumbs?: ICustomBreadcrumbProps[];\n isLoading?: boolean;\n withCard?: boolean;\n actionHistory?: {\n tlCode: ETLCodes;\n name: string;\n id: number;\n };\n stickyContent?: () => React.ReactNode;\n}\nexport const PageBase: React.FunctionComponent = ({\n breadCrumbs,\n children,\n isLoading = false,\n withCard = true,\n actionHistory: newActionHistory,\n stickyContent = null,\n}) => {\n const { setBaseBreadcrumb, setDetailsBreadcrumb } = useBreadcrumbs();\n const { addToActionHistory, actionHistory } = useDetailHistoryContext();\n const history = useHistory();\n const scrollPosition = useScroll(document);\n\n const { pathname } = useLocation();\n\n React.useEffect(() => {\n if (newActionHistory && newActionHistory.id > 0) {\n addToActionHistory({\n route: pathname,\n tlCode: newActionHistory.tlCode,\n name: newActionHistory.name,\n });\n }\n }, [newActionHistory, addToActionHistory, pathname, actionHistory]);\n\n React.useEffect(() => {\n setDetailsBreadcrumb([]);\n }, [setDetailsBreadcrumb]);\n\n React.useEffect(() => {\n if (breadCrumbs) {\n const nextBr: IBreadcrumbProps[] = breadCrumbs.map((br) =>\n br.route\n ? {\n ...br,\n onClick: () => {\n if (br.route) {\n history.push(br.route);\n }\n },\n }\n : { ...br }\n );\n\n setBaseBreadcrumb(nextBr);\n }\n }, [breadCrumbs, history, setBaseBreadcrumb]);\n\n const fixedStickyContainerRef = React.useRef(null);\n let fixedStickyContainerDimensions = useComponentSize(fixedStickyContainerRef);\n\n const Wrapper = React.useMemo(() => {\n if (withCard)\n return (props: any) => (\n \n {props.children}\n \n );\n else return (props: any) => <>{props.children};\n }, [withCard]);\n\n const [stickyTopPosition, setStickyTopPosition] = React.useState(0);\n const [stickyLeftPosition, setStickyLeftPosition] = React.useState(0);\n\n const onRootResize = React.useCallback(\n (entries: IResizeEntry[]) => {\n if (entries.length <= 0) return;\n const lastEntry = entries.reverse().find((e) => e.target);\n\n const { top, left } = lastEntry.target.getBoundingClientRect();\n const finalTop = top + (scrollPosition?.top ?? 0);\n const finalLeft = left + (scrollPosition?.left ?? 0);\n\n setStickyTopPosition(finalTop);\n setStickyLeftPosition(finalLeft);\n },\n [scrollPosition, stickyLeftPosition, stickyTopPosition]\n );\n\n return (\n \n \n \n \n {stickyContent && (\n \n {({ style, isSticky }) => (\n \n {stickyContent()}\n \n )}\n \n )}\n \n \n {children}\n \n \n \n \n \n \n );\n};\n","import styled from \"styled-components\";\n\nexport const InlineButtonContainer = styled.div`\n display: flex;\n flex-direction: row;\n flex: 1;\n align-items: flex-end;\n justify-content: space-between;\n`;\n\nexport const ButtonsBloc = styled.div`\n display: flex;\n margin-top: 0.5em;\n & > * + * {\n margin-left: 0.5em;\n }\n`;\n","import * as React from \"react\";\nimport { useFGContext } from \"nsitools-react\";\nimport { Prompt } from \"react-router\";\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\n\ninterface IFGRouteDirtyCheckerProps {\n message?: string;\n}\n\nexport const FGRouteDirtyChecker: React.FunctionComponent = () => {\n const { formik } = useFGContext();\n const { t } = useTl();\n return ;\n};\n","import { FormikProps } from \"formik\";\nimport { FGCustomPanel, FormGenerator, IFormGeneratorProps, Loading } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useHistory, useLocation } from \"react-router\";\nimport styled from \"styled-components\";\n\nimport { useAuth } from \"../contexts\";\nimport { CancelButton, DeleteButton, EditButton, SaveButton } from \"./applicationButtons\";\nimport { ButtonsBloc, InlineButtonContainer } from \"./applicationButtons/ButtonContainerStyles\";\nimport { FGRouteDirtyChecker } from \"./formGenerator/FGRouteDirtyChecker\";\nimport { Classes } from \"@blueprintjs/core\";\nimport { useTl } from \"../hooks\";\n\nexport interface ISmallFormGeneratorProps extends Omit, \"children\"> {\n loading?: boolean;\n onCancel?: () => void;\n onDelete?: (formik?: FormikProps) => void;\n deleting?: boolean;\n saving?: boolean;\n showDeleteButton?: boolean;\n showSaveEmptyButtonLabel?: string;\n editMode?: boolean;\n hideButtons?: boolean;\n cancelEdit?: boolean;\n enableDirtyCheck?: boolean;\n editable?: boolean;\n canCheckRights?: boolean;\n dirtyCheckSaveButton?: boolean;\n validateOnChange?: boolean;\n drupal?: boolean;\n preventDefaultsaveOnEnter?: boolean;\n}\n\nconst StyledForm = styled.div`\n & .${Classes.FORM_GROUP} {\n margin: 0 0 5px !important;\n }\n\n & .${Classes.CONTROL} {\n margin-bottom: 0 !important;\n }\n\n & .${Classes.LABEL} {\n max-width: 50px;\n }\n & .${Classes.FORM_CONTENT} {\n align-self: center;\n }\n`;\n\nexport function SmallFormGenerator(props: React.PropsWithChildren>) {\n const history = useHistory();\n const {\n editable = true,\n children,\n loading = false,\n showDeleteButton = false,\n deleting,\n onDelete,\n onCancel,\n saving,\n editMode,\n minLabelWidth = 180,\n labelAlignment = \"right\",\n fill = true,\n showColons = true,\n inline = true,\n boldLabel = true,\n hideButtons = false,\n enableDirtyCheck = true,\n cancelEdit = false,\n canCheckRights = true,\n dirtyCheckSaveButton = true,\n drupal = false,\n preventDefaultsaveOnEnter = true,\n validateOnChange = false,\n showSaveEmptyButtonLabel,\n ...otherProps\n } = props;\n const { pathname } = useLocation();\n const { getCurrentPermission } = useAuth();\n const { tUnsafe } = useTl();\n const changeEditMode = React.useCallback(\n (newEditMode: boolean) => {\n if (!drupal) {\n history.push(pathname.replace(\"view\", \"edit\"));\n } else {\n window.localStorage.setItem(\n \"parameters\",\n window.localStorage.getItem(\"parameters\").replace(`\"editMode\":false`, `\"editMode\":true`)\n );\n window.location.reload();\n }\n },\n [drupal, history, pathname]\n );\n\n const readOnly = React.useMemo(\n () => canCheckRights && getCurrentPermission()?.permission === \"R\",\n [canCheckRights, getCurrentPermission]\n );\n const canDelete = React.useMemo(\n () => canCheckRights && getCurrentPermission()?.permission === \"RWD\",\n [canCheckRights, getCurrentPermission]\n );\n return (\n \n \n \n {enableDirtyCheck && }\n {children}\n {!hideButtons && (\n \n {(ctx) => (\n \n \n {showDeleteButton && onDelete && editMode && canDelete && (\n onDelete(ctx.formik)}\n />\n )}\n \n \n {!onCancel && cancelEdit && editMode && (\n changeEditMode(false)} />\n )}\n {onCancel && }\n {editMode && !readOnly ? (\n !ctx.formik.dirty && showSaveEmptyButtonLabel ? (\n \n ) : (\n \n )\n ) : (\n editable &&\n !readOnly && changeEditMode(true)} />\n )}\n \n \n )}\n \n )}\n \n \n \n );\n}\n","import * as React from \"react\";\nimport { Dialog, Classes, Button } from \"@blueprintjs/core\";\nimport { useTl } from \"../hooks\";\nimport { ETLCodes } from \"../locales\";\nimport { useDialog, DialogResultButtonType } from \"../contexts\";\n\nexport const DialogRoot: React.FunctionComponent = () => {\n const { dialogData, hideDialog } = useDialog();\n\n const isShown = React.useMemo(() => {\n return !!dialogData;\n }, [dialogData]);\n const { t } = useTl();\n const message = dialogData ? dialogData.message : \"\";\n const title = dialogData ? dialogData.title || t(ETLCodes.Confirm) : \"\";\n\n const finalButtons = React.useMemo(() => {\n if (dialogData && dialogData.buttons) return dialogData.buttons;\n return [\n {\n intent: \"danger\",\n text: t(ETLCodes.General_No),\n resultType: \"no\",\n },\n {\n intent: \"success\",\n text: t(ETLCodes.General_Yes),\n resultType: \"yes\",\n },\n ];\n }, [dialogData, t]);\n\n return (\n {\n hideDialog(\"cancel\");\n }}\n >\n
\n

{message}

\n
\n
\n
\n {finalButtons.map((bt, i) => {\n const { resultType, ...btProps } = bt;\n return
\n
\n \n );\n};\n","import { ButtonGroup, Intent } from \"@blueprintjs/core\";\nimport {\n BaseFilterCriteriaInfo,\n BaseSelectItem,\n FieldSet,\n IDataTable2Props,\n IDataTableColumn,\n IDataTableProps,\n IFieldSetProps,\n InlineSearchCriteriaPanel,\n ISearchCriteriaValues,\n IValue,\n SearchPanel,\n SortType,\n useGridState,\n useSearchApi,\n} from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useLocation } from \"react-router\";\n\nimport { AddButton, CustomDataTable, ExportButton, ICustomBreadcrumbProps, PageBase } from \"../\";\nimport { EPlatform, FileResponse } from \"../../api\";\nimport { useEventsContext, useGlobalData, useSearchCriteriaContext } from \"../../contexts\";\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\n\ninterface ISearchTablePageProps\n extends Pick, \"customizeRowStyle\">,\n Pick {\n searchFunction: (sObj: ISearchCriteriaValues) => TResults | Promise;\n getCriteriasFunction?: () => Promise;\n exportFunction?: (sObj: ISearchCriteriaValues) => Promise;\n addFunc?: () => void;\n columns: Array;\n breadCrumbs?: ICustomBreadcrumbProps[];\n criteriasTlPrefix?: string;\n defaultCriterias?: IValue[];\n withCard?: boolean;\n dateFormat?: string;\n platform?: EPlatform;\n filterPlaceholder?: string;\n enableFilter?: boolean;\n saveCriterias?: boolean;\n initialSearch?: boolean;\n overrideListValues?: {\n [key: string]: (e: BaseSelectItem) => string;\n };\n sortKeys?: {\n [key: string]: SortType;\n };\n title?: string;\n overrideTableStateSearch?: (sObj: TSearch) => any;\n showAllCriteriaRemovalButton?: boolean;\n allCriteriaRemovalMode?: \"RemoveAll\" | \"ReturnDefault\";\n triggerSearchOnAllCriteriaRemoved?: boolean;\n imageSource?: string;\n filterMode?: \"OnBlurOrEnter\" | \"OnChange\" | \"OnEnter\";\n criteriaSavePrefix?: string;\n}\n\nexport function SearchTablePage({\n searchFunction,\n exportFunction,\n getCriteriasFunction,\n initialSearch = true,\n columns,\n saveCriterias = true,\n breadCrumbs,\n withCard = true,\n criteriasTlPrefix,\n overrideListValues,\n sortKeys = {},\n platform = EPlatform.CARE4DOGS,\n defaultCriterias = [],\n overrideTableStateSearch,\n rightElement,\n buttons,\n addFunc,\n customizeRowStyle,\n title,\n filterPlaceholder,\n enableFilter = true,\n showAllCriteriaRemovalButton = true,\n allCriteriaRemovalMode = \"RemoveAll\",\n triggerSearchOnAllCriteriaRemoved = false,\n imageSource = null,\n filterMode = \"OnChange\",\n\n criteriaSavePrefix = \"\",\n}: ISearchTablePageProps) {\n const tableState = useGridState({\n serverMode: true,\n enablePagination: true,\n enableFilter: enableFilter,\n availablePageSizes: [15, 25, 50],\n pageSize: 15,\n sortKeys: sortKeys,\n });\n const { currentLanguage } = useGlobalData();\n let { totalCount } = tableState;\n const [criteriasLoading, setCriteriasLoading] = React.useState(false);\n\n const [currentsObj, setcurrentsObj] = React.useState();\n const location = useLocation();\n const currentSObj = React.useRef();\n const { t, tUnsafe } = useTl();\n\n const { search, loading } = useSearchApi({\n searchFunction,\n tableState,\n initialSearch: getCriteriasFunction === undefined,\n trimSearchObjectStringValues: true,\n });\n\n //uwc-debug\n const OnRefreshSearchTablesEvent = React.useCallback(() => {\n search(currentSObj.current);\n }, [search]);\n\n const { subscribeToEvent, unsubscribeEvent } = useEventsContext();\n React.useEffect(() => {\n subscribeToEvent(\"RefreshSearchTables\", OnRefreshSearchTablesEvent);\n return () => unsubscribeEvent(\"RefreshSearchTables\", OnRefreshSearchTablesEvent);\n }, [OnRefreshSearchTablesEvent, subscribeToEvent, unsubscribeEvent]);\n\n const finalSearchCriteriaFunction = React.useMemo(() => {\n if (getCriteriasFunction || currentLanguage) {\n return () => getCriteriasFunction();\n }\n }, [currentLanguage, getCriteriasFunction]);\n\n const getCriterias = React.useCallback(async () => {\n if (!getCriteriasFunction) return null;\n setCriteriasLoading(true);\n const crit = await getCriteriasFunction();\n setCriteriasLoading(false);\n return crit;\n }, [getCriteriasFunction]);\n\n return (\n \n {imageSource && (\n \n )}\n {getCriteriasFunction && (\n
\n {\n currentSObj.current = val;\n search(val);\n }}\n showRazButton={false}\n enableOrOnSameCriteria={false}\n translateFunc={tUnsafe}\n tlDataPrefix={criteriasTlPrefix}\n overrideListValues={overrideListValues}\n criteriaIntent=\"primary\"\n storageMode={\"sessionStorage\"}\n storageKey={\"search_\" + location.pathname}\n dateFormat=\"dd-MM-yyyy\"\n triggerInitialSearch={true}\n clearSelectQueryOnClose\n />\n
\n )}\n \n \n {rightElement && rightElement}\n {addFunc && (\n {\n e.stopPropagation();\n addFunc();\n }}\n text={t(ETLCodes.General_Add)}\n intent={Intent.PRIMARY}\n />\n )}\n {exportFunction && }\n \n \n }\n rightElement={\n <>\n {totalCount > 1\n ? t(ETLCodes.TableResults_Plural, {\n count: totalCount.toLocaleString(\"be-BE\"),\n })\n : t(ETLCodes.TableResults, {\n count: totalCount.toLocaleString(\"be-BE\"),\n })}\n \n }\n buttons={buttons}\n >\n \n \n
\n );\n}\n","import * as React from \"react\";\nimport styled from \"styled-components\";\nimport { useTl } from \"../hooks\";\nimport { ETLCodes } from \"../locales\";\n\ninterface INumberShowerProps {\n ETLCode: ETLCodes;\n text: string;\n}\n\nconst Container = styled.div`\n display: flex;\n`;\n\nconst ETLCodeContainer = styled.div`\n font-weight: bold;\n`;\n\nexport const NumberShower: React.FunctionComponent = ({ ETLCode, text }) => {\n const { t } = useTl();\n\n return (\n \n {t(ETLCode)}:  \n {text}\n \n );\n};\n","import * as React from \"react\";\nimport { IFGMultiCheckboxInputProps, FGMultiCheckboxInput } from \"nsitools-react\";\nimport { Colors } from \"@blueprintjs/core\";\n\nexport interface IFGSRSHMultiCheckboxInputProps extends IFGMultiCheckboxInputProps {}\n\nexport const FGSRSHMultiCheckboxInput: React.FunctionComponent = ({\n colorTick = Colors.GREEN5,\n colorCross = Colors.RED5,\n ...mcProps\n}) => {\n return ;\n};\n","import * as React from \"react\";\nimport { IFGCheckboxInputProps, FGCheckboxInput } from \"nsitools-react\";\nimport { Colors } from \"@blueprintjs/core\";\n\nexport interface IFGSRSHCheckboxInput extends IFGCheckboxInputProps {}\n\nexport const FGSRSHCheckboxInput: React.FunctionComponent = ({\n colorTick = Colors.GREEN5,\n colorCross = Colors.RED5,\n ...cProps\n}) => {\n return ;\n};\n","import * as React from \"react\";\nimport { useGlobalData } from \"../../contexts\";\nimport { FGTextInput, useFGContext } from \"nsitools-react\";\nimport { ETLCodes } from \"../../locales\";\nimport { useTl } from \"../../hooks\";\nimport { Spinner } from \"@blueprintjs/core\";\nimport { getIn } from \"formik\";\n\nexport interface IFGMultiTranslateProps {\n translationsArrayField: string;\n translationField: string;\n label: ETLCodes;\n translationDto: any;\n maxlength?: number;\n readonly?: boolean;\n languageIdFieldName?: string;\n}\n\ninterface ITranslationData {\n languageId: number;\n}\n\nexport const FGMultiTranslate: React.FunctionComponent = ({\n translationsArrayField: listName,\n translationField: variableName,\n label,\n languageIdFieldName = \"languageId\",\n translationDto,\n maxlength = undefined,\n readonly = false,\n}) => {\n const { languages } = useGlobalData();\n const { t } = useTl();\n const { formik, loading } = useFGContext();\n\n const finalData = React.useMemo(() => {\n if (formik?.values) {\n const missingLanguages = languages?.filter(\n (c) => !formik.values[listName].flatMap((cn) => getIn(cn, languageIdFieldName)).includes(c.languageId)\n );\n missingLanguages?.forEach((ml) => {\n formik.values[listName].push(new translationDto({ [languageIdFieldName]: ml.languageId }));\n });\n return formik.values;\n }\n return null;\n }, [formik, languages, listName, translationDto]);\n\n return loading ? (\n \n ) : (\n <>\n {languages?.map((value, index) => {\n formik.values = finalData;\n const nameIndex = formik.values[listName].findIndex(\n (d: ITranslationData) => getIn(d, languageIdFieldName) === value.languageId\n );\n return (\n \n );\n })}\n \n );\n};\n","import { Classes, Colors, Dialog, Divider, Icon, IconName, InputGroup, Spinner } from \"@blueprintjs/core\";\nimport classnames from \"classnames\";\nimport { getIn } from \"formik\";\nimport {\n baseReturnType,\n baseSearchObject,\n DataTable,\n FGFormGroup,\n IDataTableColumn,\n IFGFormGroupProps,\n useFGContext,\n useGridState,\n useSearchApi,\n} from \"nsitools-react\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { useTranslation } from \"react-i18next\";\n\nexport interface IFGAdvancedSearchInputProps extends Omit {\n displayField?: string;\n valueField?: string;\n columns?: IDataTableColumn[];\n searchFn: (sObj: baseSearchObject) => Promise;\n getDisplayedDataFn: (formValue: any) => Promise;\n readonly?: boolean;\n round?: boolean;\n disabled?: boolean;\n leftIcon?: IconName;\n parseValueFieldAsNumber?: boolean;\n showTableHeader?: boolean;\n viewitemToolTip?: string;\n onItemViewClick?: (value: any) => void;\n isClearable?: boolean;\n placeholder?: string;\n setUndefinedOnClear?: boolean;\n backgroundColor?: string;\n sortKeys?: any;\n rightElement?: React.ReactElement;\n}\n\nconst DataTableContainer = styled.div`\n tbody tr:hover {\n /* font-weight: bold */\n text-shadow: 0px 0px 1px black !important;\n }\n`;\n\nconst ClearIcon = styled(Icon)`\n &:hover {\n color: ${Colors.RED1};\n }\n`;\n\nconst ViewIcon = styled(Icon)`\n &:hover {\n color: ${Colors.BLUE1};\n }\n`;\n\nconst ButtonTextContainer = styled.div`\n & > * + * {\n margin-left: 1rem;\n }\n\n & .placeholder-text {\n color: #b3aab1 !important;\n }\n`;\nconst StyledSpinner = styled(Spinner)`\n z-index: 10 !important;\n`;\n\nconst SelectContainer = styled.div`\n .${Classes.BUTTON} {\n justify-content: space-between;\n }\n\n & .${Classes.ROUND} {\n border-radius: 30px;\n }\n`;\n\nexport function FGAdvancedSearchInput({\n displayField = \"displayValue\",\n valueField = \"idValue\",\n columns,\n sortKeys,\n backgroundColor,\n searchFn,\n getDisplayedDataFn,\n readonly,\n leftIcon,\n placeholder,\n round = false,\n parseValueFieldAsNumber = true,\n showTableHeader = false,\n onItemViewClick,\n viewitemToolTip,\n disabled,\n isClearable = true,\n setUndefinedOnClear,\n rightElement,\n ...formGroupProps\n}: IFGAdvancedSearchInputProps) {\n const { fill, formik, editMode, disabled: globalDisabled, large } = useFGContext();\n\n const finalDisabled = React.useMemo(() => globalDisabled || disabled, [disabled, globalDisabled]);\n\n const { t } = useTranslation();\n\n // LoadingSingleValue\n const [loadingSingleValue, setLoadingSingleValue] = React.useState(false);\n const [currentDisplayedItem, setCurrentDisplayedItem] = React.useState(null);\n const [loadingSingleValueError, setLoadingSingleValueError] = React.useState(false);\n\n const idValue = React.useMemo(() => getIn(formik.values, formGroupProps.name), [formGroupProps.name, formik.values]);\n\n React.useEffect(() => {\n if (!currentDisplayedItem && idValue && !loadingSingleValue && !loadingSingleValueError) {\n setLoadingSingleValue(true);\n getDisplayedDataFn(idValue)\n .then((result) => {\n setCurrentDisplayedItem(result);\n setLoadingSingleValue(false);\n })\n .catch((error) => {\n console.error(\"Unable to get single value item\", error);\n setLoadingSingleValueError(true);\n setLoadingSingleValue(false);\n });\n }\n }, [\n currentDisplayedItem,\n formGroupProps.name,\n formik.values,\n getDisplayedDataFn,\n idValue,\n loadingSingleValue,\n loadingSingleValueError,\n ]);\n const finalDisplayedValue = React.useMemo(\n () => currentDisplayedItem && getIn(currentDisplayedItem, displayField),\n [currentDisplayedItem, displayField]\n );\n\n const gridstate = useGridState(\n sortKeys\n ? {\n enableFilter: true,\n pageSize: 10,\n sortKeys: sortKeys,\n serverMode: true,\n }\n : { enableFilter: true, pageSize: 10, serverMode: true }\n );\n\n const { loading, search } = useSearchApi(\n React.useMemo(\n () => ({\n searchFunction: searchFn,\n tableState: gridstate,\n initialSearch: false,\n trimSearchObjectStringValues: true,\n }),\n [gridstate, searchFn]\n )\n );\n\n const finalColumns = React.useMemo[]>(\n () =>\n columns || [\n {\n fieldName: displayField,\n autoFitContent: true,\n },\n ],\n [columns, displayField]\n );\n\n const [dialogOpened, setDialogOpened] = React.useState(false);\n const selectItem = React.useCallback(\n async (item: T) => {\n formik.setFieldTouched(formGroupProps.name, true, false);\n const idValueFromFormik = getIn(item, valueField);\n\n await formik.setFieldValue(\n formGroupProps.name,\n parseValueFieldAsNumber ? parseInt(idValueFromFormik) : idValueFromFormik,\n true\n );\n setCurrentDisplayedItem(item);\n setDialogOpened(false);\n },\n [formGroupProps.name, formik, parseValueFieldAsNumber, valueField]\n );\n\n const clearValue = React.useCallback(\n (e: any) => {\n e.stopPropagation();\n formik.setFieldTouched(formGroupProps.name, true, false);\n formik.setFieldValue(formGroupProps.name, setUndefinedOnClear ? undefined : null);\n setCurrentDisplayedItem(null);\n },\n [formGroupProps.name, formik, setUndefinedOnClear]\n );\n\n const viewItemClick = React.useCallback(\n (e: any) => {\n e.stopPropagation();\n onItemViewClick(getIn(formik.values, formGroupProps.name));\n },\n [formGroupProps.name, formik.values, onItemViewClick]\n );\n\n const hasValidData = React.useMemo(\n () => currentDisplayedItem !== null && currentDisplayedItem !== undefined,\n [currentDisplayedItem]\n );\n\n return (\n <>\n \n {({ intent, name }) =>\n editMode && !readonly ? (\n \n {\n if (!finalDisabled) setDialogOpened(true);\n }}\n type=\"button\"\n style={!finalDisabled ? { backgroundColor } : {}}\n className={classnames(Classes.BUTTON, Classes.FILL, {\n [`bp4-intent-${intent.toLowerCase()}`]: !!intent && intent !== \"none\",\n [Classes.DISABLED]: finalDisabled,\n [Classes.OUTLINED]: !finalDisabled,\n [Classes.ROUND]: round,\n })}\n >\n {loadingSingleValue ? (\n \n ) : (\n <>\n \n {leftIcon && }\n \n {finalDisplayedValue || (\n \n {placeholder}\n \n ) ||\n t(\"FGSelectInput_SelectAnItem\")}\n \n \n \n {hasValidData && (\n <>\n {isClearable && !disabled && }\n  \n {onItemViewClick && }\n {rightElement}\n \n \n )}\n \n \n \n )}\n \n \n ) : onItemViewClick ? (\n
\n {\n e.preventDefault();\n viewItemClick(e);\n }}\n >\n {finalDisplayedValue || \"\"}\n \n
{rightElement}
\n
\n ) : (\n \n )\n }\n
\n setDialogOpened(false)}\n onOpened={() => search()}\n >\n \n css`\n white-space: nowrap;\n `}\n filterMode=\"OnEnter\"\n focusOnFilter={true}\n />\n \n \n \n );\n}\n","import { FileDownload } from \"../api\";\nimport { saveAs } from \"file-saver\";\n\nexport function exportFile(file: FileDownload) {\n const blob: Blob = b64toBlob(file);\n saveAs(blob, file.fileName);\n}\n\nexport function b64toBlob(file: FileDownload, sliceSize = 512) {\n const b64Data: string = file.base64Content;\n const byteCharacters = atob(b64Data);\n const byteArrays = [];\n\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n const slice = byteCharacters.slice(offset, offset + sliceSize);\n\n const byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n\n const byteArray = new Uint8Array(byteNumbers);\n\n byteArrays.push(byteArray);\n }\n\n const blob = new Blob(byteArrays);\n return blob;\n}\n","export function generateAddress(number, street, city, postalCode, country) {\n if (!number && !street && !city && !postalCode && !country) {\n return \"/\";\n } else {\n return `${number ?? \"\"} ${street ?? \"\"}${number && street ? \",\" : \"\"} ${postalCode ?? \"\"} ${city ?? \"\"}${\n postalCode && city && country ? \",\" : \"\"\n } ${country ?? \"\"}`;\n }\n}\n","export function vatNumberValidate(id: string) {\n if (!id) return true;\n id = id.replace(\".\", \"\");\n id = id.replace(\"BE\", \"\");\n if (id.length < 10) return false;\n try {\n let numberToValidate = parseInt(id.slice(0, 8));\n const validator = parseInt(id.slice(8));\n return 97 - (numberToValidate % 97) === validator;\n } catch (Error) {\n return false;\n }\n}\n","import { format } from \"date-fns\";\nimport { fr as loc } from \"date-fns/locale\";\nimport { utcToZonedTime } from \"date-fns-tz\";\n\nexport function getBrowserTimeZone() {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n}\n\nexport function ToUtc(d: Date) {\n return utcToZonedTime(d, getBrowserTimeZone());\n}\n\nexport function formatDate(d: Date) {\n if (!d) return null;\n\n const tmp = utcToZonedTime(d, getBrowserTimeZone());\n const res = format(tmp, \"dd/MM/yyyy\", { locale: loc });\n return res;\n}\n\nexport function formatDateDayAndMonth(d: Date) {\n if (!d) return null;\n\n const tmp = utcToZonedTime(d, getBrowserTimeZone());\n const res = format(tmp, \"dd/MM\", { locale: loc });\n return res;\n}\n\nexport function formatDateWithDayOfWeek(d: Date) {\n const tmp = utcToZonedTime(d, getBrowserTimeZone());\n const res = format(tmp, \"EEEE dd/MM\", { locale: loc });\n return res;\n}\n\nexport function formatDateWithHour(d: Date) {\n const tmp = utcToZonedTime(d, getBrowserTimeZone());\n const res = format(tmp, \"dd/MM/yyyy HH:mm\", { locale: loc });\n return res;\n}\n\nexport function getDateHour(d: Date) {\n const tmp = utcToZonedTime(d, getBrowserTimeZone());\n const res = format(tmp, \"HH:mm\", { locale: loc });\n return res;\n}\n","export function toUpperCamelCase(str) {\n return str\n .split(/(\\s+)/)\n .map((word) => {\n if (word.trim().length === 0) {\n return word; // Handle multiple spaces by returning the space\n }\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join(\"\");\n}\n","import { Icon } from \"@blueprintjs/core\";\nimport { Popover2 } from \"@blueprintjs/popover2\";\nimport { baseSearchObject, FGListen, IFGContext, useFGContext } from \"nsitools-react\";\nimport * as React from \"react\";\nimport styled from \"styled-components\";\n\nimport { EmailButton } from \"..\";\nimport {\n PeopleReferentialItem,\n PersonApi,\n ReferentialApi,\n ReferentialItemDto,\n SearchPeopleReferentialQuery,\n} from \"../../api\";\nimport { useApiService, useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { generateAddress } from \"../../utils\";\nimport { FGAdvancedSearchInput, IFGAdvancedSearchInputProps } from \"./FGAdvancedSearchInput\";\n\nexport interface IFGPeopleSearchInputProps\n extends Omit, \"searchFn\" | \"getDisplayedDataFn\"> {\n isBelgian?: boolean;\n clubId?: number;\n personId?: number;\n dogId?: ((ctx: IFGContext) => number) | number;\n kennelId?: number;\n filterBreeder?: boolean;\n showWarning?: boolean;\n}\n\nexport const ToolTipContainer = styled.div`\n padding: 20px;\n`;\n\nexport const FGPeopleSearchInput: React.FunctionComponent = ({\n isBelgian,\n clubId,\n dogId,\n filterBreeder,\n kennelId,\n showWarning = false,\n ...fgProps\n}) => {\n const refApi = useApiService(ReferentialApi);\n const personApi = useApiService(PersonApi);\n const { t } = useTl();\n const fgContext = useFGContext();\n const finalDogId = React.useMemo(() => {\n if (typeof dogId === \"function\") {\n return dogId(fgContext);\n } else {\n return dogId;\n }\n }, [dogId, fgContext]);\n\n const searchFn = React.useCallback(\n async (sObj: baseSearchObject) => {\n return refApi.searchPeople(\n SearchPeopleReferentialQuery.fromJS({\n clubId,\n isBelgian,\n dogId: finalDogId,\n filterBreeder,\n kennelId,\n sObj,\n })\n );\n },\n [clubId, finalDogId, filterBreeder, isBelgian, kennelId, refApi]\n );\n\n const getDisplayedDataFn = React.useCallback(\n async (id: any) => {\n const d = await refApi.searchPeople(\n new SearchPeopleReferentialQuery({\n personId: id,\n clubId,\n })\n );\n return d.results.length > 0 ? d.results[0] : null;\n },\n [clubId, refApi]\n );\n\n const [remark, setremark] = React.useState(null);\n\n const getPersonRemark = React.useCallback(\n async (value: number) => {\n if (!value) {\n setremark(null);\n return;\n }\n var result = await personApi.getPersonRemark(value);\n setremark(result);\n },\n [personApi]\n );\n\n return (\n <>\n {remark}} interactionKind={\"hover\"}>\n
\n \n
\n \n ) : null\n }\n columns={[\n {\n header: () => t(ETLCodes.Name),\n fieldName: \"computedName\",\n render: (row: PeopleReferentialItem) => row.computedName,\n },\n {\n fieldName: \"email\",\n header: () => t(ETLCodes.Email),\n render: (row: PeopleReferentialItem) => ,\n },\n {\n fieldName: \"address\",\n computed: true,\n disableSorting: true,\n header: () => t(ETLCodes.Address),\n render: (row: PeopleReferentialItem) => (\n
{generateAddress(row.number, row.street, row.city, row.postalCode, row.country)}
\n ),\n },\n ]}\n />\n getPersonRemark(value)} />\n \n );\n};\n","import { Icon, Tooltip } from \"@blueprintjs/core\";\nimport { Popover2 } from \"@blueprintjs/popover2\";\nimport * as React from \"react\";\n\nimport {\n DogReferentialItem,\n ISearchDogReferentialQuery,\n PaginatedSearch,\n ReferentialApi,\n ReferentialItemDto,\n SearchDogReferentialQuery,\n} from \"../../api\";\nimport { useApiService, useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { FGAdvancedSearchInput, IFGAdvancedSearchInputProps } from \"./FGAdvancedSearchInput\";\nimport { ToolTipContainer } from \"./FGPeopleSearchInput\";\n\nexport interface IFGDogSearchInputProps\n extends Omit, \"searchFn\" | \"getDisplayedDataFn\"> {\n defaultSearch?: ISearchDogReferentialQuery;\n}\n\nexport const FGDogSearchInput: React.FunctionComponent = ({ defaultSearch, ...fgProps }) => {\n const refApi = useApiService(ReferentialApi);\n const { t } = useTl();\n const searchFn = React.useCallback(\n async (sObj: PaginatedSearch) => {\n const query = SearchDogReferentialQuery.fromJS({\n ...defaultSearch,\n sObj,\n });\n return refApi.searchDogs(query);\n },\n [defaultSearch, refApi]\n );\n\n const [displayedData, setDisplayedData] = React.useState();\n\n const getDisplayedDataFn = React.useCallback(\n async (id: any) => {\n const d = await refApi.searchDogs(\n new SearchDogReferentialQuery({\n dogId: id,\n })\n );\n setDisplayedData(d.results.length > 0 ? d.results[0] : null);\n return d.results.length > 0 ? d.results[0] : null;\n },\n [refApi]\n );\n\n return (\n <>\n {displayedData?.remark}} interactionKind={\"hover\"}>\n
\n \n
\n \n ) : null\n }\n columns={[\n {\n fieldName: \"displayValue\",\n // computed: true,\n disableSorting: true,\n header: () => t(ETLCodes.Name),\n },\n {\n fieldName: \"pedigrees\",\n computed: true,\n disableSorting: true,\n header: () => t(ETLCodes.Pedigree),\n render: (row: DogReferentialItem) => {\n if (row.pedigrees?.length > 0) {\n return (\n \n {row.pedigree}\n {row.pedigrees.length > 1 && (\n \n  \n \n {row.pedigrees.map((pedigree, i) => (\n
{pedigree}
\n ))}\n \n }\n position=\"right\"\n >\n
...
\n \n
\n )}\n
\n );\n } else {\n return
;\n }\n },\n },\n {\n header: () => t(ETLCodes.Identification1),\n computed: true,\n disableSorting: true,\n fieldName: \"dogChip\",\n },\n {\n header: () => t(ETLCodes.Identification2),\n computed: true,\n disableSorting: true,\n fieldName: \"secondDogChip\",\n },\n ]}\n />\n \n );\n};\n","import * as React from \"react\";\nimport { FGMaskInput } from \"nsitools-react\";\nimport \"cleave.js/dist/addons/cleave-phone.be\";\n\nexport interface IFGPhoneInputProps {\n name: string;\n label: string;\n requiredMark?: boolean;\n isFix?: boolean;\n}\n\nexport const FGPhoneInput: React.FunctionComponent = ({ label, name, requiredMark = false }) => {\n return (\n \n );\n};\n","import { FGSelectInput, IFGSelectInputProps } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useReferential } from \"../../../hooks/useReferential\";\n\nexport interface IFGClubSelectProps extends IFGSelectInputProps {\n name: string;\n label: string;\n}\n\nexport const FGClubSelect: React.FunctionComponent = (props) => {\n const [clubs, cloading] = useReferential((a) => a.getClubs(null), true, []);\n\n return ;\n};\n","import { FGSelectInput, IFGSelectInputProps } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useGlobalData } from \"../../../contexts\";\nimport { useReferential } from \"../../../hooks/useReferential\";\n\nexport interface IFGWorkbookTypeSelectProps extends IFGSelectInputProps {\n name: string;\n label: string;\n dogId: number;\n}\n\nexport const FGWorkbookTypeSelect: React.FunctionComponent = ({ name, label, dogId }) => {\n const { currentLanguage } = useGlobalData();\n\n const [workbookTypes, wtloading] = useReferential(\n (a) => a.getWorkbookTypes(currentLanguage.languageId, dogId),\n false,\n []\n );\n\n return ;\n};\n","import { FGSelectInput, IFGSelectInputProps } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { GetCountriesReferentialQuery } from \"../../../api\";\nimport { useReferential } from \"../../../hooks/useReferential\";\n\nexport interface IFGCountrySelectProps extends IFGSelectInputProps {\n name: string;\n label: string;\n includeBelgium?: boolean;\n}\n\nexport const FGCountrySelect: React.FunctionComponent = (props) => {\n const belgium = React.useMemo(\n () => (props.includeBelgium === null || props.includeBelgium === undefined ? true : props.includeBelgium),\n [props.includeBelgium]\n );\n const [countries, cloading] = useReferential(\n (a) => a.getCountries(new GetCountriesReferentialQuery({ includeBelgium: belgium })),\n true,\n [props.includeBelgium]\n );\n\n return ;\n};\n","import { Classes, Colors } from \"@blueprintjs/core\";\nimport {\n FieldSet,\n IDataTableColumn,\n ISearchCriteriaValues,\n SortKeysObject,\n useGridState,\n useSearchApi,\n} from \"nsitools-react\";\nimport * as React from \"react\";\nimport { css } from \"styled-components\";\n\nimport { CustomDataTable } from \"../..\";\n\ninterface ICustomGridSelectorProps {\n idField: string;\n errorFields?: string[];\n searchFunction: (sObj: ISearchCriteriaValues) => TResults | Promise;\n columns: Array;\n selectionChanged: (ids: any[]) => void;\n selectedIds: any[];\n currentCountChanged: (count: number) => void;\n title: string;\n sortKeys?: SortKeysObject;\n isErrorSelected?: (isError: boolean) => void;\n}\n\nexport function SRSHCustomGridSelector(props: ICustomGridSelectorProps) {\n const {\n idField,\n searchFunction,\n columns,\n selectionChanged,\n selectedIds,\n currentCountChanged,\n title,\n sortKeys,\n errorFields,\n isErrorSelected,\n } = props;\n\n const tableState = useGridState({\n serverMode: true,\n availablePageSizes: [10],\n enablePagination: true,\n enableFilter: true,\n sortKeys: sortKeys,\n });\n\n const { search, loading, gridResults } = useSearchApi(\n React.useMemo(\n () => ({\n searchFunction,\n tableState,\n initialSearch: false,\n trimSearchObjectStringValues: true,\n }),\n [searchFunction, tableState],\n ),\n );\n\n React.useEffect(() => {\n if (isErrorSelected && errorFields && gridResults) {\n const results = gridResults[\"results\"];\n\n !results\n ? isErrorSelected(false)\n : isErrorSelected(results.find((r) => errorFields.find((field) => r[field])) !== undefined);\n }\n }, [errorFields, gridResults, isErrorSelected]);\n\n React.useEffect(() => {\n if (searchFunction) {\n search();\n }\n }, [search, searchFunction]);\n\n const selectRow = React.useCallback(\n (item: any) => {\n if (selectedIds.find((d) => d === item[idField])) {\n selectionChanged(selectedIds.filter((d) => d !== item[idField]));\n } else {\n selectionChanged(selectedIds.concat([item[idField]]));\n }\n },\n [idField, selectedIds, selectionChanged],\n );\n\n const { totalCount } = tableState;\n\n React.useEffect(() => currentCountChanged(totalCount), [currentCountChanged, totalCount]);\n\n const customizeRowStyleCallback = React.useCallback(\n (d: any) => {\n const isSelected = selectedIds.includes(d[idField]);\n const error = errorFields && errorFields.find((field) => d[field]);\n return css`\n & * {\n color: ${error\n ? isSelected\n ? Colors.RED5\n : \"#c23030\"\n : isSelected\n ? Colors.WHITE\n : Colors.BLACK} !important;\n }\n\n & td {\n vertical-align: middle !important;\n\n & .${Classes.CONTROL} {\n margin: 10px;\n }\n }\n background-color: ${isSelected ? Colors.BLUE1 : \"transparent\"};\n `;\n },\n [errorFields, idField, selectedIds],\n );\n\n return (\n
\n \n
\n );\n}\n","import { Button, Intent } from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { IDataTableColumn, ISearchCriteriaValues, ToolTipButton, SortKeysObject } from \"nsitools-react\";\nimport * as React from \"react\";\nimport styled from \"styled-components\";\n\nimport { BodyContainer, ButtonsColumn, ColumnsContainer } from \"../..\";\nimport { useTl } from \"../../../hooks\";\nimport { ETLCodes } from \"../../../locales\";\nimport { useDialog } from \"../../../contexts\";\nimport { SRSHCustomGridSelector } from \"./SRSHCustomGridSelector\";\nimport { SearchTablePage } from \"../../searchTablePage\";\nimport { EPlatform, FileResponse } from \"../../../api\";\nexport interface ISRSHCustomSelectorSelectedSearchIdsProps {\n selectedIds: any[];\n}\n\nexport interface ISRSHCustomSelectorAvailableSearchIdsProps {\n availableIds: any[];\n}\nconst SelectorContainer = styled.div`\n flex: 1;\n`;\nexport interface ICustomSelectorProps {\n linkedIds: number[];\n onLinkedIdsChanged: (ids: number[]) => void;\n searchFunction: (sObj: ISearchCriteriaValues) => TResults | Promise;\n searchIdsFunc: (sObj: any) => any[] | Promise;\n exportFunction?: (sObj: ISearchCriteriaValues) => Promise;\n columns: Array;\n idField: string;\n errorFields?: string[];\n editMode: boolean;\n sortKeys?: SortKeysObject;\n customizeRowStyle?: any;\n isErrorSelected?: (isError: boolean) => void;\n platform?: EPlatform;\n showAllButtons?: boolean;\n}\n\nexport function SRSHCustomSelector(props: ICustomSelectorProps) {\n const {\n linkedIds = [],\n searchFunction,\n searchIdsFunc,\n columns,\n exportFunction,\n idField,\n editMode,\n onLinkedIdsChanged,\n errorFields,\n isErrorSelected,\n sortKeys = {},\n platform = EPlatform.CARE4DOGS,\n showAllButtons = true,\n } = props;\n const { t } = useTl();\n\n const [availableSearchObject, setAvailableSearchObject] = React.useState();\n const [selectedSearchObject, setSelectedSearchObject] = React.useState();\n\n const availableSearchFunction = React.useCallback(\n (sObj: any) => {\n const currentSObj = {\n ...sObj,\n selectedIds: linkedIds,\n excludeSelectedIds: true,\n };\n setAvailableSearchObject(currentSObj);\n return searchFunction(currentSObj);\n },\n [linkedIds, searchFunction]\n );\n const selectedSearchFunction = React.useCallback(\n (sObj: any) => {\n const currentSObj = {\n ...sObj,\n selectedIds: linkedIds,\n excludeSelectedIds: false,\n };\n setSelectedSearchObject(currentSObj);\n return searchFunction(currentSObj);\n },\n [linkedIds, searchFunction]\n );\n\n const exportSelectedFunction = React.useCallback(\n (sObj: any) => {\n const currentSObj = {\n ...sObj,\n selectedIds: linkedIds,\n excludeSelectedIds: false,\n };\n setSelectedSearchObject(currentSObj);\n return exportFunction(currentSObj);\n },\n [exportFunction, linkedIds]\n );\n\n const [leftSelected, setLeftSelected] = React.useState([]);\n const [rightSelected, setRightSelected] = React.useState([]);\n\n const [addAllLoading, setAddAllLoading] = React.useState(false);\n\n const { showDialog } = useDialog();\n\n const addAll = React.useCallback(async () => {\n try {\n setAddAllLoading(true);\n let ids: any[] = [];\n ids = await searchIdsFunc({\n availableSearchObject,\n forceSkip: 0,\n forceTake: 0,\n });\n\n showDialog({\n title: t(ETLCodes.AddAll),\n message: t(ETLCodes.AddAllText, { count: ids.length }),\n onConfirmed: async () => {\n setLeftSelected([]);\n onLinkedIdsChanged(Array.from(new Set([...ids, ...linkedIds])));\n },\n });\n } catch (error) {}\n setAddAllLoading(false);\n }, [availableSearchObject, linkedIds, onLinkedIdsChanged, searchIdsFunc, showDialog, t]);\n\n const addSelected = React.useCallback(() => {\n onLinkedIdsChanged(Array.from(new Set([...linkedIds, ...leftSelected])));\n setRightSelected([]);\n setLeftSelected([]);\n }, [leftSelected, linkedIds, onLinkedIdsChanged]);\n\n const [removeAllLoading, setRemoveAllLoading] = React.useState(false);\n\n const removeAll = React.useCallback(async () => {\n try {\n setRemoveAllLoading(true);\n let ids: any[] = [];\n ids = await searchIdsFunc({\n ...selectedSearchObject,\n forceSkip: 0,\n forceTake: 0,\n });\n showDialog({\n title: t(ETLCodes.RemoveAll),\n message: t(ETLCodes.RemoveAllText, { count: ids.length }),\n onConfirmed: async () => {\n setRightSelected([]);\n onLinkedIdsChanged(linkedIds.filter((id) => !ids.includes(id)));\n },\n });\n } catch (error) {}\n setRemoveAllLoading(false);\n }, [linkedIds, onLinkedIdsChanged, searchIdsFunc, selectedSearchObject, showDialog, t]);\n\n const removeSelected = React.useCallback(() => {\n onLinkedIdsChanged(linkedIds.filter((id) => !rightSelected.includes(id)));\n setLeftSelected([]);\n setRightSelected([]);\n }, [linkedIds, onLinkedIdsChanged, rightSelected]);\n\n const [leftCount, setLeftCount] = React.useState(0);\n const [rightCount, setRightCount] = React.useState(0);\n\n return editMode ? (\n <>\n \n \n \n \n \n \n {showAllButtons && (\n \n )}\n \n \n {showAllButtons && (\n \n )}\n \n \n \n \n \n \n \n ) : (\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const BodyContainer = styled.div`\n & > * + * {\n margin-top: 2rem;\n }\n`;\n\nexport const ColumnsContainer = styled.div`\n display: flex;\n flex-direction: row;\n flex: 1;\n\n & > * + * {\n margin-left: 1rem;\n }\n`;\n\nexport const ButtonsColumn = styled.div`\n display: flex;\n flex-direction: column;\n & > * + * {\n margin-top: 1rem;\n }\n padding-left: 2rem;\n padding-right: 2rem;\n align-items: center;\n justify-content: center;\n`;\n\nexport const InlineButtonContainer = styled.div`\n display: flex;\n flex-direction: row;\n flex: 1;\n align-items: flex-end;\n justify-content: space-between;\n`;\n\nexport const ButtonsBloc = styled.div`\n display: flex;\n margin-top: 0.5em;\n & > * + * {\n margin-left: 0.5em;\n }\n`;\n","import * as React from \"react\";\nimport styled from \"styled-components\";\nimport { Spinner, SpinnerSize } from \"@blueprintjs/core\";\n\nexport interface IFullPageLoaderProps {}\n\nconst Container = styled.div`\n display: flex;\n width: 100%;\n height: 100%;\n flex: 1;\n justify-content: center;\n`;\n\nexport const FullPageLoader: React.FunctionComponent = () => {\n return (\n \n \n \n );\n};\n","import * as React from \"react\";\nimport { useGridState, IDataTableColumn, SortKeysObject } from \"nsitools-react\";\nimport { Classes, Colors } from \"@blueprintjs/core\";\nimport { css } from \"styled-components\";\nimport { CustomDataTable } from \"..\";\n\nexport interface ITransfertListDataTableProps {\n columns: IDataTableColumn[];\n onSelectionChanges: (selection: Array) => void;\n gridData: Array;\n loading: boolean;\n sortKeys?: SortKeysObject;\n}\n\nexport function TransfertListDataTable({\n columns,\n onSelectionChanges,\n gridData,\n loading,\n sortKeys,\n}: ITransfertListDataTableProps) {\n const tableState = useGridState({\n serverMode: false,\n availablePageSizes: [10],\n pageSize: 10,\n enablePagination: true,\n enableFilter: false,\n sortKeys: sortKeys,\n });\n\n const { setData } = tableState;\n\n React.useEffect(() => {\n setData(gridData);\n }, [gridData, setData]);\n\n const [selectedItems, setSelectedItems] = React.useState>([]);\n\n const onRowClick = React.useCallback(\n (item: T) => {\n if (selectedItems.includes(item)) {\n setSelectedItems((previous) => previous.filter((i) => i !== item));\n } else {\n setSelectedItems((previous) => [...previous, item]);\n }\n },\n [selectedItems]\n );\n\n React.useEffect(() => {\n onSelectionChanges(selectedItems);\n }, [selectedItems, onSelectionChanges]);\n\n const customizeRowStyleCallback = React.useCallback(\n (d: T) => {\n const isSelected = selectedItems.includes(d);\n\n return css`\n & * {\n color: ${isSelected ? Colors.WHITE : Colors.BLACK} !important;\n }\n\n & td {\n vertical-align: middle !important;\n\n & .${Classes.CONTROL} {\n margin: 0;\n }\n }\n background-color: ${isSelected ? Colors.BLUE1 : \"transparent\"};\n `;\n },\n [selectedItems]\n );\n\n return (\n \n );\n}\n","import { Intent } from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { IDataTableColumn, ToolTipButton, FieldSet, useGridState, SortKeysObject } from \"nsitools-react\";\nimport * as React from \"react\";\nimport styled from \"styled-components\";\n\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { TransfertListDataTable } from \"./TransfertListDataTable\";\nimport { CustomDataTable } from \"..\";\n\nexport interface ITransferListProps {\n allItems?: Array;\n keyFieldName: keyof T;\n onChoosenItemsChange: (selectedItems: Array) => void;\n choosenItems?: Array;\n columns: IDataTableColumn[];\n isLoading?: boolean;\n editMode: boolean;\n sortKey?: SortKeysObject;\n}\n\nexport const CContainer = styled.div`\n display: flex;\n flex-direction: row;\n flex: 1;\n & > * + * {\n margin-left: 1rem;\n }\n`;\nexport const BContainer = styled.div`\n & > * + * {\n margin-top: 2rem;\n }\n`;\nconst ButtonsColumns = styled.div`\n display: flex;\n padding-left: 2rem;\n padding-right: 2rem;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n & > * + * {\n margin-top: 0.5rem;\n }\n`;\nconst TransfertListContainer = styled.div`\n flex: 1;\n`;\n\nexport function TransfertList({\n allItems = [],\n onChoosenItemsChange,\n choosenItems = [],\n columns,\n keyFieldName,\n isLoading = false,\n sortKey,\n editMode,\n}: ITransferListProps) {\n const [leftSelectedItems, setLeftSelectedItems] = React.useState>([]);\n const [rightSelectedItems, setRightSelectedItems] = React.useState>([]);\n\n const availableData = React.useMemo(\n () =>\n allItems\n ? allItems.filter((d) => choosenItems.filter((ci) => ci[keyFieldName] === d[keyFieldName]).length === 0)\n : [],\n [allItems, choosenItems, keyFieldName]\n );\n\n const { t } = useTl();\n\n const addAll = React.useCallback(() => onChoosenItemsChange([...choosenItems, ...availableData]), [\n availableData,\n choosenItems,\n onChoosenItemsChange,\n ]);\n const addSelected = React.useCallback(() => {\n onChoosenItemsChange([...choosenItems, ...leftSelectedItems]);\n leftSelectedItems.length = 0;\n }, [choosenItems, leftSelectedItems, onChoosenItemsChange]);\n\n const removeSelected = React.useCallback(() => {\n onChoosenItemsChange(\n choosenItems.filter((i) => rightSelectedItems.filter((ri) => ri[keyFieldName] === i[keyFieldName]).length === 0)\n );\n rightSelectedItems.length = 0;\n }, [choosenItems, keyFieldName, onChoosenItemsChange, rightSelectedItems]);\n\n const removeAll = React.useCallback(() => onChoosenItemsChange([]), [onChoosenItemsChange]);\n\n const tableState = useGridState({\n serverMode: false,\n enablePagination: false,\n enableFilter: true,\n availablePageSizes: [5],\n pageSize: 5,\n sortKeys: sortKey ?? {},\n });\n\n const { setData } = tableState;\n\n React.useEffect(() => {\n setData(choosenItems);\n }, [choosenItems, setData]);\n\n return editMode ? (\n <>\n \n \n \n
\n \n
\n
\n \n \n \n \n \n \n \n
\n \n
\n
\n
\n
\n \n ) : (\n \n );\n}\n","import { Classes, NonIdealState } from \"@blueprintjs/core\";\nimport { DataTable2, IDataTable2Props, IDataTableProps } from \"nsitools-react\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components\";\n\nimport { useTl } from \"../../hooks\";\nimport { ETLCodes } from \"../../locales\";\nimport { formatDate } from \"../../utils\";\n\nexport interface ICustomDataTableProps extends IDataTable2Props {\n searched?: boolean;\n}\n\nconst Container = styled.div`\n .${Classes.HTML_TABLE} tr td .${Classes.CONTROL} {\n margin: 0;\n }\n`;\n\nexport function CustomDataTable(props: ICustomDataTableProps) {\n const { searched } = props;\n const { t, tUnsafe } = useTl();\n return (\n \n \n ) : (\n \n )\n }\n />\n \n );\n}\n","import { Divider } from \"@blueprintjs/core\";\nimport { CONTEXT_MENU } from \"@blueprintjs/core/lib/esm/common/classes\";\nimport { FormikProps } from \"formik\";\nimport { FGCustomInput, FGListen, FGSelectInput, FGTextInput, useApiEffect } from \"nsitools-react\";\nimport * as React from \"react\";\nimport PhoneInput from \"react-phone-input-2\";\nimport * as Yup from \"yup\";\n\nimport { CountryApi, EPlatform, PersonApi, PersonDto } from \"../../../../api\";\nimport { FGCountrySelect, SmallFormGenerator } from \"../../../../components\";\nimport { useGlobalData } from \"../../../../contexts\";\nimport { useApiService, useSaveApi, useTl } from \"../../../../hooks\";\nimport { useReferential } from \"../../../../hooks/useReferential\";\nimport { ETLCodes } from \"../../../../locales\";\n\nexport interface IAddPersonPanelProps {\n personEmail: string;\n newEmail: (newEmail: string) => void;\n}\n\nexport const AddPersonPanel: React.FunctionComponent = ({ personEmail, newEmail }) => {\n const formikRef = React.useRef>();\n const api = useApiService(PersonApi);\n const countryApi = useApiService(CountryApi);\n const { t } = useTl();\n const { currentLanguage } = useGlobalData();\n\n const [postalCode, setPostalCode] = React.useState(\"\");\n const [isBelgium, setIsBelgium] = React.useState(false);\n const [email, setEmail] = React.useState(null);\n\n const [baseCountryId, baseCountryLoading] = useApiEffect(async () => await countryApi.getBelgianId(), []);\n const [languages, lloading] = useReferential((a) => a.getLanguages(), true, []);\n const [postalCodes, pcloading] = useReferential((a) => a.getStringifiedBelgianPostalCodes(), true, []);\n const [localities, locloading] = useReferential(\n (a) => a.getStringifiedBelgianLocalityFromPostalCode(postalCode ?? \"\"),\n false,\n [postalCode]\n );\n const [personSalutations, ploading] = useReferential(\n (a) => a.getPersonSalutations(currentLanguage.languageId),\n true,\n [currentLanguage.languageId]\n );\n const save = React.useCallback(\n (d: any) => {\n if (!!d.phoneNumber) {\n d.phoneNumber = \"+\" + d.phoneNumber;\n }\n if (!!d.mobilePhoneNumber) {\n d.mobilePhoneNumber = \"+\" + d.mobilePhoneNumber;\n }\n\n console.log(\"finalPhone\", d.phoneNumber);\n console.log(\"finalmobilePhone\", d.mobilePhoneNumber);\n return api.save(EPlatform.PORTAL, d);\n },\n [api]\n );\n const { saving, saveItem } = useSaveApi(\n React.useMemo(\n () => ({\n saveApiFn: save,\n onSaveFn: () => newEmail(email),\n }),\n [email, newEmail, save]\n )\n );\n\n const initialData = React.useMemo(\n () => new PersonDto({ countryId: baseCountryId, email: personEmail }).toJSON(),\n [baseCountryId, personEmail]\n );\n\n const FormSchema = React.useMemo(() => {\n return Yup.object().shape({\n firstName: Yup.string().nullable().required(t(ETLCodes.Required)),\n lastName: Yup.string().nullable().required(t(ETLCodes.Required)),\n languageId: Yup.number().nullable().required(t(ETLCodes.Required)),\n personHonorificId: Yup.string().nullable().required(t(ETLCodes.Required)), //number().required(),\n street: Yup.string().nullable().required(t(ETLCodes.Required)),\n number: Yup.string().nullable().required(t(ETLCodes.Required)),\n postalCode: Yup.string().nullable().required(t(ETLCodes.Required)),\n countryId: Yup.number()\n .nullable()\n .required(t(ETLCodes.Required))\n .test(\"is-vat-be\", t(ETLCodes.VATNotCorrespondingToCountry), async function (value) {\n if (!this.parent.vatNumber) return true;\n const belgium = await countryApi.isBelgian(value);\n return !belgium.value || (belgium.value && this.parent.vatNumber.substr(0, 2) === \"BE\");\n }),\n city: Yup.string().nullable().required(t(ETLCodes.Required)),\n email: Yup.string()\n .nullable()\n .test(\"required\", t(ETLCodes.Required), async function (value) {\n if (\n (this.parent.phoneNumber === undefined || this.parent.phoneNumber === null) &&\n (this.parent.mobilePhoneNumber === undefined || this.parent.mobilePhoneNumber === null)\n ) {\n return value !== null && value !== undefined;\n }\n return true;\n }),\n phoneNumber: Yup.string()\n .nullable()\n .test(\"required\", t(ETLCodes.Required), async function (value) {\n if (\n (this.parent.email === undefined || this.parent.email === null) &&\n (this.parent.mobilePhoneNumber === undefined || this.parent.mobilePhoneNumber === null)\n ) {\n return value !== null && value !== undefined;\n }\n return true;\n }),\n mobilePhoneNumber: Yup.string()\n .nullable()\n .test(\"required\", t(ETLCodes.Required), async function (value) {\n if (\n (this.parent.phoneNumber === undefined || this.parent.phoneNumber === null) &&\n (this.parent.email === undefined || this.parent.email === null)\n ) {\n return value !== null && value !== undefined;\n }\n return true;\n }),\n });\n }, [countryApi, t]);\n\n const [selectedcountryIsoCode, setSelectedcountryIsoCode] = React.useState(\"be\");\n const [currentcountryIsoCode, setcurrentcountryIsoCode] = React.useState(\"be\");\n\n React.useEffect(() => {\n //compute iso code\n console.log(\"phoneTouched\", formikRef.current?.touched.phoneNumber);\n console.log(\"modbileTouched\", formikRef.current?.touched.mobilePhoneNumber);\n if (\n selectedcountryIsoCode === currentcountryIsoCode ||\n !!formikRef.current?.touched.phoneNumber ||\n !!formikRef.current?.touched.mobilePhoneNumber\n ) {\n return;\n }\n setcurrentcountryIsoCode(selectedcountryIsoCode);\n }, [currentcountryIsoCode, selectedcountryIsoCode]);\n\n return (\n !baseCountryLoading && (\n (formikRef.current = f)}\n >\n {\n if (value === null) {\n f.setFieldValue(\"countryId\", baseCountryId);\n setIsBelgium(true);\n } else {\n if (value === baseCountryId) {\n setIsBelgium(true);\n } else {\n setIsBelgium(false);\n }\n }\n }}\n />\n setSelectedcountryIsoCode((await countryApi.get(value)).isoCode.toLowerCase())}\n />\n {\n if (isBelgium) {\n setPostalCode(value);\n }\n }}\n />\n {\n setEmail(value);\n }}\n />\n \n \n \n \n \n \n {(ctx) => (\n {\n ctx.formik.setFieldValue(\"phoneNumber\", value);\n ctx.formik.setTouched({ ...formikRef.current.touched, phoneNumber: true }, false);\n }}\n inputStyle={{ width: \"100%\" }}\n enableSearch\n searchPlaceholder=\"\"\n />\n )}\n \n \n {(ctx) => (\n {\n ctx.formik.setFieldValue(\"mobilePhoneNumber\", value);\n ctx.formik.setTouched({ ...formikRef.current.touched, mobilePhoneNumber: true }, false);\n }}\n inputStyle={{ width: \"100%\" }}\n enableSearch\n searchPlaceholder=\"\"\n />\n )}\n \n \n \n \n \n {isBelgium ? (\n \n ) : (\n \n )}\n {isBelgium ? (\n \n ) : (\n \n )}\n \n )\n );\n};\n","import { Button, Classes, Colors, Dialog, Intent } from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { useApiEffect, useDebounce, useFGContext } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { DogBroodRequestTransientOwnerGridDto, EPlatform, PersonApi, PersonDto } from \"../../../../api\";\nimport { useApiService, useTl } from \"../../../../hooks\";\nimport { ETLCodes } from \"../../../../locales\";\nimport { generateAddress } from \"../../../../utils\";\nimport { AddPersonPanel } from \"./AddPersonPanel\";\n\nexport interface IPuppyPersonInformationProps {\n newEmail: string;\n puppyIndex: number;\n owners: DogBroodRequestTransientOwnerGridDto[];\n platform: EPlatform;\n peopleLoading: (loading: boolean) => void;\n addOwner: (owner: DogBroodRequestTransientOwnerGridDto) => void;\n debouncedEmailState: any;\n setdebouncedEmailState: any;\n}\n\nexport const PuppyPersonInformation: React.FunctionComponent = ({\n newEmail,\n puppyIndex,\n platform,\n peopleLoading,\n addOwner,\n owners,\n debouncedEmailState,\n setdebouncedEmailState,\n}) => {\n const { t } = useTl();\n const personApi = useApiService(PersonApi);\n const { formik } = useFGContext();\n\n const [dialogOpened, setDialogOpened] = React.useState(false);\n\n const debouncedEmail = useDebounce(newEmail, 1200);\n\n const [data, loading] = useApiEffect(() => personApi.getPersonByEmail(debouncedEmailState), [debouncedEmailState]);\n const [previousLoading, setPreviousLoading] = React.useState(loading);\n\n const emailFieldName =\n platform === EPlatform.CARE4DOGS\n ? `puppies[${puppyIndex}].puppyOwnerEmail`\n : `dogBroodRequestGetDto.puppyOwnerEmail`;\n\n React.useEffect(() => {\n setdebouncedEmailState(debouncedEmail);\n }, [debouncedEmail, setdebouncedEmailState]);\n\n React.useEffect(() => {\n if (previousLoading !== loading) {\n setPreviousLoading(loading);\n peopleLoading(loading);\n }\n }, [loading, peopleLoading, previousLoading]);\n\n const getPersonInformation = React.useCallback(\n (item: PersonDto) => (\n <>\n
{item.computedName}
\n
{generateAddress(item.number, item.street, item.city, item.postalCode, item.country)}
\n
{item.phoneNumber !== null || true ? item.phoneNumber : item.mobilePhoneNumber}
\n \n ),\n []\n );\n\n React.useEffect(() => {\n if (data && data.length === 0 && !loading && !dialogOpened && !!debouncedEmailState) {\n if (owners.some((e) => e.email === debouncedEmailState)) {\n setDialogOpened(false);\n } else {\n setDialogOpened(true);\n }\n }\n }, [data, debouncedEmailState, dialogOpened, emailFieldName, formik, loading, owners]);\n\n const closeDialog = React.useCallback(() => {\n formik.setFieldValue(emailFieldName, null);\n setdebouncedEmailState(null);\n setDialogOpened(false);\n }, [emailFieldName, formik, setdebouncedEmailState]);\n\n const updateNewPersonInformation = React.useCallback(\n async (newPersonEmail) => {\n var person = await personApi.getPersonByEmail(newPersonEmail).then((p) => {\n if (p.length > 0) {\n return p[0];\n }\n });\n if (person) {\n addOwner(\n new DogBroodRequestTransientOwnerGridDto({\n personId: person.personId,\n computedName: person.computedName,\n email: debouncedEmail,\n address: generateAddress(person.number, person.street, person.city, person.postalCode, person.country),\n })\n );\n }\n formik.setFieldValue(emailFieldName, newPersonEmail);\n setdebouncedEmailState(newPersonEmail);\n setDialogOpened(false);\n },\n [addOwner, debouncedEmail, emailFieldName, formik, personApi, setdebouncedEmailState]\n );\n\n return (\n data && (\n <>\n {data.map((item) => (\n
\n e.personId === item.personId)}\n text={t(ETLCodes.AddPersonAsPuppyOwner)}\n onClick={() => {\n formik.setFieldTouched(emailFieldName, true);\n addOwner(\n new DogBroodRequestTransientOwnerGridDto({\n personId: item.personId,\n computedName: item.computedName,\n email: debouncedEmailState,\n address: generateAddress(item.number, item.street, item.city, item.postalCode, item.country),\n })\n );\n formik.setFieldValue(emailFieldName, \"\");\n setdebouncedEmailState(\"\");\n console.log(\"set field null\");\n }}\n />\n
{getPersonInformation(item)}
\n
\n ))}\n\n \n
\n \n
\n \n \n )\n );\n};\n","import { Button, Icon } from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport {\n FGCustomPanel,\n FGListen,\n FGTextInput,\n FieldGroup,\n FieldSet,\n IDataTableColumn,\n useGridState,\n} from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { DogBroodRequestsTransientDto, DogBroodRequestTransientOwnerGridDto, EPlatform } from \"../../../../api\";\nimport { CustomDataTable, DeleteButton } from \"../../../../components\";\nimport { useTl } from \"../../../../hooks\";\nimport { ETLCodes } from \"../../../../locales\";\nimport { PuppyPersonInformation } from \"./PuppyPersonInformation\";\n\nexport interface IPuppyOwnersProps {\n puppy: DogBroodRequestsTransientDto;\n index: number;\n platform: EPlatform;\n readonly: boolean;\n onOwnersChanged: (data: DogBroodRequestTransientOwnerGridDto[]) => void;\n isError: () => boolean;\n tooSmall: boolean;\n}\n\nexport const PuppyOwners: React.FunctionComponent = ({\n puppy,\n index,\n platform = EPlatform.CARE4DOGS,\n readonly,\n onOwnersChanged,\n isError,\n tooSmall,\n}) => {\n const { t } = useTl();\n\n const [email, setEmail] = React.useState(null);\n const [ownerEmailLoading, setOwnerEmailLoading] = React.useState(false);\n const [owners, setOwners] = React.useState(puppy.owners);\n\n const tableState = useGridState({\n serverMode: false,\n enablePagination: true,\n enableFilter: true,\n availablePageSizes: [5],\n pageSize: 5,\n });\n\n const { setData } = tableState;\n\n React.useEffect(() => {\n setData(owners);\n }, [setData, owners]);\n\n const columns = React.useMemo(\n () => [\n {\n computed: true,\n disableSorting: true,\n fieldName: \"actions\",\n autoFitContent: true,\n render: (row: DogBroodRequestTransientOwnerGridDto) =>\n !readonly && (\n {\n const newOwners = owners.filter((e) => e !== row);\n setOwners(newOwners);\n onOwnersChanged(newOwners);\n }}\n />\n ),\n },\n {\n computed: true,\n disableSorting: true,\n header: () => t(ETLCodes.Name),\n fieldName: \"computedName\",\n render: (row: DogBroodRequestTransientOwnerGridDto) => row.computedName,\n },\n {\n computed: true,\n disableSorting: true,\n header: () => t(ETLCodes.Email),\n fieldName: \"email\",\n render: (row: DogBroodRequestTransientOwnerGridDto) => row.email,\n },\n {\n computed: true,\n disableSorting: true,\n header: () => t(ETLCodes.Address),\n fieldName: \"address\",\n render: (row: DogBroodRequestTransientOwnerGridDto) => row.address,\n },\n ],\n [onOwnersChanged, owners, readonly, t]\n );\n\n React.useEffect(() => {\n console.log(\"pupppyOwnerIserror\", isError());\n }, [isError]);\n const [debouncedEmailState, setdebouncedEmailState] = React.useState(null);\n return (\n <>\n {\n const regexp = /(.*)[@]{1}(.*)[.]{1}([a-z]*)/g;\n const matching = regexp.test(value);\n if (matching) {\n setEmail(value);\n }\n }}\n />\n \n {!readonly && (\n }\n onEnterPress={() => setdebouncedEmailState(email)}\n />\n )}\n \n {(ctx) =>\n platform === EPlatform.PORTAL &&\n ctx.formik.values.dogBroodRequestGetDto.puppies[index].owners.length > 0 && (\n
{t(ETLCodes.AnotherOwnerToAddPortalMessage)}
\n )\n }\n
\n
\n \n setOwnerEmailLoading(oeLoading)}\n addOwner={(owner) => {\n console.log(\"new owner\", owner);\n const newOwners = [...owners, owner];\n console.log(\"list\", newOwners);\n setOwners(newOwners);\n onOwnersChanged(newOwners);\n }}\n owners={owners}\n />\n \n
\n \n
\n {\" \"}\n {isError() ? (\n <>\n \n {t(ETLCodes.PuppyInformationIncomplete)}\n \n ) : null}\n
\n
\n \n );\n};\n","import { Button, Icon } from \"@blueprintjs/core\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { Popover2 } from \"@blueprintjs/popover2\";\nimport { FormikProps } from \"formik\";\nimport moment from \"moment\";\nimport {\n FGCheckboxInput,\n FGCustomInput,\n FGListen,\n FGSelectInput,\n FGTextInput,\n FieldGroup,\n showError,\n showSuccess,\n} from \"nsitools-react\";\nimport * as React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport {\n BroodRequestApi,\n DogBroodRequestsTransientDto,\n DogBroodRequestTransientOwnerGridDto,\n EDogSex,\n EKennelType,\n ELabStatus,\n EPlatform,\n ErrorDetails,\n} from \"../../../../api\";\nimport { FGDogSearchInput } from \"../../../../components\";\nimport { useAuth, useDialog, useGlobalData } from \"../../../../contexts\";\nimport { ERoutes } from \"../../../../ERoutes\";\nimport { useApiService, useTl, useWindow } from \"../../../../hooks\";\nimport { useReferential } from \"../../../../hooks/useReferential\";\nimport { ETLCodes } from \"../../../../locales\";\nimport { PuppyOwners } from \"./PuppyOwners\";\nimport { toUpperCamelCase } from \"../../../../utils\";\n\nconst Container = styled.div`\n display: flex;\n`;\n\nconst StyledUppperCamelCaseContainer = styled.div`\n * > * {\n text-transform: capitalize;\n }\n`;\n\nexport interface IPuppyCardProps {\n index: number;\n puppy: DogBroodRequestsTransientDto;\n breeds: any;\n pedigrees: any;\n refresh: any;\n platform?: EPlatform;\n babyDog: boolean;\n yearLetter: string;\n isLoading?: boolean;\n tooSmall?: boolean;\n}\n\nexport const PuppyCard: React.FunctionComponent = ({\n index,\n puppy,\n breeds,\n refresh,\n pedigrees,\n platform = EPlatform.CARE4DOGS,\n babyDog,\n yearLetter,\n isLoading,\n tooSmall,\n}) => {\n const { t, tUnsafe } = useTl();\n const api = useApiService(BroodRequestApi);\n const { userPermissions } = useAuth();\n const { showDialogPromise } = useDialog();\n\n const [resurrectPuppyLoading, setresurrectPuppyLoading] = React.useState(false);\n\n const ressurectPuppy = React.useCallback(\n async (id: number) => {\n setresurrectPuppyLoading(true);\n try {\n var res = await showDialogPromise({\n message: t(ETLCodes.WarningMustBeAliveInProgenus),\n title: t(ETLCodes.Warning),\n });\n if (res === \"yes\" || res === \"ok\") {\n await api.resurrectPuppy(id);\n showSuccess(t(ETLCodes.SaveSuccess));\n refresh();\n }\n } catch {\n showError(t(ETLCodes.Error));\n } finally {\n setresurrectPuppyLoading(false);\n }\n },\n [api, refresh, showDialogPromise, t]\n );\n\n const dogExists = React.useMemo(() => puppy.correspondingDogId !== null, [puppy.correspondingDogId]);\n\n const canCreatePedigree = React.useMemo(\n () =>\n !!userPermissions.find(\n (c) => c.module === \"BROODREQUEST\" && c.tab === \"PUPPIESPEDIGREE\" && c.permission === \"E\"\n ) && !puppy.isCorrespondingDogComplete,\n [puppy.isCorrespondingDogComplete, userPermissions]\n );\n\n const [createPedigreeLoading, setCreatePedigreeLoading] = React.useState(false);\n\n const { openNewTab } = useWindow();\n const { currentLanguage } = useGlobalData();\n const [breedId, setBreedId] = React.useState(0);\n const [colors, cLoading] = useReferential((c) => (breedId ? c.getAuthorizedColors(breedId, true) : undefined), true, [\n breedId,\n ]);\n const [sexes, sloading] = useReferential((c) => c.getSex(currentLanguage.languageId));\n // const skipDebounce = React.useCallback(() => {\n // setdebouncedEmailState(email);\n // }, []);\n\n const filterValue = React.useMemo(\n () => (puppy.labStatus === ELabStatus.AnalysisDone || puppy.deceased ? \"none\" : \"grayscale(100%)\"),\n [puppy.deceased, puppy.labStatus]\n );\n\n const createPedigree = React.useCallback(async () => {\n try {\n setCreatePedigreeLoading(true);\n const dialogResult = await showDialogPromise({\n message: t(ETLCodes.CreateDogAndPedigreeConfirmationMessage),\n title: t(ETLCodes.CreateDogAndPedigreeConfirmationTitle),\n });\n if (dialogResult !== \"yes\") return;\n const res = await api.createDogBroodRequestPedigree(puppy.dogBroodRequestsTransientId);\n refresh();\n setCreatePedigreeLoading(false);\n return res;\n } catch (error) {\n console.log(\"error\", error);\n const details: ErrorDetails = JSON.parse(error.response);\n if (details?.errorCode) {\n console.log(\"custom error\");\n showError(tUnsafe(`BackendError_${details.errorCode}`));\n } else {\n console.log(\"generic error\");\n showError(t(ETLCodes.Error));\n }\n\n setCreatePedigreeLoading(false);\n }\n }, [api, puppy.dogBroodRequestsTransientId, refresh, showDialogPromise, t, tUnsafe]);\n\n const puppyDeceasedFunc = React.useCallback(async () => {\n try {\n const dialogResult = await showDialogPromise({\n message: t(ETLCodes.PuppyDeceasedConfirmationMessage),\n title: t(ETLCodes.PuppyDeceasedConfirmationTitle),\n });\n if (dialogResult !== \"yes\") return;\n const res = await api.setPuppyDeceased(puppy.dogBroodRequestsTransientId, platform);\n refresh();\n return res;\n } catch {\n showError(t(ETLCodes.Error));\n }\n }, [api, platform, puppy.dogBroodRequestsTransientId, refresh, showDialogPromise, t]);\n\n const PuppyName = React.useMemo(\n () => (\n \n {platform === EPlatform.CARE4DOGS ? (\n \n {puppy?.kennelName}\n \n ) : (\n
{puppy?.kennelName}
\n )}\n \n \n \n \n ),\n [index, platform, puppy.deceased, puppy?.kennelId, puppy?.kennelName, puppy.kennelType, dogExists, t, yearLetter]\n );\n\n const updateListFormik = React.useCallback(\n (newList: DogBroodRequestTransientOwnerGridDto[], formik: FormikProps) => {\n if (platform === EPlatform.CARE4DOGS) {\n formik?.setFieldValue(`puppies[${index}].owners`, newList);\n formik?.setFieldTouched(`puppies[${index}].owners`, true);\n } else {\n formik?.setFieldValue(`dogBroodRequestGetDto.puppies[${index}].owners`, newList);\n formik?.setFieldTouched(`dogBroodRequestGetDto.puppies[${index}].owners`, true);\n }\n },\n [index, platform]\n );\n\n return (\n \n {\n if (value !== null && value.charAt(0) === value.charAt(0).toLowerCase()) {\n formik.setFieldValue(\n `${platform === EPlatform.PORTAL ? \"dogBroodRequestGetDto.\" : \"\"}puppies[${index}].name`,\n value.charAt(0).toUpperCase() + value.slice(1)\n );\n }\n }}\n />\n \n {/* {(ctx) => } */}\n\n \n {puppy?.deceased && }\n {` ${\n platform === EPlatform.PORTAL\n ? t(ETLCodes.Puppy) + \"#\" + index + 1\n : t(ETLCodes.ProgenusPuppy) + \"-\" + puppy.dogBroodRequestsTransientId\n } ${puppy?.chipNumber ? \" - \" + puppy?.chipNumber : \"\"} ${\n puppy?.deceased ? `(${t(ETLCodes.Deceased)})` : ``\n }`}\n - {puppy.labStatusTranslation + \" \"} (\n {!!puppy?.lastLabStatusUpdateDoneOn && moment(puppy?.lastLabStatusUpdateDoneOn).format(\"DD/MM/YYYY\")})\n {puppy?.labStatusDescriptionTranslation}
}\n interactionKind=\"hover-target\"\n >\n \n \n {platform === EPlatform.CARE4DOGS && puppy?.deceased && (\n ressurectPuppy(puppy.dogBroodRequestsTransientId)}\n />\n )}\n \n ),\n }}\n rightElement={\n puppy?.pedigreeId &&\n puppy?.correspondingDogId &&\n puppy?.labStatus === ELabStatus.AnalysisDone &&\n platform === EPlatform.CARE4DOGS && (\n openNewTab(`${ERoutes.dog}/${puppy?.correspondingDogId}/detail/view`)}\n />\n )\n }\n >\n {(puppy.labStatus === ELabStatus.AnalysisDone || puppy.deceased) && (\n <>\n \n \n \n openNewTab(`${ERoutes.dog}/${item}/detail/view`)\n }\n requiredMark\n />\n \n \n {(ctx) => (\n \n {PuppyName}\n {!puppy?.pedigreeNumber && (\n \n )}\n \n )}\n \n\n {platform === EPlatform.CARE4DOGS && (\n \n \n \n )}\n\n \n {(ctx) => (\n {\n console.log(\n \"formik check \",\n ctx.formik?.values[\n `${\n platform === EPlatform.CARE4DOGS\n ? `puppies[${index}].owners`\n : `dogBroodRequestGetDto.puppies[${index}].owners`\n }`\n ]\n );\n updateListFormik(newOwners, ctx.formik);\n ctx.formik.validateForm();\n ctx.formik.validateField(\n `${platform === EPlatform.PORTAL ? \"dogBroodRequestGetDto.\" : \"\"}puppies[${index}].name`\n );\n ctx.formik.validateField(\n `${platform === EPlatform.PORTAL ? \"dogBroodRequestGetDto.\" : \"\"}puppies[${index}].name`\n );\n ctx.formik.validateField(\n `${platform === EPlatform.PORTAL ? \"dogBroodRequestGetDto.\" : \"\"}puppies[${index}].colorId`\n );\n }}\n isError={() => {\n if (platform === EPlatform.CARE4DOGS) {\n return (\n !ctx.formik.values?.puppies[index].deceased &&\n !ctx.formik.values?.puppies[index].owners?.length &&\n (!!ctx.formik.values?.puppies[index].name || !!ctx.formik.values?.puppies[index].colorId)\n );\n } else {\n return (\n !ctx.formik.values?.dogBroodRequestGetDto.puppies[index].deceased &&\n !ctx.formik.values?.dogBroodRequestGetDto.puppies[index].owners?.length &&\n (!!ctx.formik.values?.dogBroodRequestGetDto.puppies[index].name ||\n !!ctx.formik.values?.dogBroodRequestGetDto.puppies[index].colorId)\n );\n }\n }}\n />\n )}\n \n \n openNewTab(`${ERoutes.breeds}/${item}/detail/view`)}\n />\n \n \n openNewTab(`${ERoutes.color}/${item}/detail/view`)}\n />\n \n \n {platform === EPlatform.CARE4DOGS ? (\n \n ) : null}\n \n \n \n \n {platform === EPlatform.CARE4DOGS && (\n \n {(ctx) =>\n puppy.pedigreeId ? (\n <>{puppy.pedigreeNumber}\n ) : (\n 0\n ) || !canCreatePedigree\n }\n loading={createPedigreeLoading || isLoading}\n onClick={createPedigree}\n intent={\"primary\"}\n >\n {t(ETLCodes.CreatePedigree)}\n \n )\n }\n \n )}\n \n )}\n \n \n );\n};\n","import { Button } from \"@blueprintjs/core\";\nimport { ButtonContainer, FGListen, FieldSet, showError, showSuccess } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { atom, useSetRecoilState } from \"recoil\";\nimport * as Yup from \"yup\";\n\nimport {\n BroodRequestApi,\n DogApi,\n DogBroodRequestGetDto,\n ELabStatus,\n ELabStatusType,\n SaveDogBroodRequestTransientDto,\n} from \"../../../../api\";\nimport { SmallFormGenerator } from \"../../../../components\";\nimport { useDialog } from \"../../../../contexts\";\nimport { ERoutes } from \"../../../../ERoutes\";\nimport { useApiService, useCrudApi, useTl } from \"../../../../hooks\";\nimport { useReferential } from \"../../../../hooks/useReferential\";\nimport { ETLCodes } from \"../../../../locales\";\nimport { PuppyCard } from \"./PuppyCard\";\nimport { toUpperCamelCase, nameof } from \"../../../../utils\";\n\nexport interface IPuppiesTabProps {\n isExecuted: boolean;\n broodRequestId: number;\n requestId: number;\n editMode: boolean;\n refreshPuppies: boolean;\n isRefreshed: (isRefreshed: boolean) => void;\n isLoading: boolean;\n}\n\nexport const ArePuppiesDirty = atom({\n key: \"ArePuppiesDirty\",\n default: false,\n});\n\nexport const PuppiesTab: React.FunctionComponent = ({\n broodRequestId,\n requestId,\n editMode,\n refreshPuppies,\n isRefreshed,\n isLoading,\n isExecuted,\n}) => {\n const setArePuppiesDiry = useSetRecoilState(ArePuppiesDirty);\n const api = useApiService(BroodRequestApi);\n const dogApi = useApiService(DogApi);\n const { t } = useTl();\n const { showDialogPromise } = useDialog();\n\n const { data, loading, saving, saveItem, refresh } = useCrudApi(\n React.useMemo(\n () => ({\n getApiFn: async (id = broodRequestId) => id && id !== 0 && (await api.getDogBroodRequestTransient(id)),\n saveApiFn: async (d: DogBroodRequestGetDto) => {\n return await api.saveDogBroodRequestTransient(\n SaveDogBroodRequestTransientDto.fromJS({\n puppies: d.puppies.map((p) => {\n return { ...p, name: toUpperCamelCase(p.name) };\n }),\n definitiveSave: false,\n })\n );\n },\n onSavedRoute: (d) => `${ERoutes.broodRequest}/${broodRequestId}/puppies/edit`,\n deleteApiFn: () => {},\n }),\n [api, broodRequestId]\n ),\n [broodRequestId]\n );\n\n const canRegenLoshPedigree = React.useMemo(\n () => !loading && !data?.puppies?.find((c) => !c.isAlsh && !c.deceased) && isExecuted,\n [data?.puppies, isExecuted, loading]\n );\n\n const [regenLoshPedigreesLoading, setregenLoshPedigreesLoading] = React.useState(false);\n\n const regenLoshPedigrees = React.useCallback(async () => {\n setregenLoshPedigreesLoading(true);\n try {\n await api.switchToLoshPedigree(requestId);\n refresh();\n showSuccess(t(ETLCodes.Success));\n } catch {\n showError(t(ETLCodes.Error));\n }\n setregenLoshPedigreesLoading(false);\n }, [api, refresh, requestId, t]);\n\n React.useEffect(() => {\n if (data !== null) {\n if (refreshPuppies) {\n refresh();\n isRefreshed(true);\n }\n }\n }, [data, isRefreshed, refresh, refreshPuppies]);\n\n const [Breed, BreedLoading] = useReferential(\n (c) => (data?.motherBreedId ? c.getBreedVarietiesWithCurrentBreed(data?.motherBreedId) : null),\n true,\n [data]\n );\n\n const completePuppy = React.useCallback((parent: any, fieldName: string) => {\n console.log(\n `KnownValues:\\nName:${parent.name}\\nOwners length:${parent.owners?.length}\\nColorId=${parent.colorId}\\nBreedId:${parent.breedId}`\n );\n if (parent.deceased) {\n return true;\n }\n if (parent.name !== null && parent.colorId !== null && parent.breedId !== null && parent.owners?.length > 0) {\n return true;\n }\n if ((parent.name === null || parent.name === \"\") && parent.colorId === null && parent.owners?.length === 0) {\n return true;\n }\n if (!parent[fieldName]) {\n return false;\n }\n return true;\n }, []);\n\n const [Pedigree] = useReferential((c) => c.getPuppyPedigrees(), true, [data]);\n\n const FormSchema = React.useMemo(() => {\n return Yup.object().shape({\n puppies: Yup.array().of(\n Yup.object().shape({\n name: Yup.string()\n .nullable()\n .test(\"correct-year\", t(ETLCodes.NameDoesNotStartWithCalendarLetter), async function (value) {\n if (value !== null && value !== undefined && value !== \"\") {\n console.log(\"Value of name is \", value);\n if (!this.parent.deceased && this.parent?.labStatus === ELabStatus.AnalysisDone) {\n return value.charAt(0) === data.currentLetterYear;\n }\n }\n return true;\n })\n .test(\"complete-puppy\", t(ETLCodes.PuppyInformationIncomplete), async function () {\n return completePuppy(this.parent, \"name\");\n })\n .test(\"name-unicity\", t(ETLCodes.NameAlreadyTaken), async function (value) {\n if (!this.parent.kennelId || !!this.parent.correspondingDogId || !value) {\n return true;\n }\n var res = await dogApi.getDogUnicityQuery(this.parent.name, this.parent.kennelId);\n\n return res.value;\n }),\n puppyOwnerEmail: Yup.string()\n .nullable()\n .test(\"is-correct-email\", t(ETLCodes.InvalidEmail), async function (value) {\n if (value !== null && value !== undefined && value !== \"\") {\n const regexp = /(.*)[@]{1}(.*)[.]{1}([a-z]*)/g;\n const matching = regexp.test(value);\n return matching;\n }\n return true;\n }),\n colorId: Yup.number()\n .nullable()\n .test(\"complete-puppy-colorId\", t(ETLCodes.PuppyInformationIncomplete), async function () {\n return completePuppy(this.parent, \"colorId\");\n }),\n countryPedigreePrefixId: Yup.number()\n .nullable()\n .test(\"not-nullable\", t(ETLCodes.Required), async function (value) {\n if (!this.parent.deceased) {\n return value !== null && value !== undefined;\n }\n return true;\n }),\n })\n ),\n });\n }, [completePuppy, data, dogApi, t]);\n\n const allPuppiesAnalyzed = React.useMemo(\n () => data?.puppies?.every((c) => c.labStatus === ELabStatus.AnalysisDone),\n [data]\n );\n const [loadingReprintPedigrees, setloadingReprintPedigrees] = React.useState(false);\n const reprintPedigrees = React.useCallback(async () => {\n setloadingReprintPedigrees(true);\n try {\n await api.reprintPedigrees(broodRequestId);\n showSuccess(t(ETLCodes.Success));\n } catch {\n showError(t(ETLCodes.Error));\n } finally {\n setloadingReprintPedigrees(false);\n }\n }, [api, broodRequestId, t]);\n\n const [loadingResendSample, setloadingResendSample] = React.useState(false);\n\n const resendPedigreeSample = React.useCallback(async () => {\n const dialogResult = await showDialogPromise({\n message: t(ETLCodes.confirmRegenAndResendPedigreeSample),\n title: t(ETLCodes.PedigreeResendTitle),\n });\n if (dialogResult !== \"yes\") {\n return;\n }\n setloadingResendSample(true);\n try {\n await api.generatePedigreeSample(requestId);\n showSuccess(t(ETLCodes.Success));\n } catch {\n showError(t(ETLCodes.Error));\n } finally {\n setloadingResendSample(false);\n }\n }, [api, requestId, showDialogPromise, t]);\n return (\n \n \n {canRegenLoshPedigree && (\n \n )}\n {!!data?.puppies?.find((p) => p.correspondingDogId !== null) ? (\n \n ) : null}\n \n \n }\n >\n setArePuppiesDiry(data !== formik.values)} />\n {data?.puppies?.map((puppy, index) => (\n \n ))}\n \n \n );\n};\n","import { ERequestType } from \"../api\";\nimport { ERoutes } from \"../ERoutes\";\nexport function getSearchRouteStr(requestTypeCode) {\n switch (requestTypeCode) {\n case ERequestType.WorkAttestRequest:\n return `${ERoutes.workAttestationRequest}`;\n case ERequestType.WorkbookRequest:\n return `${ERoutes.workbookRequest}`;\n case ERequestType.DogOwnershipChangeRequest:\n return `${ERoutes.rsh}`;\n case ERequestType.KennelImportRequest:\n return `${ERoutes.affixRequest}`;\n case ERequestType.KennelOwnershipChangeRequest:\n return `${ERoutes.affixRequest}`;\n case ERequestType.NewKennelRequest:\n return `${ERoutes.affixRequest}`;\n case ERequestType.KennelExportRequest:\n return `${ERoutes.affixRequest}`;\n case ERequestType.KennelNameChangeRequest:\n return `${ERoutes.affixRequest}`;\n case ERequestType.DogTempOwnershipChangeRequest:\n return `${ERoutes.tempRsh}`;\n case ERequestType.BroodRequest:\n return `${ERoutes.broodRequest}`;\n case ERequestType.PedigreeDuplicataRequest:\n return `${ERoutes.pedigreeDuplicata}`;\n case ERequestType.CompetitionRequest:\n return `${ERoutes.competitionRequest}`;\n case ERequestType.PedigreeRequest:\n return `${ERoutes.rish}`;\n case ERequestType.TitleRequest:\n return `${ERoutes.titleRequests}`;\n case ERequestType.ImportRequest:\n return `${ERoutes.importRequest}`;\n case ERequestType.DysplasiaRequest:\n return `${ERoutes.dysplasiaRequest}`;\n case ERequestType.HealthTestRequest:\n return `${ERoutes.healthTestRequest}`;\n case ERequestType.MembershipRequest:\n return `${ERoutes.membershipRequest}`;\n case ERequestType.MiscellaneousRequest:\n return `${ERoutes.miscellaneousRequest}`;\n case ERequestType.ExpatriationRequest:\n return `${ERoutes.expatriationRequest}`;\n }\n}\n","import * as React from \"react\";\nimport { useQuery } from \"react-query\";\nimport { useApiService, useTl } from \"../../hooks\";\nimport { RequestApi } from \"../../api\";\nimport { SmallFormGenerator } from \"../SmallFormGenerator\";\nimport { validate } from \"uuid\";\nimport * as Yup from \"yup\";\nimport { ETLCodes } from \"../../locales\";\nimport { ButtonContainer, FGTextAreaInput, FieldSet, showError } from \"nsitools-react\";\nimport { Button, Card } from \"@blueprintjs/core\";\nimport { ButtonsBloc, InlineButtonContainer } from \"../applicationButtons/ButtonContainerStyles\";\n\nexport interface IRequestCancelCommentDialogProps {\n requestId: number;\n onClose: (hasSaved: boolean) => void;\n}\n\nexport const RequestCancelCommentDialog: React.FunctionComponent = ({\n requestId,\n onClose,\n}) => {\n const { t } = useTl();\n const requestApi = useApiService(RequestApi);\n const { data: comment, isFetching: loadingComment } = useQuery(\n [\"request-comment\", requestId],\n React.useCallback(async () => await requestApi.getRequestRemark(requestId), [requestApi, requestId])\n );\n\n const validationSchema = React.useMemo(() => {\n return Yup.object().shape({\n comment: Yup.string().nullable().required(t(ETLCodes.Required)),\n });\n }, [t]);\n\n const [saving, setsaving] = React.useState(false);\n const save = React.useCallback(async (d) => {\n setsaving(true);\n try {\n await requestApi.saveRequestComment(requestId, d.comment);\n await onClose(true);\n } catch {\n showError(t(ETLCodes.Error));\n } finally {\n setsaving(false);\n }\n }, []);\n\n return (\n \n \n
\n \n \n
\n \n
\n \n
\n );\n};\n","import { Button, Dialog, Divider, Intent, Spinner, SpinnerSize } from \"@blueprintjs/core\";\nimport {\n ButtonContainer,\n FGCustomInput,\n FGCustomPanel,\n FGSelectInput,\n FieldGroup,\n showError,\n showInfo,\n showSuccess,\n useApiEffect,\n useFGFormik,\n} from \"nsitools-react\";\nimport * as React from \"react\";\nimport { Link, useParams } from \"react-router-dom\";\nimport { useRecoilValue, useSetRecoilState } from \"recoil\";\nimport styled from \"styled-components\";\n\nimport { PrintButton, SmallFormGenerator } from \"..\";\nimport {\n EPlatform,\n ERequestState,\n ERequestType,\n ErrorDetails,\n ImportRequestApi,\n RequestApi,\n RequestInfoDto,\n} from \"../../api\";\nimport { useAuth, useDialog, useEventsContext, useGlobalData } from \"../../contexts\";\nimport { ERoutes } from \"../../ERoutes\";\nimport { useApiService, useTl } from \"../../hooks\";\nimport { useReferential } from \"../../hooks/useReferential\";\nimport { ETLCodes } from \"../../locales\";\nimport { ArePuppiesDirty } from \"../../pages/request/broodRequest/item/PuppiesTab\";\nimport { getRouteStr } from \"../../utils/RequestRouteUtil\";\nimport { getSearchRouteStr } from \"../../utils/RequestSearchRouteUtil\";\nimport { RequestCancelCommentDialog } from \"./RequestCancelCommentDialog\";\n\nexport interface IRequestStickyMenuProps {\n requestId: number;\n requestInfo?: RequestInfoDto;\n refreshFunc: (dto?: any) => Promise | any;\n closeFunc: (dto?: any) => Promise | any;\n isLoading?: (loading: boolean) => void;\n}\nconst Container = styled.div`\n padding: 0.5rem;\n padding-bottom: 3px;\n background-color: #a7d3bb;\n border-bottom: 2px solid #5c7080;\n vertical-align: middle;\n z-index: 10;\n /* display: flex; */\n /* flex-direction: row;\n justify-content: space-between; */\n`;\n\nconst StyledButton = styled(Button)`\n margin-left: 1rem;\n`;\n\nconst StyledRequestTitleContainer = styled.div`\n font-size: 15pt;\n font-weight: bold;\n min-height: 35px;\n`;\n\nconst FloatButtonContainer = styled.div`\n display: flex;\n justify-content: flex-end;\n`;\n\nconst StateContainer = styled.div`\n display: flex;\n align-items: flex-start;\n & > * {\n justify-content: flex-start !important;\n }\n`;\n\nexport const RequestStickyMenu: React.FunctionComponent = ({\n requestId,\n requestInfo,\n refreshFunc,\n closeFunc,\n isLoading,\n}) => {\n const puppiesDirtyRecoilValue = useRecoilValue(ArePuppiesDirty);\n const setArePuppiesDirty = useSetRecoilState(ArePuppiesDirty);\n const { tab } = useParams<{ tab: string }>();\n const { canBlockRequest } = useAuth();\n const { state } = useParams<{ state: string }>();\n const { currentLanguage } = useGlobalData();\n const { t, tUnsafe } = useTl();\n const api = useApiService(RequestApi);\n const importRequestApi = useApiService(ImportRequestApi);\n const { showDialogPromise } = useDialog();\n const { dispatchEvent } = useEventsContext();\n\n const [askInfosLoading, setAskInfosLoading] = React.useState(false);\n\n const isSubFile = React.useMemo(() => {\n return requestInfo?.masterRequestId > 0;\n }, [requestInfo]);\n\n // -------------------- GETTING DATA ------------------------------\n const [data, loadingData, , refresh, setData] = useApiEffect(\n React.useCallback(\n async () =>\n await api.getRequestMenu(isSubFile ? requestInfo?.parentRequestId : requestId, currentLanguage.languageId),\n [api, currentLanguage.languageId, isSubFile, requestId, requestInfo]\n ),\n [api, requestId, currentLanguage]\n );\n\n const [statuses, statusloading, _, refetch] = useReferential(\n (a) => a.getFluxStatuses(isSubFile ? requestInfo?.parentRequestId : requestId, currentLanguage.languageId),\n true,\n\n [requestId, currentLanguage.languageId, data]\n );\n\n const { subscribeToEvent, unsubscribeEvent } = useEventsContext();\n\n const onRequestRefreshEvent = React.useCallback(() => {\n console.log(\"event\");\n refetch();\n }, [refresh]);\n\n React.useEffect(() => {\n subscribeToEvent(\"RefetchRequestStatuses\", onRequestRefreshEvent);\n return () => unsubscribeEvent(\"RefetchRequestStatuses\", onRequestRefreshEvent);\n }, [onRequestRefreshEvent, subscribeToEvent, unsubscribeEvent]);\n\n const [currentRequestStatus] = useApiEffect(() => api.getStatusCurrentRequest(requestId), [requestId]);\n const [editableStatus, setEditableStatus] = React.useState(\n data?.requestStatusCode !== ERequestState.CANCELLED && data?.requestStatusCode !== ERequestState.EXECUTED\n );\n const [blocked, setBlocked] = React.useState(data?.isBlocked);\n const [currentError, setCurrentError] = React.useState();\n\n const updateBlockedStatus = React.useCallback(async () => {\n await api.updateRequestBlockedStatus(requestId);\n refreshFunc();\n refresh();\n dispatchEvent(\"RequestRefresh\");\n }, [api, dispatchEvent, refresh, refreshFunc, requestId]);\n\n const isSyncWithParent = React.useMemo(() => {\n if (isSubFile) {\n return requestInfo?.requestStateCode === requestInfo?.masterRequestStateCode;\n }\n return true;\n }, [isSubFile, requestInfo]);\n\n React.useEffect(() => {\n console.log(\"CAN BLOCK?\", canBlockRequest());\n if (data) {\n setEditableStatus(\n data.requestStatusCode !== ERequestState.CANCELLED && data.requestStatusCode !== ERequestState.EXECUTED\n );\n setBlocked(data.isBlocked);\n }\n }, [canBlockRequest, data]);\n\n const searchRoute = getSearchRouteStr(data?.requestTypeCode);\n\n const [saving, setSaving] = React.useState(false);\n\n const safeIsLoading = React.useCallback(\n (loading: boolean) => {\n if (isLoading !== undefined) {\n isLoading(loading);\n }\n },\n [isLoading]\n );\n\n const [cancelDialogOpen, setcancelDialogOpen] = React.useState(false);\n\n const mainSaveFn = React.useCallback(\n async (formikData) => {\n setSaving(true);\n safeIsLoading(false);\n\n try {\n //CHECK VERIFICATIONS AND GET NEXT STATUS\n const allVerificationsCorrect = await api.checkAllVerifications(formikData.requestId);\n const futureStatus = await api.getRequestStatus(formikData.requestStateId);\n\n if (!allVerificationsCorrect.value && futureStatus !== ERequestState.CANCELLED) {\n const dialogResult = await showDialogPromise({\n message: t(ETLCodes.NotAllVerificationsChecked),\n title: t(ETLCodes.VerificationMessage),\n });\n if (dialogResult !== \"yes\") {\n setSaving(false);\n safeIsLoading(false);\n return;\n }\n }\n\n //STATUS DIALOG CONFIRMATION\n let confirmationMessage = null;\n let confirmationTitle = null;\n\n switch (futureStatus) {\n case ERequestState.PAID:\n confirmationMessage = t(ETLCodes.PaymentConfirmationMessage);\n confirmationTitle = t(ETLCodes.PaymentStatusRequest);\n break;\n case ERequestState.CANCELLED:\n setcancelDialogOpen(true);\n return;\n break;\n case ERequestState.EXECUTED:\n confirmationMessage = t(ETLCodes.ExecuteConfirmationMessage);\n confirmationTitle = t(ETLCodes.ExecuteConfirmationTitle);\n break;\n case ERequestState.AWAITING_CATALOG || ERequestState.AUTHORIZED:\n confirmationMessage = t(ETLCodes.JudgeConfirmationMessage);\n confirmationTitle = t(ETLCodes.JudgeConfirmationTitle);\n break;\n }\n\n if (confirmationMessage && confirmationTitle) {\n const dialogResult = await showDialogPromise({\n message: confirmationMessage,\n title: confirmationTitle,\n });\n if (dialogResult !== \"yes\") {\n setSaving(false);\n safeIsLoading(false);\n return;\n }\n }\n\n await api.updateRequestStatus(data?.requestId, formikData.requestStateId, EPlatform.CARE4DOGS);\n var newStatus = await api.getRequestStatus(requestInfo?.parentRequestId);\n\n console.log(\"New status:\", newStatus);\n console.log(\"Future status:\", futureStatus);\n if (newStatus !== futureStatus && futureStatus === ERequestState.EXECUTED) {\n await closeFunc();\n }\n\n const newData = await api.getRequestMenu(requestId, currentLanguage.languageId);\n setData(newData);\n } catch (err) {\n const details: ErrorDetails = JSON.parse(err.response);\n if (!!details.errorCode) {\n showError(tUnsafe(`BackendError_${details.errorCode}`));\n } else {\n showError(t(ETLCodes.Error));\n }\n }\n\n setSaving(false);\n safeIsLoading(false);\n await refresh();\n await refreshFunc();\n dispatchEvent(\"RequestRefresh\");\n },\n [\n api,\n closeFunc,\n currentLanguage.languageId,\n data?.requestId,\n dispatchEvent,\n refresh,\n refreshFunc,\n requestId,\n requestInfo?.parentRequestId,\n safeIsLoading,\n setData,\n showDialogPromise,\n t,\n tUnsafe,\n ]\n );\n\n const manageError = React.useCallback(\n (error: any) => {\n const details: ErrorDetails = JSON.parse(error.response);\n if (details?.errorCode) {\n if (details?.errorCode === \"NavError\") {\n showSuccess(t(ETLCodes.SaveSuccess));\n refresh();\n }\n setCurrentError(details);\n } else {\n showError(t(ETLCodes.Error));\n }\n return;\n },\n [refresh, t]\n );\n\n React.useEffect(() => {\n if (currentError && currentError.errorCode) {\n showError(tUnsafe(`BackendError_${currentError.errorCode}`));\n }\n }, [currentError, tUnsafe]);\n\n const askInfos = React.useCallback(async () => {\n setAskInfosLoading(true);\n try {\n const allOK = await api.askInfos(isSubFile ? requestInfo?.parentRequestId : requestId);\n if (allOK) {\n showInfo(t(ETLCodes.AllRightNothingToSend));\n } else {\n showSuccess(t(ETLCodes.InfosSentByEmail));\n }\n setAskInfosLoading(false);\n } catch (error) {\n setAskInfosLoading(false);\n manageError(error);\n }\n }, [api, isSubFile, manageError, requestId, requestInfo?.parentRequestId, t]);\n\n const isStatusRequested = React.useMemo(\n () => currentRequestStatus === ERequestState.REQUESTED,\n [currentRequestStatus]\n );\n\n const isStatusDogValidation = React.useMemo(\n () => currentRequestStatus === ERequestState.DOG_VALIDATION,\n [currentRequestStatus]\n );\n\n const RequestTitle = React.useCallback(() => {\n if (isSubFile) {\n return (\n \n \n {requestInfo.masterRequestNumber}\n \n \n {requestInfo?.requestId === 0 ? t(ETLCodes.New) : data?.requestDescription}\n \n );\n } else {\n return (\n \n {data?.requestDescription}\n {editableStatus && !blocked && (\n \n )}\n \n );\n }\n }, [blocked, data?.requestDescription, editableStatus, isSubFile, requestInfo, t]);\n const [printLoading, setprintLoading] = React.useState(false);\n const PrintCallback = React.useCallback(async () => {\n console.log(\"printing..\");\n setprintLoading(true);\n try {\n console.log(\"trying to print\");\n await importRequestApi.reprintDocument(requestInfo?.requestId);\n } catch {\n console.log(\"terror print\");\n showError(t(ETLCodes.Error));\n }\n setprintLoading(false);\n }, [importRequestApi, requestInfo?.requestId, t]);\n\n const [uncancelRequestLoading, setuncancelRequestLoading] = React.useState(false);\n\n const UncancelRequest = React.useCallback(async () => {\n setuncancelRequestLoading(true);\n try {\n await api.uncancelRequest(data?.requestId);\n showSuccess(t(ETLCodes.Success));\n refresh();\n } catch {\n showError(t(ETLCodes.Error));\n } finally {\n setuncancelRequestLoading(false);\n }\n }, [api, data?.requestId, refresh, t]);\n\n const FloatButton = React.useCallback(() => {\n if (data?.requestStatusCode === ERequestState.EXECUTED && data?.requestTypeCode === ERequestType.ImportRequest) {\n return PrintCallback()} loading={printLoading} />;\n } else if (!(data?.requestStatusCode === ERequestState.EXECUTED) && (!isSubFile || !isSyncWithParent)) {\n return state === \"edit\" ? (\n <>\n {data?.requestStatusCode === ERequestState.CANCELLED ? null : (\n \n )}\n\n {!blocked && data?.requestStatusCode === ERequestState.CANCELLED && !!data?.previousRequestStatusId ? (\n \n ) : null}\n \n ) : (\n <>\n );\n } else {\n return <>;\n }\n }, [\n PrintCallback,\n UncancelRequest,\n blocked,\n canBlockRequest,\n data?.previousRequestStatusId,\n data?.requestStatusCode,\n data?.requestTypeCode,\n isSubFile,\n isSyncWithParent,\n printLoading,\n state,\n t,\n uncancelRequestLoading,\n updateBlockedStatus,\n ]);\n\n const puppySpecificDirtyCheck = React.useMemo(() => {\n return tab === \"puppies\" && puppiesDirtyRecoilValue;\n }, [puppiesDirtyRecoilValue, tab]);\n\n React.useEffect(() => {\n if (ArePuppiesDirty && tab !== \"puppies\") {\n setArePuppiesDirty(false);\n }\n }, [setArePuppiesDirty, tab]);\n\n const formik = useFGFormik({\n initialValues: data,\n onSubmit: mainSaveFn,\n });\n\n const confirmCancel = React.useCallback(\n async (hasCanceled: boolean) => {\n if (hasCanceled) {\n await api.updateRequestStatus(requestId, formik?.values?.requestStateId, EPlatform.CARE4DOGS);\n const newData = await api.getRequestMenu(requestId, currentLanguage.languageId);\n setData(newData);\n }\n setSaving(false);\n safeIsLoading(false);\n setcancelDialogOpen(false);\n },\n [requestId, currentLanguage, formik]\n );\n\n return loadingData ? (\n \n ) : (\n \n \n \n \n \n \n \n {editableStatus && !blocked && (!isSubFile || !isSyncWithParent) && (\n
\n \n
\n )}\n {editableStatus && !blocked && (!isSubFile || !isSyncWithParent) && (\n \n {(ctx) => (\n \n \n \n )}\n \n )}\n
\n
\n \n \n {(ctx) => (\n \n {data?.requestType}\n \n )}\n \n \n
\n \n \n {(isStatusRequested || isStatusDogValidation) && (\n askInfos()}\n icon={}\n intent={Intent.PRIMARY}\n loading={askInfosLoading}\n />\n )}\n \n \n \n
\n \n \n
\n \n \n {(ctx) => (\n \n {data?.personName}\n \n )}\n \n\n {data?.personAddress && (\n \n {(ctx) => <>{data?.personAddress}}\n \n )}\n {data?.personEmail && (\n \n {(ctx) => {data?.personEmail}}\n \n )}\n \n
\n
\n {data?.managerId && (\n \n \n {(ctx) => <>{data?.manager}}\n \n \n )}\n
\n
\n \n setcancelDialogOpen(false)} style={{ width: 800 }}>\n \n \n
\n );\n};\n","import * as React from \"react\";\nimport { ETLCodes } from \"../locales\";\nimport { useTl } from \"../hooks\";\nimport { Tooltip } from \"@blueprintjs/core\";\nimport styled from \"styled-components\";\n\nexport interface IInformationTooltipProps {\n tooltipMessage?: ETLCodes;\n customMessage?: string;\n}\n\nconst StyledImage = styled.i`\n color: #1e90ff;\n size: 9px;\n`;\n\nexport const InformationTooltip: React.FunctionComponent = ({\n tooltipMessage,\n customMessage = null,\n}) => {\n const { t } = useTl();\n\n return (\n \n \n \n );\n};\n","import * as React from \"react\";\nimport { useApiService } from \"../hooks\";\nimport { WorkbookApi } from \"../api\";\nimport { useApiEffect } from \"nsitools-react\";\n\nexport interface IWorkbookTypeIconProps {\n workbookTypeId: number;\n}\n\nexport const WorkbookTypeIcon: React.FunctionComponent = ({ workbookTypeId }) => {\n const api = useApiService(WorkbookApi);\n\n const [data] = useApiEffect(async () => api.getWorkbookIconInformation(workbookTypeId));\n\n return (\n data &&\n (data.hasPedigree ? (\n \n ) : (\n \n ))\n );\n};\n","import { FGCheckboxInput, FieldGroup, useApiEffect } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { useLocation } from \"react-router\";\n\nimport { RequestApi, VerificationsValueDto } from \"../api\";\nimport { useEventsContext } from \"../contexts\";\nimport { useApiService, useCrudApi } from \"../hooks\";\nimport { ETLCodes } from \"../locales\";\nimport { SmallFormGenerator } from \"./\";\n\nexport interface IVerificationTabProps {\n requestId: number;\n editMode: boolean;\n minLabelWidth?: number;\n statusETLCode: ETLCodes;\n}\n\nexport const VerificationTab: React.FunctionComponent = ({\n requestId,\n editMode,\n minLabelWidth = 300,\n statusETLCode,\n}) => {\n const requestApi = useApiService(RequestApi);\n const [currentRequestStatus, currentRequestStatusIdLoading] = useApiEffect(\n () => requestApi.getStatusCurrentRequest(requestId),\n [requestId]\n );\n const { data, loading, saving, saveItem, refresh } = useCrudApi(\n {\n getApiFn: (id = requestId) => requestApi.getVerifications(id),\n saveApiFn: (d: VerificationsValueDto[]) => requestApi.saveVerifications(+requestId, d),\n deleteApiFn: (d) => {},\n onDeletedRoute: () => \"\",\n },\n [requestId]\n );\n\n const VerificationStatuses = React.useMemo(\n () => !loading && Array.from(new Set(data.map((c) => c.requestStatusLabel))),\n [data, loading]\n );\n\n const onRequestRefreshEvent = React.useCallback(() => {\n refresh();\n }, [refresh]);\n\n const { subscribeToEvent, unsubscribeEvent } = useEventsContext();\n React.useEffect(() => {\n subscribeToEvent(\"RequestRefresh\", onRequestRefreshEvent);\n return () => unsubscribeEvent(\"RequestRefresh\", onRequestRefreshEvent);\n }, [onRequestRefreshEvent, subscribeToEvent, unsubscribeEvent]);\n\n return (\n saveItem(d.verifications)}\n loading={loading}\n saving={saving}\n >\n {!loading &&\n !currentRequestStatusIdLoading &&\n VerificationStatuses?.map((verificationLabel, i, k) => {\n return (\n c.requestStatusLabel === verificationLabel).requestStatus\n ? { fontWeight: \"bold\" }\n : null\n }\n >\n {verificationLabel}\n \n ),\n }}\n >\n {data?.map((d, index, key) => {\n return d.requestStatusLabel === verificationLabel ? (\n \n \n \n ) : (\n <>\n );\n })}\n \n );\n })}\n \n );\n};\n","import { Button, Intent } from \"@blueprintjs/core\";\nimport { ButtonContainer, FGCustomPanel, FGSelectInput, FieldGroup, IDataTableColumn } from \"nsitools-react\";\nimport * as React from \"react\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport {\n ERequestState,\n LinkedRequestsApi,\n LinkedRequestsSearch,\n ReferentialApi,\n RequestApi,\n RequestGridDto,\n RequestInfoDto,\n} from \"../api\";\nimport { EditButton, SearchTablePage, SmallFormGenerator, ViewButton } from \"../components\";\nimport { useGlobalData } from \"../contexts\";\nimport { useApiService, useTl } from \"../hooks\";\nimport { useReferential } from \"../hooks/useReferential\";\nimport { ETLCodes } from \"../locales\";\nimport { getRouteStr } from \"../utils/RequestRouteUtil\";\nimport { getSearchRouteStr } from \"../utils/RequestSearchRouteUtil\";\n\nexport interface ILinkedSubFilesTabProps {\n requestInfo: RequestInfoDto;\n editMode: boolean;\n}\n\nconst Container = styled.div`\n padding: 0.5rem;\n padding-bottom: 3px;\n vertical-align: middle;\n z-index: 10;\n display: flex;\n flex-direction: row;\n`;\n\nconst StyledButton = styled(Button)`\n float: left;\n`;\n\nexport const LinkedSubFilesTab: React.FunctionComponent = ({ requestInfo, editMode }) => {\n const { t } = useTl();\n const api = useApiService(LinkedRequestsApi);\n const requestApi = useApiService(RequestApi);\n const referentialApi = useApiService(ReferentialApi);\n const history = useHistory();\n const { currentLanguage } = useGlobalData();\n\n const editableStatus = React.useMemo(\n () =>\n requestInfo.requestStateCode === ERequestState.REQUESTED &&\n (requestInfo?.masterRequestStateCode === ERequestState.REQUESTED || requestInfo?.masterRequestStateCode == null),\n [requestInfo]\n );\n\n const blocked = React.useMemo(() => requestInfo.isRequestBlocked, [requestInfo.isRequestBlocked]);\n\n const redirectToRequest = React.useCallback(\n async (row: RequestGridDto) => {\n const subRequestId = await requestApi.getSubRequestTypeId(row.requestId, row.requestTypeCode);\n const p = await getRouteStr(row.requestTypeCode, subRequestId, \"edit\");\n history.push(p);\n },\n [history, requestApi]\n );\n\n const columns = React.useMemo(\n () => [\n {\n computed: true,\n disableSorting: true,\n fieldName: \"actions\",\n autoFitContent: true,\n render: (row: RequestGridDto) => (\n \n window.open(\"/#\" + getRouteStr(row.requestTypeCode, row.subRequestId, \"view\"))}\n />\n window.open(\"/#\" + getRouteStr(row.requestTypeCode, row.subRequestId, \"edit\"))}\n />\n \n ),\n },\n {\n header: () => t(ETLCodes.RequestNumber),\n fieldName: \"requestNumber\",\n render: (row: RequestGridDto) => (\n redirectToRequest(row)}>\n {row.requestNumber}\n \n ),\n },\n {\n header: () => t(ETLCodes.RequestType),\n fieldName: \"requestType\",\n render: (row: RequestGridDto) => (\n \n {row.requestType}\n \n ),\n },\n {\n header: () => t(ETLCodes.RequestDate),\n fieldName: \"requestDate\",\n },\n ],\n [blocked, t]\n );\n\n const searchFunction = React.useCallback(\n (sObj) =>\n api.baseSearch(\n LinkedRequestsSearch.fromJS({\n ...sObj,\n masterRequestId: requestInfo.parentRequestId,\n languageId: currentLanguage.languageId,\n })\n ),\n [api, currentLanguage.languageId, requestInfo.parentRequestId]\n );\n\n const [listSubFilesRequestTypes, setListSubFilesRequestTypes] = React.useState([]);\n\n const refSubFilesRequestTypes = React.useMemo(() => {\n const refResult = referentialApi.getSubFilesRequestTypes(\n requestInfo.requestTypeCode,\n currentLanguage.languageId,\n requestInfo.parentRequestId\n );\n refResult.then((list) => setListSubFilesRequestTypes(list));\n return refResult;\n }, [currentLanguage.languageId, referentialApi, requestInfo.parentRequestId, requestInfo.requestTypeCode]);\n\n const [subFilesRequestTypes, subFilesRequestTypesLoading] = useReferential(\n (refApi) => refSubFilesRequestTypes,\n true,\n [currentLanguage.languageId]\n );\n\n return (\n <>\n \n
\n {\n const subFileRequestType = listSubFilesRequestTypes.filter(\n (rt) => +rt.idValue === +values.subFileRequestType\n )[0];\n history.push(getRouteStr(subFileRequestType.keyValue, 0, \"edit\") + \"/\" + requestInfo.parentRequestId);\n }}\n >\n \n {editableStatus && !blocked && (\n \n )}\n {editableStatus && !blocked && (\n \n {(ctx) => (\n \n \n \n )}\n \n )}\n \n \n
\n
\n\n \n \n );\n};\n","import * as React from \"react\";\nimport { FGCustomPanel, FieldGroup, showError, showSuccess, useApiEffect } from \"nsitools-react\";\nimport { useApiService, useCrudApi, useTl } from \"../hooks\";\nimport { useLocation } from \"react-router\";\nimport { ERequestState, ErrorDetails, NeededConditionDto, RequestApi } from \"../api\";\nimport { ETLCodes } from \"../locales\";\nimport { SmallFormGenerator } from \"./SmallFormGenerator\";\nimport { Button } from \"@blueprintjs/core\";\nimport { useDialog, useEventsContext } from \"../contexts\";\nimport { FGSRSHCheckboxInput } from \"../components\";\nimport styled from \"styled-components\";\n\nexport interface IConditionTabProps {\n requestId: number;\n editMode: boolean;\n minLabelWidth?: number;\n statusETLCode: ETLCodes;\n requestState: ERequestState;\n}\n\nconst StyledFGSRSHCheckboxInput = styled(FGSRSHCheckboxInput)`\n flex: 0;\n`;\n\nexport const ConditionTab: React.FunctionComponent = ({\n requestId,\n editMode,\n minLabelWidth = 300,\n statusETLCode,\n requestState,\n}) => {\n const { t, tUnsafe } = useTl();\n const { showDialog } = useDialog();\n const { pathname } = useLocation();\n const requestApi = useApiService(RequestApi);\n const [currentRequestStatus, currentRequestStatusIdLoading] = useApiEffect(\n () => requestApi.getStatusCurrentRequest(requestId),\n [requestId]\n );\n const { data, loading, refresh } = useCrudApi(\n React.useMemo(\n () => ({\n getApiFn: (id = requestId) => requestApi.getConditions(id),\n saveApiFn: () => {},\n deleteApiFn: (d) => {},\n onDeletedRoute: () => \"\",\n }),\n [pathname, requestApi, requestId]\n ),\n [requestId]\n );\n\n // const ConditionStatuses = React.useMemo(\n // () =>\n // !loading &&\n // data.map((c) => {\n // return { label: c.requestStatusLabel, code: c.requestStatusCode };\n // }),\n // [data, loading]\n // );\n\n const ConditionStatuses = React.useMemo(\n () => !loading && Array.from(new Set(data.map((c) => c.requestStatusLabel))),\n [data, loading]\n );\n\n const onRequestRefreshEvent = React.useCallback(() => {\n refresh();\n }, [refresh]);\n\n const { subscribeToEvent, unsubscribeEvent } = useEventsContext();\n React.useEffect(() => {\n subscribeToEvent(\"RequestRefresh\", onRequestRefreshEvent);\n return () => unsubscribeEvent(\"RequestRefresh\", onRequestRefreshEvent);\n }, [onRequestRefreshEvent, subscribeToEvent, unsubscribeEvent]);\n\n const forceCondition = React.useCallback(\n async (neededConditionId) => {\n try {\n showDialog({\n message: t(ETLCodes.ForceConditionConfirmationMessage),\n title: t(ETLCodes.ForceCoditionConfirmationTitle),\n onConfirmed: async () => {\n const res = await requestApi.forceCondition(neededConditionId, requestId);\n showSuccess(t(ETLCodes.ConditionForcedsuccessfully));\n refresh();\n return res;\n },\n });\n } catch (err) {\n const details: ErrorDetails = JSON.parse(err.response);\n showError(tUnsafe(`BackendError_${details.errorCode}`));\n }\n },\n [refresh, requestApi, requestId, showDialog, t, tUnsafe]\n );\n\n return (\n <>\n {}}\n loading={loading}\n hideButtons={true}\n >\n {!loading &&\n !currentRequestStatusIdLoading &&\n ConditionStatuses?.map((RequestStatusLabel, i, k) => {\n return (\n c.requestStatusLabel === RequestStatusLabel).requestStatusCode\n ? { fontWeight: \"bold\" }\n : null\n }\n >\n {RequestStatusLabel}\n \n ),\n }}\n // rightElement={\n // {}}\n // icon={}\n // minimal={true}\n // intent={Intent.PRIMARY}\n // />\n // }\n >\n {data?.map((d, index, key) => {\n return d.requestStatusLabel === RequestStatusLabel ? (\n \n \n {(ctx) => (\n \n \n {editMode && !d.forced && d.forcible && !d.value && d.requestStatusCode === requestState ? (\n forceCondition(d.neededConditionId)}\n disabled={\n currentRequestStatus !==\n data.find((c) => c.requestStatusLabel === RequestStatusLabel).requestStatusCode\n }\n />\n ) : d.forced ? (\n
{t(ETLCodes.Forced)}
\n ) : (\n <>\n )}\n \n )}\n
\n
\n ) : (\n
\n );\n })}\n \n );\n })}\n \n \n );\n};\n","import * as React from \"react\";\nimport { useAuth } from \"../../contexts\";\nimport { ITabsProps, Tabs} from \"@blueprintjs/core\";\nimport { useLocation, useHistory } from \"react-router\";\n\nexport interface IProtectedTabsProps extends ITabsProps {}\n\nexport const ProtectedTabs: React.FunctionComponent = ({ ...props }) => {\n const { matchTab } = useAuth();\n const location = useLocation();\n const history = useHistory();\n\n const filteredTabs = React.useMemo(() => {\n if (Array.isArray(props.children)) {\n return props.children.filter((d: any) => {\n if (d?.type?.displayName === \"Blueprint3.Tab\") {\n return matchTab(d.props.id.toString());\n } else {\n return true;\n }\n });\n }\n return props.children;\n }, [matchTab, props.children]);\n\n React.useEffect(() => {\n if (filteredTabs && Array.isArray(filteredTabs) && filteredTabs.length > 0) {\n let tab = null;\n const tabString = location.pathname.split(\"/\")[3]\n ? location.pathname.split(\"/\")[3]\n : location.pathname.split(\"/\")[2];\n\n if (!filteredTabs.some((d) => (d.props?.id?.toUpperCase() ?? \"\") === tabString?.toUpperCase())) {\n for (let d of filteredTabs) {\n if (d?.type?.displayName === \"Blueprint3.Tab\" && !tab) {\n tab = d;\n }\n }\n }\n\n if (tab && tabString?.toUpperCase() !== tab.props.id.toUpperCase()) {\n let url = location.pathname.replace(`/${tabString}/`, `/${tab.props.id}/`);\n url = url.substr(0, url.indexOf(`/${tab.props.id}/`) + `/${tab.props.id}/`.length);\n history.push(url);\n }\n }\n }, [filteredTabs, history, location.pathname]);\n\n return ;\n};\n","import { IDataTableColumn, useGridState, useSearchApi, FieldSet } from \"nsitools-react\";\nimport * as React from \"react\";\nimport moment from \"moment\";\n\nimport { BaseRequestSearch, RequestActionHistoryApi, RequestHistoryActionGridDto } from \"../api\";\nimport { CustomDataTable, ExportButton } from \"../components\";\nimport { useGlobalData } from \"../contexts\";\nimport { useApiService, useTl } from \"../hooks\";\nimport { ETLCodes } from \"../locales\";\n\nexport interface IRequestHistoryTabProps {\n requestId: number;\n}\n\nexport const RequestHistoryTab: React.FunctionComponent = ({ requestId }) => {\n const api = useApiService(RequestActionHistoryApi);\n const { t } = useTl();\n const { currentLanguage } = useGlobalData();\n const [sObjState, setsobjState] = React.useState();\n\n const tableState = useGridState({\n serverMode: true,\n enablePagination: true,\n enableFilter: true,\n availablePageSizes: [15, 25, 50],\n pageSize: 15,\n sortKeys: { actionTime: \"DESC\" },\n });\n\n const searchFunction = React.useCallback(\n (sObj?: BaseRequestSearch) => {\n setsobjState(BaseRequestSearch.fromJS({ ...sObj, requestId: requestId, languageId: currentLanguage.languageId }));\n return api.baseSearch(\n BaseRequestSearch.fromJS({ ...sObj, requestId: requestId, languageId: currentLanguage.languageId })\n );\n },\n [api, currentLanguage.languageId, requestId]\n );\n\n const { loading } = useSearchApi({\n searchFunction,\n tableState,\n initialSearch: true,\n trimSearchObjectStringValues: true,\n });\n\n const columns = React.useMemo(\n () => [\n {\n header: () => t(ETLCodes.When),\n fieldName: \"actionTime\",\n render: (row: RequestHistoryActionGridDto) => moment(row.actionTime).format(\"DD/MM/YYYY HH:mm\"),\n },\n {\n header: () => t(ETLCodes.What),\n fieldName: \"action\",\n },\n ],\n [t]\n );\n\n return (\n api.exportXlsFile(sObj)} sObj={sObjState} />}\n >\n \n \n );\n};\n","import * as React from \"react\";\nimport { Loading, ErrorBoundary } from \"nsitools-react\";\nimport styled from \"styled-components\";\nimport { PropsWithChildren } from \"react\";\n\nconst Container = styled.div<{ iscentered: number; fullheight: number }>`\n display: flex;\n justify-content: ${({ iscentered }) => (iscentered ? \"center\" : null)};\n align-items: ${({ iscentered }) => (iscentered ? \"center\" : null)};\n width: 100%;\n height: ${({ fullheight }) => (fullheight ? \"100vh\" : \"100%\")};\n flex-direction: column;\n`;\n\nexport interface IPageContainerProps extends PropsWithChildren {\n isLoading?: boolean;\n isCentered?: boolean;\n isFullHeight?: boolean;\n}\n\nexport const PageContainer: React.FunctionComponent = ({\n children,\n isLoading = false,\n isCentered = false,\n isFullHeight = false,\n}) => {\n return (\n \n \n {children}\n \n \n );\n};\n","import * as React from \"react\";\nimport assets from \"../assets\";\n\nexport interface IBoneIconProps {\n style?: any;\n}\n\nexport const BoneIcon: React.FunctionComponent = ({ style = {} }) => {\n return (\n \n \"boneIcon\"\n \n );\n};\n","import * as React from \"react\";\nimport { ETLCodes } from \"../locales\";\nimport styled from \"styled-components\";\n\nexport interface IInformationCardProps {\n text: string;\n type?: \"Information\" | \"Warning\" | \"Error\";\n}\n\nconst StyledImageInfo = styled.i`\n color: #1e90ff;\n size: 9px;\n`;\n\nconst StyledImageWarning = styled.i`\n color: #f9994a;\n size: 9px;\n`;\n\nconst StyledImageError = styled.i`\n color: #ff0000;\n size: 9px;\n`;\n\nexport const InformationCard: React.FunctionComponent = ({ text, type = \"Information\" }) => {\n switch (type) {\n case \"Information\":\n return (\n
\n \n {` ${text}`}\n
\n );\n case \"Warning\":\n return (\n
\n \n {` ${text}`}\n
\n );\n case \"Error\":\n return (\n
\n \n {` ${text}`}\n
\n );\n default:\n break;\n }\n};\n","import { FGDateInput, IFGDateInputProps } from \"nsitools-react\";\nimport * as React from \"react\";\n\nexport interface IFGSRSHDateMaskInputProps extends IFGDateInputProps {}\n\nexport const FGSRSHDateMaskInput: React.FunctionComponent = ({ ...dateProps }) => {\n const maxDate = React.useMemo(() => {\n const d = new Date();\n d.setFullYear(d.getFullYear() + 5);\n return d;\n }, []);\n\n return (\n \n );\n};\n","import * as React from \"react\";\nimport { FGMaskInput } from \"nsitools-react\";\n\nexport interface IFGNumberMaskInputProps {\n name: string;\n label: string;\n}\n\nexport const FGNumberMaskInput: React.FunctionComponent = ({ label, name }) => {\n return (\n \n );\n};\n","import * as React from \"react\";\nimport { FGMaskInput } from \"nsitools-react\";\nimport { IconNames } from \"@blueprintjs/icons\";\nimport { Icon } from \"@blueprintjs/core\";\n\nexport interface IFGEuroMaskInputProps {\n name: string;\n label: string;\n readonly?: boolean;\n}\n\nexport const FGEuroMaskInput: React.FunctionComponent = ({\n label,\n name,\n readonly = false,\n}) => {\n return (\n }\n cleaveOptions={{\n numeralThousandsGroupStyle: \"thousand\",\n numeralDecimalMark: \",\",\n delimiter: \".\",\n }}\n name={name}\n label={label}\n readonly={readonly}\n />\n );\n};\n","import { CustomNodeElementProps } from \"react-d3-tree/lib/types/types/common\";\nimport * as React from \"react\";\nimport * as uuid from \"uuid\";\n\nconst textLayout = { textAnchor: \"start\", x: 10, y: -10, transform: \"scale(0.8)\" };\n\nexport const renderElement = (type: string, elementProps: any, nodeProps: CustomNodeElementProps) => {\n const { name, attributes } = nodeProps.nodeDatum;\n return <>\n {React.createElement(type, {\n ...elementProps, onClick: (evt) => {\n nodeProps.toggleNode();\n nodeProps.onNodeClick(evt);\n evt.stopPropagation();\n }\n })}\n {\n nodeProps.toggleNode();\n nodeProps.onNodeClick(evt);\n evt.stopPropagation();\n }}>\n \n {name}\n \n \n {attributes &&\n Object.keys(attributes).map(labelKey => (\n \n {labelKey}: {attributes[labelKey]}\n \n ))}\n \n \n ;\n};","import { Radio } from \"@blueprintjs/core\";\nimport { useWhatChanged } from \"@simbathesailor/use-what-changed\";\nimport { FGDateMaskInput, FGTextInput, FieldGroup, useFGContext } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { EDogSex } from \"../../../api\";\nimport { FGDogSearchInput, FGSRSHDateMaskInput } from \"../../../components\";\nimport { useTl } from \"../../../hooks\";\nimport { ETLCodes } from \"../../../locales\";\n\nexport interface IFusionRadioProps {\n elementName: string;\n elementNameBis: string;\n fusedElementName: string;\n label: ETLCodes;\n elementValue: any;\n elementValueBis: any;\n isDate?: boolean;\n sex?: EDogSex;\n selectLeft?: boolean;\n}\n\nexport const FusionRadio: React.FunctionComponent = ({\n elementName,\n elementNameBis,\n fusedElementName,\n label,\n elementValue,\n elementValueBis,\n isDate = false,\n sex,\n selectLeft = null,\n}) => {\n const [fusionRadioValue, setFusionRadioValue] = React.useState(selectLeft !== null ? (selectLeft ? \"1\" : \"2\") : \"1\");\n const [oldFusionValue, setOldFusionValue] = React.useState(fusionRadioValue);\n const { formik } = useFGContext();\n const { t } = useTl();\n\n React.useEffect(() => {\n setFusionRadioValue(selectLeft !== null ? (selectLeft ? \"1\" : \"2\") : \"1\");\n }, [selectLeft]);\n\n React.useEffect(() => {\n console.log(`For element [${fusedElementName}] => OLD [${oldFusionValue}] === NEW [${fusionRadioValue}]`);\n if (\n oldFusionValue !== fusionRadioValue &&\n ((fusionRadioValue == \"1\" && formik.values.fusedElementName !== elementValue) ||\n (fusionRadioValue == \"0\" && formik.values.fusedElementName !== elementValueBis))\n ) {\n if (fusionRadioValue === \"1\") {\n console.log(`Set ${fusedElementName} to ${elementValue}`);\n formik.setFieldValue(fusedElementName, elementValue);\n } else {\n console.log(`Set ${fusedElementName} to ${elementValueBis}`);\n formik.setFieldValue(fusedElementName, elementValueBis);\n }\n setOldFusionValue(fusionRadioValue);\n }\n }, [elementValue, elementValueBis, formik, fusedElementName, fusionRadioValue, oldFusionValue]);\n\n useWhatChanged([sex, elementName], \"sex, elementName\");\n\n return (\n <>\n
\n \n \n {isDate ? (\n \n ) : sex ? (\n \n ) : (\n \n )}\n\n {\n setFusionRadioValue(c.currentTarget.value);\n console.log(`Set ${fusedElementName} to ${elementValue}`);\n formik.setFieldValue(fusedElementName, elementValue);\n }}\n />\n \n \n {/*==================================================================================================*/}\n \n
\n \n {isDate ? (\n \n ) : sex ? (\n \n ) : (\n \n )}\n {\n setFusionRadioValue(c.currentTarget.value);\n console.log(`Set ${fusedElementName} to ${elementValueBis}`);\n formik.setFieldValue(fusedElementName, elementValueBis);\n }}\n />\n \n
\n
\n
\n \n );\n};\n","import { Radio } from \"@blueprintjs/core\";\nimport { FGSelectInput, FieldGroup, useFGContext } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { ReferentialApi, ReferentialItemDto } from \"../../../api\";\nimport { useTl } from \"../../../hooks\";\nimport { useReferential } from \"../../../hooks/useReferential\";\nimport { ETLCodes } from \"../../../locales\";\n\nexport interface IFusionComboProps {\n elementName: string;\n elementNameBis: string;\n fusedElementName: string;\n label: ETLCodes;\n elementValue: any;\n elementValueBis: any;\n referentialFunc: (api: ReferentialApi) => Promise;\n selectLeft?: boolean;\n}\n\nexport const FusionCombo: React.FunctionComponent = ({\n elementName,\n elementNameBis,\n fusedElementName,\n label,\n elementValue,\n elementValueBis,\n referentialFunc,\n selectLeft = null,\n}) => {\n const [fusionRadioValue, setFusionRadioValue] = React.useState(selectLeft !== null ? (selectLeft ? \"1\" : \"2\") : \"1\");\n const [oldFusionValue, setOldFusionValue] = React.useState(fusionRadioValue);\n const { formik } = useFGContext();\n const { t } = useTl();\n\n const [referentialValues, referentialValuesLoading] = useReferential(referentialFunc);\n\n React.useEffect(() => {\n setFusionRadioValue(selectLeft !== null ? (selectLeft ? \"1\" : \"2\") : \"1\");\n }, [selectLeft]);\n\n React.useEffect(() => {\n console.log(\"FusionRadioValue:\", fusionRadioValue);\n console.log(\"OLD FusionRadioValue:\", oldFusionValue);\n if (oldFusionValue !== fusionRadioValue) {\n if (fusionRadioValue === \"1\") {\n formik.setFieldValue(fusedElementName, elementValue);\n } else {\n formik.setFieldValue(fusedElementName, elementValueBis);\n }\n setOldFusionValue(fusionRadioValue);\n }\n }, [elementValue, elementValueBis, formik, fusedElementName, fusionRadioValue, oldFusionValue]);\n\n return (\n <>\n
\n \n \n \n\n {\n setFusionRadioValue(c.currentTarget.value);\n formik.setFieldValue(fusedElementName, elementValue);\n }}\n />\n \n \n {/*==================================================================================================*/}\n \n
\n \n \n {\n setFusionRadioValue(c.currentTarget.value);\n formik.setFieldValue(fusedElementName, elementValueBis);\n }}\n />\n \n
\n
\n
\n \n );\n};\n","import { Radio } from \"@blueprintjs/core\";\nimport { FieldGroup, useFGContext } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { FGSRSHCheckboxInput } from \"../../../components\";\nimport { useTl } from \"../../../hooks\";\nimport { ETLCodes } from \"../../../locales\";\n\nexport interface IFusionCheckboxProps {\n elementName: string;\n elementNameBis: string;\n fusedElementName: string;\n label: ETLCodes;\n elementValue: any;\n elementValueBis: any;\n selectLeft?: boolean;\n}\n\nexport const FusionCheckbox: React.FunctionComponent = ({\n elementName,\n elementNameBis,\n fusedElementName,\n label,\n elementValue,\n elementValueBis,\n selectLeft = null,\n}) => {\n const [fusionRadioValue, setFusionRadioValue] = React.useState(selectLeft !== null ? (selectLeft ? \"1\" : \"2\") : \"1\");\n const [oldFusionValue, setOldFusionValue] = React.useState(fusionRadioValue);\n const { formik } = useFGContext();\n const { t } = useTl();\n\n React.useEffect(() => {\n setFusionRadioValue(selectLeft !== null ? (selectLeft ? \"1\" : \"2\") : \"1\");\n }, [selectLeft]);\n\n React.useEffect(() => {\n console.log(\"FusionRadioValue:\", fusionRadioValue);\n console.log(\"OLD FusionRadioValue:\", oldFusionValue);\n if (oldFusionValue !== fusionRadioValue) {\n if (fusionRadioValue === \"1\") {\n formik.setFieldValue(fusedElementName, elementValue);\n } else {\n formik.setFieldValue(fusedElementName, elementValueBis);\n }\n setOldFusionValue(fusionRadioValue);\n }\n }, [elementValue, elementValueBis, formik, fusedElementName, fusionRadioValue, oldFusionValue]);\n\n return (\n <>\n
\n \n \n \n {\n setFusionRadioValue(c.currentTarget.value);\n formik.setFieldValue(fusedElementName, elementValue);\n }}\n />\n \n \n {/*==================================================================================================*/}\n \n
\n \n \n {\n setFusionRadioValue(c.currentTarget.value);\n formik.setFieldValue(fusedElementName, elementValueBis);\n }}\n />\n \n
\n
\n
\n \n );\n};\n","import { Radio } from \"@blueprintjs/core\";\nimport { FieldGroup, useFGContext } from \"nsitools-react\";\nimport * as React from \"react\";\n\nimport { useTl } from \"../../../hooks\";\nimport { ETLCodes } from \"../../../locales\";\n\nexport interface IFusionDisplayRadioProps {\n label: ETLCodes;\n fusionName: string;\n fusionId1: number;\n fusionId2: number;\n disabled?: boolean;\n}\n\nexport const FusionDisplayRadio: React.FunctionComponent = ({\n label,\n fusionName,\n fusionId1,\n fusionId2,\n disabled = false,\n}) => {\n const [fusionRadioValue, setFusionRadioValue] = React.useState(\"1\");\n const { formik } = useFGContext();\n const { t } = useTl();\n\n return (\n <>\n
\n \n \n {\n setFusionRadioValue(c.currentTarget.value);\n formik.setFieldValue(fusionName, fusionId1);\n }}\n disabled={disabled}\n label={t(label)}\n alignIndicator=\"right\"\n />\n \n \n {/*==================================================================================================*/}\n \n \n {\n setFusionRadioValue(c.currentTarget.value);\n formik.setFieldValue(fusionName, fusionId2);\n }}\n label={t(label)}\n disabled={disabled}\n alignIndicator=\"right\"\n />\n \n \n
\n \n );\n};\n"],"names":["BaseAPI","configuration","__publicField","prefix","baseUrl","BASE_PATH","_a","options","ctrl","url","response","processor","ActivityApi","http","sObj","url_","options_","transformedOptions_","_response","status","_headers","v","k","_responseText","result200","resultData200","PaginatedResultsOfActivityGridDto","throwException","activityId","ActivityDto","dto","languageId","contentDisposition","fileNameMatch","fileName","blob","includeListsValues","item","FilterCriteriaInfo","searchField","SelectItem","AffixDrupalApi","PaginatedResultsOfAffixGridDto","AffixRequestApi","PaginatedResultsOfAffixRequestGridDto","newKennelRequestId","NewKennelRequestDto","kennelNameChangeRequestId","KennelNameChangeRequestDto","files","content_","item_","Result","requestType","importKennelId","KennelImportRequestDto","requestId","type","exportKennelRequestId","KennelExportRequestDto","kennelOwnershipChangeRequestId","KennelOwnershipChangeRequestDto","personId","ResultOfBoolean","kennelId","requestState","PaginatedResultsOfAffixExportGridDto","value","file","NewKennelRequestImportDto","newKennelRequests","KennelImportRequestImportDto","importRequests","NameChangeRequestImporRequestDto","nameChangeRequests","OwnershipChangeRequestImporRequestDto","AffixRequestExportApi","AllJudgesForBreedApi","PaginatedResultsOfJudgeGridDto","ArticleApi","PaginatedResultsOfArticleGridDto","id","ArticleDto","articleId","AvailableJudgesApi","BreedApi","PaginatedResultsOfBreedGridDto","breedId","BreedDto","BreedColorSaveDto","toSave","officialName","WorkbookTypeGridDto","BreedWorkbookTypeSaveDto","BreedGridDto","BreedersDogsApi","PaginatedResultsOfBreederDogsGridDto","BreedExceptionsApi","PaginatedResultsOfBreedVarietiesAndExceptionsGridDto","currentBreedId","breedVarietyId","BreedForJudgeApi","BreedGroupBreedApi","PaginatedResultsOfBreedGroupBreedDto","BreedGroupBreedSaveDto","PaginatedResultsOfBreedGroupBreedHierarchyDto","BreedGroupApi","PaginatedResultsOfBreedGroupGridDto","BreedGroupDto","breedGroupId","breedGroupNumber","BooleanDto","BreedGroupJudgeApi","BreedGroupJudgeSaveDto","BreedJudgeApi","PaginatedResultsOfBreedJudgeGridDto","breedJudgeId","SaveBreedJudgeDto","BreedVarietyApi","BroodRequestApi","PaginatedResultsOfBroodRequestGridDto","broodRequestId","BroodRequestDto","driveItemIds","dogBroodRequestTransientId","DrupalBroodRequestDto","DogAs400ConditionDto","info","FileDto","BabyDogPublicationDto","dogBroodTransientRequestId","platform","newFatherId","generation","PuppyGenealogyDto","DogConditionDto","motherId","adnProfile","pedigreeFile","fatherId","fatherAdnProfile","fatherPedigreeFile","puppyPictures","dogBroodRequestId","dogNeededConditionId","dogId","DogBroodRequestGetDto","BroodRequestPotentialFathersApi","PaginatedResultsOfPotentialFatherGridDto","potentialFathersAuthorizations","CalendarYearApi","PaginatedResultsOfCalendarYearDto","calendarYearId","CalendarYearDto","year","CharacteristicApi","PaginatedResultsOfCharacteristicsGridDto","characteristicId","characteristicTypeId","code","healthValueTypeId","CharacteristicsDto","CharacteristicValuesApi","PaginatedResultsOfCharacteristicValuesGridDto","characteristicValueId","CharacteristicValuesDto","CharacteristicValuesGridDto","ChartSignatureHistoryApi","PaginatedResultsOfChartSignaturesHistoryDto","ClinicApi","PaginatedResultsOfClinicGridDto","clinicId","ClinicDto","ClubAllowedSectionsApi","PaginatedResultsOfClubAllowedSectionsDto","clubSectionId","SaveNewClubAllowedSectionDto","ClubBreedApi","PaginatedResultsOfClubGridDto","ClubCompetitionRequestApi","PaginatedResultsOfClubCompetitionRequestGridDto","ClubContactApi","PaginatedResultsOfClubContactGridDto","ClubApi","clubId","DrupalClubDto","ClubDto","SaveClubAllowedBreedsDto","ClubJudgeApi","PaginatedResultsOfJudgesForClubGridDto","clubJudgeId","ClubRoleApi","PaginatedResultsOfClubRoleGridDto","ClubRoleDto","clubRoleId","languageCode","ClubWorkbookRequestApi","PaginatedResultsOfClubWorkbookRequestGridDto","ColorApi","PaginatedResultsOfColorGridDto","ColorDto","colorId","CompetitionApi","PaginatedResultsOfCompetitionGridDto","includeCoursing","DrupalDisplayCompetitionDto","competitionId","CompetitionDto","DrupalCompetitionDto","CompetitionJudgesRequestApi","PaginatedResultsOfJudgeCompetitionRequestGridDto","judgeValidationDtos","CompetitionRequestApi","PaginatedResultsOfCompetitionRequestGridDto","competitionRequestId","CompetitionRequestDto","IsWorkOrBeautyDto","CompetitionRequestExpoDaysDto","competitionExposInfos","competitionRequestDto","sectionId","breedGroupsIds","breedIds","subAcivityId","judgeIds","CompetitionResultApi","PaginatedResultsOfCompetitionResultGridDto","competitionResultId","CompetitionResultDto","CompetitionImportDto","shouldDouble","expoId","importedDtos","CountryApi","PaginatedResultsOfCountryGridDto","CountryDto","countryId","isoCode","DashboardApi","PaginatedResultsOfDashboardTaskGridDto","dashboardTaskId","dashboardTaskIds","DocumentTemplateApi","PaginatedResultsOfDocumentTemplateGridDto","documentTemplateId","DocumentTemplateDto","DogAvailableOwnersApi","PaginatedResultsOfPersonGridDto","DogBreederApi","PaginatedResultsOfDogBreederGridDto","breederId","parameters","SaveBreederDto","DogBroodRequestApi","PaginatedResultsOfDogBroodRequestGridDto","DogChipApi","PaginatedResultsOfDogChipGridDto","dogChipId","DogChipDto","dogChipI","chipNumber","DogApi","PaginatedResultsOfDogGridDto","hideClosed","managerId","sportSection","ShpDocumentDto","dogName","sharepointUri","dogTransientId","newDogTypeId","currentDogTypeId","DogDto","dogId2","DogFusionDto","fusion","dogId1","DogFusionComparisonDto","isBroodRequest","DrupalDogDto","healthValueId","numericValue","alphaValue","characteristicFile","FullDogNameKennelDto","dogTypeId","dog_DogId","dog_IsSportSection","dog_FirstName","dog_BirthDate","dog_DeathDate","dog_PersonId","dog_BreedId","dog_DogTypeId","dog_ColorId","dog_Sex","dog_SharepointUri","dog_DogName","dog_Tatoo","dog_BreedName","dog_ChipNumber","dog_CountryPrefixId","dog_Pedigree","dog_KennelName","dog_KennelType","dog_HasAdnProfile","dog_WithoutOwnership","miscFiles","breedingAdmission","healthProfile","DogWithParentsDto","dogType","relativeDogId","DogDnaApi","PaginatedResultsOfDogDnaMarkersGridDto","dnaMarkerResultId","DnaMarkerResultDto","MarkerListDto","dnaMarkerResult","dnaMarkerResults","DogDnaResultDto","DogDysplasiaApi","PaginatedResultsOfDogDysplasiaGridDto","DogDysplasiaDto","dogDysplasiaId","DogHealthTestApi","PaginatedResultsOfDogHealthTestGridDto","dogsCharacteristicsValueId","dogCharacteristicValueId","DogHealthTestValidationApi","PaginatedResultsOfDogHealthTestValidationGridDto","validated","dogHealthTestValidationIds","DogHistoryApi","PaginatedResultsOfDogHistoryActionGridDto","DogLinkedRequestApi","PaginatedResultsOfRequestGridDto","DogOwnerApi","PaginatedResultsOfDogOwnerGridDto","ownershipId","DogOwnershipChangeRequestApi","PaginatedResultsOfDogOwnershipChangeGridDto","rshRequestId","dogOwnershipChangeRequestId","ownerIds","dogOwnershipRequestId","contactId","DogOwnershipChangeRequestDto","DogPedigreeApi","PaginatedResultsOfDogPedigreeGridDto","pedigreeId","SaveNewPedigreeDto","pedigree","pedigreePrefixId","no","DogPersonRelatedApi","dogOwnershipId","SaveNewOwnerDto","PaginatedResultsOfDogPersonRelatedGridDto","DogResultsApi","PaginatedResultsOfDogCompetitionResultGridDto","SaveNewResultDto","resultId","DogsBreederApi","PaginatedResultsOfDogsBreederGridDto","dogsBreederId","DogsTransientCharacteristicsApi","PaginatedResultsOfTransientCharacteristicGridDto","idsToValidate","idsToAssign","DogTitlesApi","PaginatedResultsOfDogTitlesGridDto","titleId","As400TitleDto","as400Ttile","DogTransientOwnersApi","PaginatedResultsOfTransientOwnerGridDto","DogWorkbookApi","PaginatedResultsOfWorkbookGridDto","workbookId","SaveNewWorkbookDto","workbookTypeId","isWorkbookRequest","NewWorkbookInformationDto","DysplasiaApi","PaginatedResultsOfDysplasiaGridDto","dysplasiaRequestId","DysplasiaDto","DysplasiaTypeDto","ComissionPageInfoDto","PaginatedResultsOfUserDysplasiaResultGridDto","DysplasiaRequestApi","PaginatedResultsOfDysplasiaRequestGridDto","DysplasiaRequestDto","masterRequestId","EmailApi","PaginatedResultsOfEmailGridDto","mailTemplateId","EmailDto","FileDownload","ExpatriationRequestApi","PaginatedResultsOfExpatriationRequestGridDto","expatriationRequestId","ExpatriationRequestDto","expatRequestId","HealthPackApi","PaginatedResultsOfHealthPackGridDto","healthPackId","HealthPackDto","HealthTestRequestApi","PaginatedResultsOfHealthTestRequestGridDto","healthTestRequestId","HealthTestRequestDto","BlockedHealthTestDto","HealthTestRequestHealthPacksApi","PaginatedResultsOfHealthTestRequestPackGridDto","ImportRequestApi","PaginatedResultsOfImportRequestGridDto","importRequestId","ImportRequestDto","ImportRequestTransientOwnersApi","PaginatedResultsOfImportRequestTransientOwnersGridDto","JudgeApi","JudgeInformationDto","judgeInformationDto","JudgeTransientBreedApi","PaginatedResultsOfJudgeTransientBreedGridDto","breedJudgeTransientIds","KennelApi","PaginatedResultsOfKennelGridDto","KennelDto","kennelOwnershipId","SaveKennelOwnerDto","KennelSaveBreedsDto","KennelDogApi","PaginatedResultsOfKennelDogDto","KennelOwnerApi","PaginatedResultsOfKennelOwnerDto","LanguageApi","hasTranslation","LanguageDto","PaginatedResultsOfLanguageGridDto","LinkedRequestsApi","MailAdminApi","PaginatedResultsOfMailLogGridDto","MembershipHIstoryApi","PaginatedResultsOfPersonMembershipHistoryGridDto","membershipHistoryId","dateTo","dateFrom","MembershipRenewalApi","PaginatedResultsOfMembershipRenewalGridDto","memberId","MembershipRequestApi","PaginatedResultsOfMembershipRequestGridDto","membershipRequestId","MembershipRequestDto","membershipRequestDecisionId","membershipmembershipRequestTypeCode","MiscellaneousRequestApi","PaginatedResultsOfMiscellaneousRequestGridDto","miscellaneousRequestId","MiscellaneousRequestDto","PasswordApi","PedigreeDuplicataRequestApi","PaginatedResultsOfPedigreeDuplicataRequestGridDto","pedigreeDuplicataRequestId","PedigreeDuplicataRequestDto","DrupalPedigreeDuplicataRequestDto","pedigreeDuplicataId","PedigreePrefixApi","PaginatedResultsOfCountryPedigreePrefixGridDto","PedigreeRequestApi","PaginatedResultsOfPedigreeRequestGridDto","pedigreeRequestId","PedigreeRequestDto","pedigreeRequestController","PermissionApi","PaginatedResultsOfUserProfileActionGridDto","PersonActionApi","PaginatedResultsOfPersonActionGridDto","PersonApi","PaginatedResultsOfPersonWithValidationsGridDto","PaginatedResultsOfDogPersonGridDto","PersonDto","CommissionerDto","vetId","email","currentLanguageId","originalPersonId","SplitPersonDto","personId1","personId2","PersonFusionDto","PersonFusionComparisonDto","MembershipDto","VeterinaryDto","veterinaryId","BreedGroupsJudgeSaveDto","PersonFilesApi","PaginatedResultsOfPersonFileGridDto","PersonsDogsApi","PaginatedResultsOfPersonDogsGridDto","PersonsKennelsApi","PaginatedResultsOfPersonKennelsGridDto","ReferentialApi","ReferentialItemDto","canBeUsedForDysplasia","recognized","webUserId","sex","forBroodRequest","forHealthTest","withCode","postalCode","query","PaginatedResultsOfPeopleReferentialItem","isDysplasiaRequest","appealDysplasiaId","isDysplasia","PaginatedResultsOfDogReferentialItem","canBeUsed","requestTypeCode","ReprintPedigreeApi","PaginatedResultsOfReprintPedigreePuppiesGridDto","RequestActionHistoryApi","PaginatedResultsOfRequestHistoryActionGridDto","RequestApi","month","ResultOfString","ShpDocumentContentDto","sobj","PaginatedResultsOfDrupalRequestGridDto","comment","method","InvoiceDto","PaymentInfoDto","requestStatusId","DrupalRequestTypeDto","invoiceItemIds","command","RequestMenuDto","requestInformation","SubRequestInfoDto","RequestInfoDto","VerificationsValueDto","values","NeededConditionDto","neededConditionId","SectionLinkedActivitiesApi","PaginatedResultsOfSectionLinkedActivitiesDto","SectionsApi","PaginatedResultsOfSectionsGridDto","SectionDto","sectionCode","SubActivityApi","PaginatedResultsOfSubActivityGridDto","SubActivityDetailDto","SubActivityJudgeApi","PaginatedResultsOfSubActivityJudgeGridDto","SystemApi","SystemVersionDto","ErrorDetails","IngenicoSettings","TempRSHRequestApi","PaginatedResultsOfTempRSHRequestGridDto","tempRSHRequestId","TempRSHRequestDto","TitlesApi","PaginatedResultsOfTitlesGridDto","TitleDto","TitlesRequestApi","PaginatedResultsOfTitlesRequestGridDto","titleRequestId","TitleRequestDto","DrupalTitleRequestDto","TitleTypeApi","PaginatedResultsOfTitleTypeGridDto","titleTypeId","TitleTypeDto","TransientDogTitlesApi","PaginatedResultsOfTransientDogTitleGridDto","dogTitlesTransientId","titleFile","TransientWorkbookApi","PaginatedResultsOfTransientWorkbookGridDto","TranslationsApi","TranslationDto","text","translationCode","updateTranslationCommand","PaginatedResultsOfTranslationDto","UnassignedRequestApi","isAccounting","requestIdsToAssign","UsersApi","PaginatedResultsOfUserGridDto","userId","UserDto","auth","UserProfileActionDto","password","VeterinaryClinicApi","PaginatedResultsOfVeterinaryClinicDto","PaginatedResultsOfVeterinaryGridDto","PaginatedResultsOfClinicDto","WebUserApi","WebUserDto","DrupalWebUserDto","newEmail","oldPassword","newPassword","WorkAttestationRequestApi","PaginatedResultsOfWorkAttestRequestGridDto","workAttestationRequestId","WorkAttestationRequestDto","WorkbookApi","WorkbookIconDto","WorkbookRequestApi","PaginatedResultsOfWorkbookRequestGridDto","workbookRequestId","WorkbookRequestDto","DrupalWorkbookRequestDto","WorkbookTypeApi","PaginatedResultsOfWorkbookTypeGridDto","WorkbookTypeDto","hasPedigree","data","property","_data","ActivityGridDto","IAggregateResult","result","FilterSearch","PaginatedSearch","AggregateKeyInfo","ActivitySearch","TextSearch","FilterCriteriaBaseOfETextSearchTypeAndString","CombinableCriteriaOfETextSearchTypeAndString","ActivityTranslationDto","AffixGridDto","DrupalAffixSearch","DateSearch","FilterCriteriaBaseOfEDateSearchTypeAndNullableDateTime","CombinableCriteriaOfEDateSearchTypeAndNullableDateTime","AffixRequestGridDto","ERequestState","ERequestType","AffixRequestSearch","ListSearchOfNullableInteger","BooleanSearch","FilterCriteriaBaseOfEListSearchTypeAndNullableInteger","CombinableCriteriaOfEListSearchTypeAndNullableInteger","FilterCriteriaBaseOfEBooleanSearchTypesAndNullableBoolean","CombinableCriteriaOfEBooleanSearchTypesAndNullableBoolean","RequestDto","EPlatform","EKennelType","AffixExportGridDto","FilterCriteriaBaseOfENumericSearchTypeAndNullableLong","CombinableCriteriaOfENumericSearchTypeAndNullableLong","NumericSearch","JudgeGridDto","ArticleGridDto","ArticleSearch","ArticleTranslationDto","ClubJudgeSearch","BreedSearch","BreedTranslationDto","BreederDogsGridDto","BreederDogsSearch","BreedVarietiesAndExceptionsGridDto","VarietyBreedNameDto","BreedVarietyAndExceptionSearch","SaveBreedVarietyAndExceptionDto","BreedForJudgeSearch","BreedGroupBreedDto","BreedGroupBreedSearch","BreedGroupBreedHierarchyDto","BreedGroupTranslationDto","BreedHierarchyDto","BreedGroupHierarchyJudgeDto","BreedJudgeHierarchyDto","EJudgeType","BreedGroupBreedHierarchySearch","BreedGroupGridDto","BreedGroupSearch","BreedGroupJudgeSearch","BreedJudgeGridDto","SelectorSearchOfInteger","BreedJudgeSearch","ColorTranslationDto","BroodRequestGridDto","Request","Person","User","RequestStatus","RequestType","DashboardTask","Invoice","BroodRequest","CompetitionRequest","DogOwnershipChangeRequest","ConditionsForcedValue","VerificationsValue","DogTempOwnershipChangeRequest","DysplasiaRequest","ExpatriationRequest","HealthTestRequest","ImportRequest","KennelImportRequest","KennelExportRequest","KennelNameChangeRequest","KennelOwnershipChangeRequest","NewKennelRequest","PedigreeRequest","PedigreeDuplicataRequest","MembershipRequest","TitleRequest","WorkAttestRequest","WorkbookRequest","RequestAction","MiscellaneousRequest","PersonHonorific","Country","Language","Breeder","WebUser","DogBroodRequestTransientOwner","TransientPedigreeRequestOwner","PersonAction","Veterinary","ChartSignaturesHistory","Judge","Member","DogOwnership","KennelOwnership","ClubContact","DogOwnershipTransient","ImportRequestTransientOwnership","TransientNewKennelOwner","TransientKennelImportOwner","TransientOwnersKennelOwnershipChange","Commissioner","PersonHonorificTranslation","DysplasiaTypeTranslation","CommissionerSpokenLanguage","CountryTranslation","CountryLanguage","DogActionTranslation","PersonActionTranslation","LanguageTranslation","LabStatusTranslation","HealthValueTypeTranslation","DocumentContent","CompetitionJudge","Translation","ClubRoleTranslation","TitleTypeTranslation","UserDysplasiaStatusTranslation","NeededConditionTranslation","NeededVerificationTranslation","JudgeSpokenLanguage","MailContent","DepartmentTranslation","VolunteerProfileTranslation","ElementActionTranslation","RequestActionTranslation","LabStatusDescriptionTranslation","MailTemplateDescriptionsTranslation","DysplasiaType","CompetitionCommissioner","CompetitionCommissionerForbiddenBreed","CompetitionCommissionerCompetitionDay","RingDivisionCompetitionCommissioner","Breed","BreedGroup","CompetitionBreed","ExpoBreedForJudge","BreedHealthPack","BreedJudgeTransient","ClubBreed","BreedColor","BreedWorkbookType","Dog","BreedVariety","BreedingException","BreedJudge","BreedTranslation","KennelBreed","TransientNewKennelBreed","TransientKennelImportBreed","DogBroodRequestsTransient","RingDivision","UserProfile","UserInterest","UserDepartment","UserDysplasiaResult","DogsCharacteristicsValuesTransient","DogTitlesTransient","DogAction","DogTransient","DogHealthTestValidation","UserProfileTranslation","UserProfileAction","EUserProfile","Action","EPermission","Department","DepartmentRequestType","EDepartment","NeededCondition","NeededVerification","RequestTypeTranslation","RequestStatusTranslation","DashboardTaskType","DashboardTaskTranslation","ETaskType","UserDysplasiaStatus","DogDysplasiaTransient","HealthValue","Characteristic","Clinic","DogDysplasia","ECommissionType","Color","DogType","Kennel","HealthTestSingleCharacteristicTransient","DogChip","DogConditionsForcedValue","BroodRequestsFather","HealthTestRequestCharacteristicTransient","DogHealthTestCharacteristicValueTransient","CompetitionResult","Pedigree","DogTitle","Workbook","DogDnaResult","DogHealthTestDnaResultTransient","DogCharacteristicValue","TransientWorkbook","DogsBreeder","EDogSex","ColorTranslation","CountryPedigreePrefix","LabStatus","ELab","Lab","Title","Club","DnaMarkerResult","DnaMarker","HealthTestDnaMarkerResultTransient","HealthTestRequestHealthPackTransient","ELabStatus","HealthPack","HealthPackGroup","HealthPackCharacteristic","HealthPackTranslation","Article","HealthPackGroupTranslation","CharacteristicType","HealthValueType","CharacteristicValue","CharacteristicTranslation","CharacteristicTypeTranslation","EHealthValueType","ArticleTranslation","WorkbookType","InvoiceItem","SubActivity","WorkbookColor","WorkbookTypeTranslation","WorkbookColorTranslation","ClubSection","JudgesForClub","Section","Activity","ActivityTranslation","SubActivityTranslation","SubActivityJudge","Expo","PostalCode","Competition","CompetitionBreedGroup","CompetitionStatus","CompetitionDay","CompetitionVolunteerProfile","CompetitionStatusTranslation","Qualification","QualificationTranslation","TitleType","TitleTranslation","BreedGroupJudge","Ring","BreedGroupTranslation","VolunteerProfile","ClubRole","HealthValueTranslation","ClinicVeterinary","BroodRequestsFatherHistories","DogNeededCondition","DogNeededConditionsTranslation","DogTypeTranslation","EDogType","ElementAction","DocumentTemplate","TranslationCode","MailTemplate","MembershipHistory","MembershipType","MembershipTypeTranslation","MembershipRequestDecision","MembershipRequestType","MembershipRequestDecisionTranslation","EMembershipRequestDecision","MembershipRequestTypeTranslation","EMembershipRequestType","BroodRequestSearch","DogBroodRequestsTransientDto","DogBroodRequestTransientOwnerGridDto","BroodRequesReportDetailDto","EBroodRequestDogType","DogConditionValueDto","SaveDogBroodRequestTransientDto","PotentialFatherGridDto","PotentialFathersSearch","CalendarYearSearch","CharacteristicsGridDto","CharacteristicSearch","ListSearchOfNullableELab","FilterCriteriaBaseOfEListSearchTypeAndNullableELab","CombinableCriteriaOfEListSearchTypeAndNullableELab","CharacteristicTranslationDto","CharacteristicValuesSearch","CharacteristicValuesTranslationDto","ChartSignaturesHistoryDto","ChartSignaturesHistorySearch","ClinicGridDto","ClinicSearch","ClubAllowedSectionsDto","ClubAllowedSectionsSearch","ClubGridDto","ClubBreedSearch","ClubCompetitionRequestGridDto","ClubCompetitionRequestsSearch","ClubContactGridDto","ClubContactSearch","SaveClubContactDto","ClubSearch","JudgesForClubGridDto","JudgesForClubSearch","SaveClubJudgeDto","ClubRoleGridDto","ClubRoleSearch","ClubRoleTranslationDto","ClubWorkbookRequestGridDto","ClubWorkbookRequestSearch","ColorGridDto","ColorSearch","CompetitionGridDto","CompetitionSearch","DrupalJudgeDto","JudgeCompetitionRequestGridDto","JudgeCompetitionRequestSearch","JudgeValidationDto","CompetitionRequestGridDto","CompetitionRequestSearch","CompetitionDaysCompetitionDto","CompetitionDaysDto","ExpoDto","CompetitionReportInfoDto","CompetitionResultGridDto","CompetitionResultSearch","AutomaticDogDto","ECompetitionResultImportStatus","CountryGridDto","CountrySearch","CountryTranslationDto","DashboardTaskGridDto","DashboardSubTaskGridDto","DashboardSearch","DocumentTemplateGridDto","DocumentContentDto","PersonGridDto","DogBaseSearch","DogBreederGridDto","GetDogBreederParameters","DogBroodRequestGridDto","DogBroodRequestSearch","DogChipGridDto","DogChipSearch","DogGridDto","DogSearch","ListSearchOfNullableEDogSex","FilterCriteriaBaseOfEListSearchTypeAndNullableEDogSex","CombinableCriteriaOfEListSearchTypeAndNullableEDogSex","DogDnaMarkersGridDto","DogDnaSearch","DogDysplasiaGridDto","DogDysplasiaSearch","DogHealthTestGridDto","DogHealthSearch","SaveDogCharacteristicDto","DogHealthTestValidationGridDto","DogHealthTestValidationSearch","DogHistoryActionGridDto","RequestGridDto","DogOwnerGridDto","DogOwnershipChangeGridDto","DogOwnershipChangeSearch","DogPedigreeGridDto","DogPedigreeSearch","DogPersonRelatedGridDto","DogCompetitionResultGridDto","DogCompetitionResultSearch","DogsBreederGridDto","DogsBreederSearch","DogBreederSaveDto","AvailablePeopleSearch","TransientCharacteristicGridDto","TransientCharacteristicsSearch","TransientCharacteristicByDogSearch","DogTitlesGridDto","DogTitleSearch","SaveNewDogTitleDto","TransientOwnerGridDto","TransientOwnerSearch","WorkbookGridDto","DogWorkbookSearch","DysplasiaGridDto","DysplasiaSearch","TransientDysplasiaTypeDto","TransientDysplasiaDto","UserDysplasiaResultGridDto","UserDysplasiaResultSearch","DysplasiaRequestGridDto","DysplasiaRequestSearch","EmailGridDto","EmailSearch","ListSearchOfNullableEEmailCode","FilterCriteriaBaseOfEListSearchTypeAndNullableEEmailCode","CombinableCriteriaOfEListSearchTypeAndNullableEEmailCode","MailContentDto","ExpatriationRequestGridDto","ExpatriationRequestSearchDto","HealthPackGridDto","HealthPackSearch","HealthPackTranslationDto","HealthTestRequestGridDto","HealthTestRequestSearch","ListSearchOfELab","FilterCriteriaBaseOfEListSearchTypeAndELab","CombinableCriteriaOfEListSearchTypeAndELab","BaseHealthTestRequestSearch","HealthTestRequestPackGridDto","HealthTestRequestCharacteristicGridDto","HealthRequestPacksSearch","ImportRequestGridDto","ImportRequestSearch","ImportRequestTransientOwnersGridDto","ImportRequestTransientOwnersSearch","JudgeSearch","JudgeTransientBreedGridDto","KennelGridDto","KennelSearch","KennelDogDto","KennelDogSearch","KennelOwnerDto","KennelOwnerSearch","LanguageTranslationDto","LanguageGridDto","LanguageSearchDto","LinkedRequestsSearch","MailLogGridDto","PersonMembershipHistoryGridDto","BasePersonSearch","SaveMembershipHistoryDto","MembershipRenewalGridDto","MembershipRequestGridDto","MembershipRequestSearch","MiscellaneousRequestGridDto","MiscellaneousRequestSearch","PedigreeDuplicataRequestGridDto","PedigreeDuplicataRequestSearch","CountryPedigreePrefixGridDto","PedigreePrefixSearch","SavePedigreePrefixDto","PedigreeRequestGridDto","PedigreeRequestSearch","UserProfileActionGridDto","PersonActionGridDto","PersonSearch","PersonWithValidationsGridDto","DogPersonGridDto","PersonDogsSearch","PersonFileGridDto","PersonFileSearch","PersonDogsGridDto","PersonKennelsGridDto","PersonKennelsSearch","PeopleReferentialItem","SearchPeopleReferentialQuery","GetCountriesReferentialQuery","DogReferentialItem","SearchDogReferentialQuery","ReprintPedigreePuppiesGridDto","RequestHistoryActionGridDto","BaseRequestSearch","RequestSearch","DrupalRequestGridDto","DrupalRequestSearch","InvoiceItemDto","QuickUpdateRequestStatusIdCommand","SectionLinkedActivitiesDto","SectionLinkedActivitiesSearch","SectionsGridDto","SectionSearch","SubActivityGridDto","SubActivitySearch","SubActivityTranslationDto","SubActivityJudgeGridDto","SubActivityJudgeSearch","SaveSubActivityJudgeDto","ESRSHExceptions","TempRSHRequestGridDto","TempRSHRequestSearch","TitlesGridDto","TitleSearch","TitleTranslationDto","TitlesRequestGridDto","TitlesRequestSearch","TitleTypeGridDto","TitleTypeSearch","TitleTypeTranslationDto","TransientDogTitleGridDto","DogsTransientTitlesSearch","TransientWorkbookGridDto","UpdateTranslationCommand","TranslationSearch","UserGridDto","UserSearch","AuthenticateCommand","VeterinaryClinicDto","VeterinaryClinicSearch","SaveVeterinaryClinicDto","VeterinaryGridDto","AvailableVeterinaryForClinicSearch","WorkAttestRequestGridDto","WorkAttestRequestSearch","WorkbookRequestGridDto","WorkbookRequestSearch","WorkbookTypeSearch","ListSearchOfInteger","FilterCriteriaBaseOfEListSearchTypeAndInteger","CombinableCriteriaOfEListSearchTypeAndInteger","WorkbookTypeTranslationDto","SwaggerException","message","headers","obj","nsiLogo","nsiLogoWhite","srshLogo","dogBg","dogBg2","dogIcon","sharepointLogo","boneIcon","dogDefault","downloadPdf","dyslasie","puppies","cross","fci","not_fci","assets","EDrupalRoutes","ERoutes","ELanguages","ELanguages2","ETLCodes","ETLCodes2","initialized","getBaseUrl","input","hostUrl","resources","fr","s","extractLocale","drupalLanguage","i18n","XHR","initReactI18next","prev","curr","namespace","key","fallbackValue","i18next","tls","useTl","t","useTranslation","tCode","useCallback","tUnsafeCode","getbasicconfig","token","logout","requestInit","useApiService","user","useAuth","globalData","useGlobalData","React.useMemo","cfg","useCrudApi","dependencies","getApiFn","saveApiFn","deleteApiFn","onSavedRoute","onDeletedRoute","successMessage","deletedMessage","tUnsafe","showDialog","useDialog","history","useHistory","loading","refresh","setData","useApiEffect","saving","setSaving","React.useState","finalSuccessMessage","saveError","setCurrentError","manageError","React.useCallback","error","details","showSuccess","showError","React.useEffect","saveItem","savedIdOrDto","savedData","finalDeleteMessage","deleting","setDeleting","deleteItem","formik","useLocalStorage","initialValue","storedValue","setStoredValue","React","valueToStore","useWindow","route","useDeleteApi","onDeletedFn","useSaveApi","onSaveFn","useSearchApiWithLanguageRefresh","currentLanguage","searchApiresults","useSearchApi","search","useRouter","params","useParams","location","useLocation","match","useRouteMatch","useMemo","queryString","usePersonValidators","personApi","dogApi","isPersonAlive","isNotOwnerOfExcludedKennel","isDogOwner","missingPhoneNumber","missingAddress","kennelUnique","useDogValidators","dogAlive","dogNotExcluded","convertToOptionProp","asInt","p","useReferentials","api","loadingBelgianLocality","refreshBelgianLocality","belgianLocalities","useRequest","useApplication","tlHook","routerHook","usePersonValidatorsHook","useDogValidatorsHook","useReferentialsHook","useAutoCheckVersionRefresh","systemApi","pathname","clearCriterias","useSearchCriteriaContext","mustRefreshFrontend","setMustRefreshFrontend","systemInfo","previousPathName","usePrevious","previousVersion","PlatformContext","React.createContext","PlatformProvider","children","jsx","usePlatformContext","React.useContext","AuthContext","getLocaleStorageKey","env","AuthProvider","LOCALSTORAGE_AUTH_KEY","userApi","isLoading","setIsLoading","logoutReason","setLogoutReason","storedUser","setStoredUser","setUser","loginError","userPermissions","setUserPermissions","login","userFromBackend","reason","setwasForbidden","config","wasForbidden","expirationDate","decoded","jwtDecode","refreshDateThreshold","now","diff","interval","matchModule","module","matchTab","tab","canBlockRequest","getCurrentPermission","permission","hasAction","c","BreadcrumbContext","BreadcrumbProvider","baseBreadcrumb","setBaseBreadcrumb","detailsBreadcrumb","setDetailsBreadcrumb","breadcrumbs","useBreadcrumbs","DialogContext","DialogProvider","dialogData","setDialogData","hideDialog","onDialogClosed","onConfirmed","showDialogPromise","res","promise","resolve","other","EventsContext","EventsProvider","events","setEvents","dispatchEvent","event","cb","subscribeToEvent","callback","produce","draft","unsubscribeEvent","useEventsContext","GlobalDataContext","GlobalDataProvider","languageApi","setCurrentLanguage","useLocalStorageState","setLanguage","lang","globalDataLoading","trigger","languages","ingenicoSettings","findLanguage","langFound","d","setLanguageCode","lg","appVersion","_b","_c","backendNotReachable","SearchCriteriaContext","LOCAL_STORAGE_KEY","SearchCriteriaProvider","routeCriteria","setRouteCriteria","setCriterias","origString","objString","NavigationContext","NavigationProvider","previousPage","setPreviousPage","navigateWithBackReference","goBack","defaultRoute","clearBackRoute","useNavigationContext","ActionHistoryContext","LOCALSTORAGE_ACTION_HISTORY","MAX_ITEMS_IN_HISTORY","ActionHistoryProvider","actionHistory","setActionHistory","addToActionHistory","actionDetail","toDelete","newArray","nextHistory","pos","useDetailHistoryContext","useReferential","func","nullable","newData","getRouteStr","subRequestId","mode","getDrupalRouteStr","AppBreadcrumb","props","Breadcrumbs","CancelButton","minimal","onClick","disabled","intent","Intent","Button","IconNames","DeleteButton","onDelete","secured","otherProps","hasRights","SaveButton","EditButton","ToolTipButton","ViewButton","EmailButton","onClickMail","el","Fragment","AddButton","BackButton","backRoute","SearchButton","SharepointButton","existsInShp","tooltipText","ExportButton","exportFunction","setloading","ExportAndDownlad","saveAs","FusionButton","SplitButton","CloseButton","SharepointFileButton","tooltip","PrintButton","UploadSharepointButton","NavBarStyled","styled","Navbar","Classes.NAVBAR_GROUP","Colors","LogoContainer","HeaderText","SrshImage","RightContainer","Header","languagesLoading","requestApi","requestSearch","setrequestSearch","searchLoading","setsearchLoading","changeLanguage","language","searchRequest","subRequestInfo","Classes.DARK","jsxs","Alignment","InputGroup","e","Popover","Menu","i","MenuItem","HTMLSelect","CollapseAllContext","Container","Classes.MENU","ButtonStyled","level","maxAutoCollapseLevel","onNavigation","isActive","isExpanded","setIsExpanded","uuidv4","openedMenuId","setMenuOpenedId","hasItemWithCurrentRoute","itm","hasChildren","collapseIcon","Classes.ICON","classnames","Collapse","index","escapeRegExpChars","highlightText","lastIndex","words","word","regexp","tokens","length","before","rest","NavItemSuggest","Suggest","MyNavItemSuggest","QuickAccess","navigationMenu","list","extractItemsFromNavMenu","navMenu","parentLabel","mItem","menuName","items","orderBy","renderInputValue","areItemsEquals","a","b","onChange","itemRenderer","handleClick","modifiers","filterList","_index","exactMatch","normalizedTitle","normalizedQuery","MenuStyled","TitleContainer","NavigationMenu","isFixed","changeFixed","closeOtherOnSelection","checkOpened","navItem","opened","nextNavItems","navigationMenuFinal","Classes.DRAWER_HEADER","n","FixedStickyContainer","PageBase","breadCrumbs","withCard","newActionHistory","stickyContent","scrollPosition","useScroll","nextBr","br","fixedStickyContainerRef","React.useRef","fixedStickyContainerDimensions","useComponentSize","Wrapper","Card","stickyTopPosition","setStickyTopPosition","stickyLeftPosition","setStickyLeftPosition","onRootResize","entries","lastEntry","top","left","finalTop","finalLeft","ResizeSensor","StickyContainer","Sticky","style","isSticky","ErrorBoundary","Loading","InlineButtonContainer","ButtonsBloc","FGRouteDirtyChecker","useFGContext","Prompt","StyledForm","Classes.FORM_GROUP","Classes.CONTROL","Classes.LABEL","Classes.FORM_CONTENT","SmallFormGenerator","editable","showDeleteButton","onCancel","editMode","minLabelWidth","labelAlignment","fill","showColons","inline","boldLabel","hideButtons","enableDirtyCheck","cancelEdit","canCheckRights","dirtyCheckSaveButton","drupal","preventDefaultsaveOnEnter","validateOnChange","showSaveEmptyButtonLabel","changeEditMode","newEditMode","readOnly","canDelete","FormGenerator","FGCustomPanel","ctx","DialogRoot","isShown","title","finalButtons","Dialog","Classes.DIALOG_BODY","Classes.DIALOG_FOOTER","Classes.DIALOG_FOOTER_ACTIONS","bt","resultType","btProps","SearchTablePage","searchFunction","getCriteriasFunction","initialSearch","columns","saveCriterias","criteriasTlPrefix","overrideListValues","sortKeys","defaultCriterias","overrideTableStateSearch","rightElement","buttons","addFunc","customizeRowStyle","filterPlaceholder","enableFilter","showAllCriteriaRemovalButton","allCriteriaRemovalMode","triggerSearchOnAllCriteriaRemoved","imageSource","filterMode","criteriaSavePrefix","tableState","useGridState","totalCount","criteriasLoading","setCriteriasLoading","currentsObj","setcurrentsObj","currentSObj","OnRefreshSearchTablesEvent","getCriterias","crit","FieldSet","SearchPanel","val","ButtonGroup","CustomDataTable","FGSRSHMultiCheckboxInput","colorTick","colorCross","mcProps","FGMultiCheckboxInput","FGSRSHCheckboxInput","cProps","FGCheckboxInput","FGMultiTranslate","listName","variableName","label","languageIdFieldName","translationDto","maxlength","readonly","finalData","missingLanguages","cn","getIn","ml","Spinner","nameIndex","FGTextInput","DataTableContainer","ClearIcon","Icon","ViewIcon","ButtonTextContainer","StyledSpinner","SelectContainer","Classes.BUTTON","Classes.ROUND","FGAdvancedSearchInput","displayField","valueField","backgroundColor","searchFn","getDisplayedDataFn","leftIcon","placeholder","round","parseValueFieldAsNumber","showTableHeader","onItemViewClick","viewitemToolTip","isClearable","setUndefinedOnClear","formGroupProps","globalDisabled","large","finalDisabled","loadingSingleValue","setLoadingSingleValue","currentDisplayedItem","setCurrentDisplayedItem","loadingSingleValueError","setLoadingSingleValueError","idValue","finalDisplayedValue","gridstate","finalColumns","dialogOpened","setDialogOpened","selectItem","idValueFromFormik","clearValue","viewItemClick","hasValidData","FGFormGroup","name","Classes.FILL","Classes.DISABLED","Classes.OUTLINED","Classes.BUTTON_TEXT","Divider","DataTable","css","exportFile","b64toBlob","sliceSize","b64Data","byteCharacters","byteArrays","offset","slice","byteNumbers","byteArray","generateAddress","number","street","city","country","vatNumberValidate","numberToValidate","validator","getBrowserTimeZone","formatDate","tmp","utcToZonedTime","format","loc","toUpperCamelCase","str","ToolTipContainer","FGPeopleSearchInput","isBelgian","filterBreeder","showWarning","fgProps","refApi","fgContext","finalDogId","remark","setremark","getPersonRemark","Popover2","row","FGListen","FGDogSearchInput","defaultSearch","displayedData","setDisplayedData","Tooltip","FGPhoneInput","requiredMark","FGMaskInput","FGClubSelect","clubs","cloading","FGSelectInput","FGWorkbookTypeSelect","workbookTypes","wtloading","FGCountrySelect","belgium","countries","SRSHCustomGridSelector","idField","selectionChanged","selectedIds","currentCountChanged","errorFields","isErrorSelected","gridResults","results","r","field","selectRow","customizeRowStyleCallback","isSelected","SelectorContainer","SRSHCustomSelector","linkedIds","searchIdsFunc","onLinkedIdsChanged","showAllButtons","availableSearchObject","setAvailableSearchObject","selectedSearchObject","setSelectedSearchObject","availableSearchFunction","selectedSearchFunction","exportSelectedFunction","leftSelected","setLeftSelected","rightSelected","setRightSelected","addAllLoading","setAddAllLoading","addAll","ids","addSelected","removeAllLoading","setRemoveAllLoading","removeAll","removeSelected","leftCount","setLeftCount","rightCount","setRightCount","BodyContainer","ColumnsContainer","ButtonsColumn","FullPageLoader","SpinnerSize","TransfertListDataTable","onSelectionChanges","gridData","selectedItems","setSelectedItems","onRowClick","previous","CContainer","BContainer","ButtonsColumns","TransfertListContainer","TransfertList","allItems","onChoosenItemsChange","choosenItems","keyFieldName","sortKey","leftSelectedItems","setLeftSelectedItems","rightSelectedItems","setRightSelectedItems","availableData","ci","ri","Classes.HTML_TABLE","searched","DataTable2","NonIdealState","AddPersonPanel","personEmail","formikRef","countryApi","setPostalCode","isBelgium","setIsBelgium","setEmail","baseCountryId","baseCountryLoading","lloading","postalCodes","pcloading","localities","locloading","personSalutations","ploading","save","initialData","FormSchema","Yup.object","Yup.string","Yup.number","selectedcountryIsoCode","setSelectedcountryIsoCode","currentcountryIsoCode","setcurrentcountryIsoCode","_d","f","FGCustomInput","PhoneInput","PuppyPersonInformation","puppyIndex","peopleLoading","addOwner","owners","debouncedEmailState","setdebouncedEmailState","debouncedEmail","useDebounce","previousLoading","setPreviousLoading","emailFieldName","getPersonInformation","closeDialog","updateNewPersonInformation","newPersonEmail","person","Classes.DIALOG","PuppyOwners","puppy","onOwnersChanged","isError","tooSmall","ownerEmailLoading","setOwnerEmailLoading","setOwners","newOwners","FieldGroup","oeLoading","owner","StyledUppperCamelCaseContainer","PuppyCard","breeds","pedigrees","babyDog","yearLetter","resurrectPuppyLoading","setresurrectPuppyLoading","ressurectPuppy","dogExists","canCreatePedigree","createPedigreeLoading","setCreatePedigreeLoading","openNewTab","setBreedId","colors","cLoading","sexes","sloading","filterValue","createPedigree","puppyDeceasedFunc","PuppyName","Link","updateListFormik","newList","moment","_e","_f","_h","_g","_i","_j","ArePuppiesDirty","atom","PuppiesTab","refreshPuppies","isRefreshed","isExecuted","setArePuppiesDiry","useSetRecoilState","canRegenLoshPedigree","regenLoshPedigreesLoading","setregenLoshPedigreesLoading","regenLoshPedigrees","BreedLoading","completePuppy","parent","fieldName","Yup.array","loadingReprintPedigrees","setloadingReprintPedigrees","reprintPedigrees","loadingResendSample","setloadingResendSample","resendPedigreeSample","ButtonContainer","getSearchRouteStr","RequestCancelCommentDialog","onClose","loadingComment","useQuery","validationSchema","setsaving","FGTextAreaInput","StyledButton","StyledRequestTitleContainer","FloatButtonContainer","StateContainer","RequestStickyMenu","requestInfo","refreshFunc","closeFunc","puppiesDirtyRecoilValue","useRecoilValue","setArePuppiesDirty","state","importRequestApi","askInfosLoading","setAskInfosLoading","isSubFile","loadingData","statuses","statusloading","_","refetch","onRequestRefreshEvent","currentRequestStatus","editableStatus","setEditableStatus","blocked","setBlocked","currentError","updateBlockedStatus","isSyncWithParent","searchRoute","safeIsLoading","cancelDialogOpen","setcancelDialogOpen","mainSaveFn","formikData","allVerificationsCorrect","futureStatus","confirmationMessage","confirmationTitle","newStatus","err","askInfos","showInfo","isStatusRequested","isStatusDogValidation","RequestTitle","printLoading","setprintLoading","PrintCallback","uncancelRequestLoading","setuncancelRequestLoading","UncancelRequest","FloatButton","puppySpecificDirtyCheck","useFGFormik","confirmCancel","hasCanceled","StyledImage","InformationTooltip","tooltipMessage","customMessage","WorkbookTypeIcon","VerificationTab","statusETLCode","currentRequestStatusIdLoading","VerificationStatuses","verificationLabel","LinkedSubFilesTab","referentialApi","redirectToRequest","listSubFilesRequestTypes","setListSubFilesRequestTypes","refSubFilesRequestTypes","refResult","subFilesRequestTypes","subFilesRequestTypesLoading","subFileRequestType","rt","StyledFGSRSHCheckboxInput","ConditionTab","ConditionStatuses","forceCondition","RequestStatusLabel","ProtectedTabs","filteredTabs","tabString","Tabs","RequestHistoryTab","sObjState","setsobjState","iscentered","fullheight","PageContainer","isCentered","isFullHeight","BoneIcon","StyledImageInfo","StyledImageWarning","StyledImageError","InformationCard","FGSRSHDateMaskInput","dateProps","maxDate","FGDateInput","FGNumberMaskInput","FGEuroMaskInput","textLayout","renderElement","elementProps","nodeProps","attributes","React.createElement","evt","labelKey","uuid.v4","FusionRadio","elementName","elementNameBis","fusedElementName","elementValue","elementValueBis","isDate","selectLeft","fusionRadioValue","setFusionRadioValue","oldFusionValue","setOldFusionValue","useWhatChanged","Radio","FusionCombo","referentialFunc","referentialValues","referentialValuesLoading","FusionCheckbox","FusionDisplayRadio","fusionName","fusionId1","fusionId2"],"mappings":"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"}