{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/Enums/LocalStorageEnums.enum.ts","./src/app/Functions/Utilities.ts","./src/app/Services/ErrorInterceptor.service.ts","./src/app/Services/IHttpInterceptorService.service.ts","./src/app/Services/OfferAndPackages.service.ts","./src/app/Services/SMSService.ts","./src/app/Services/Visit.service.ts","./src/app/Services/Wa.service.ts","./src/app/Services/accountService.service.ts","./src/app/Services/appointment.service.ts","./src/app/Services/clinic.service.ts","./src/app/Services/loader.service.ts","./src/app/Services/paymobService.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/class/HttpError.ts","./src/app/components/common/footer/footer.component.html","./src/app/components/common/footer/footer.component.ts","./src/app/components/common/navbar/navbar.component.html","./src/app/components/common/navbar/navbar.component.ts","./src/app/components/common/preloader/preloader.component.html","./src/app/components/common/preloader/preloader.component.ts","./src/app/components/pages/_Appointments/appointments/appointments.component.html","./src/app/components/pages/_Appointments/appointments/appointments.component.ts","./src/app/components/pages/_Appointments/visit-details/visit-details.component.html","./src/app/components/pages/_Appointments/visit-details/visit-details.component.ts","./src/app/components/pages/branches/branches.component.html","./src/app/components/pages/branches/branches.component.ts","./src/app/components/pages/clinics/clinics.component.html","./src/app/components/pages/clinics/clinics.component.ts","./src/app/components/pages/coming-soon/coming-soon.component.html","./src/app/components/pages/coming-soon/coming-soon.component.ts","./src/app/components/pages/contact/contact.component.html","./src/app/components/pages/contact/contact.component.ts","./src/app/components/pages/error/error.component.html","./src/app/components/pages/error/error.component.ts","./src/app/components/pages/home-one/home-one.component.html","./src/app/components/pages/home-one/home-one.component.ts","./src/app/components/pages/packages/packages.component.html","./src/app/components/pages/packages/packages.component.ts","./src/app/components/pages/privacy-policy/privacy-policy.component.html","./src/app/components/pages/privacy-policy/privacy-policy.component.ts","./src/app/components/pages/profile/profile.component.html","./src/app/components/pages/profile/profile.component.ts","./src/app/components/pages/services/services.component.html","./src/app/components/pages/services/services.component.ts","./src/app/components/pages/session-timeout/session-timeout/session-timeout.component.html","./src/app/components/pages/session-timeout/session-timeout/session-timeout.component.ts","./src/app/components/pages/sign-in/sign-in.component.html","./src/app/components/pages/sign-in/sign-in.component.ts","./src/app/components/pages/sign-up/sign-up.component.html","./src/app/components/pages/sign-up/sign-up.component.ts","./src/app/components/pages/vacations/vacations.component.html","./src/app/components/pages/vacations/vacations.component.ts","./src/app/components/pages/vaccinations/vaccinations.component.html","./src/app/components/pages/vaccinations/vaccinations.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","export enum LocalStorageEnums {\r\n User_Name = 'User_Name',\r\n Email = 'Email',\r\n ID_Number = 'ID_Number',\r\n Patient_Code = 'Patient_Code',\r\n sessionDuration = 'sessionDuration',\r\n SessionExpireDate = 'SessionExpireDate',\r\n Patient_Mobile = 'Patient_Mobile',\r\n Patient_Age_Year = 'Patient_Age_Year',\r\n Patient_Name_Ar = 'Patient_Name_Ar',\r\n Country = 'Country',\r\n Imagepath = 'Imagepath',\r\n NitcotekTalebcomLanguage = 'NitcotekTalebcomLanguage',\r\n BranchId = 'BranchId',\r\n}","import { LocalStorageEnums } from '../Enums/LocalStorageEnums.enum';\r\nexport function getPatient():any {\r\n let patient!: object;\r\n patient = {\r\n Patient_Code: localStorage.getItem(LocalStorageEnums.Patient_Code),\r\n Email: localStorage.getItem(LocalStorageEnums.Email),\r\n ID_Number: localStorage.getItem(LocalStorageEnums.ID_Number),\r\n User_Name: localStorage.getItem(LocalStorageEnums.User_Name),\r\n Patient_Mobile: localStorage.getItem(LocalStorageEnums.Patient_Mobile),\r\n Patient_Age_Year: localStorage.getItem(\r\n LocalStorageEnums.Patient_Age_Year\r\n ),\r\n Patient_Name_Ar: localStorage.getItem(\r\n LocalStorageEnums.Patient_Name_Ar\r\n ),\r\n IMG: localStorage.getItem(\r\n LocalStorageEnums.Imagepath)\r\n };\r\n return patient;\r\n}\r\n\r\nexport function sessionIsExpired() {\r\n let SessionExpireDate = new Date(\r\n localStorage.getItem(LocalStorageEnums.SessionExpireDate)!\r\n );\r\n let sessionDuration = Number(\r\n localStorage.getItem(LocalStorageEnums.sessionDuration) ?? 0\r\n );\r\n let ExpireDate = new Date(\r\n SessionExpireDate.getTime() + sessionDuration * 60000\r\n );\r\n return new Date(ExpireDate!).getTime() < Date.now();\r\n}\r\nexport function saveUserInfoToStorage(response: any, Img: string = \"\", storeExpireinfo = true) {\r\n if (storeExpireinfo) {\r\n localStorage.setItem(\r\n LocalStorageEnums.SessionExpireDate,\r\n response?.SessionExpireDate!\r\n );\r\n \r\n localStorage.setItem(\r\n LocalStorageEnums.sessionDuration,\r\n response?.sessionDuration!\r\n );\r\n }\r\n localStorage.setItem(\r\n LocalStorageEnums.Imagepath,\r\n Img!\r\n );\r\n localStorage.setItem(\r\n LocalStorageEnums.Patient_Code,\r\n response?.patient[0].Patient_Code\r\n );\r\n localStorage.setItem(LocalStorageEnums.Email, response?.patient[0].Email);\r\n localStorage.setItem(\r\n LocalStorageEnums.ID_Number,\r\n response?.patient[0].ID_Number\r\n );\r\n localStorage.setItem(\r\n LocalStorageEnums.Country,\r\n response?.patient[0].Country\r\n );\r\n localStorage.setItem(\r\n LocalStorageEnums.Patient_Mobile,\r\n response?.patient[0]?.Patient_Mobile!\r\n );\r\n\r\n localStorage.setItem(\r\n LocalStorageEnums.Patient_Age_Year,\r\n response?.patient[0]?.Patient_Age_Year!\r\n );\r\n localStorage.setItem(\r\n LocalStorageEnums.User_Name,\r\n response?.patient[0].User_Name\r\n );\r\n localStorage.setItem(\r\n LocalStorageEnums.Patient_Name_Ar,\r\n response?.patient[0].Patient_Name_Ar\r\n );\r\n}\r\nexport function saveBranchId(\r\n BranchId\r\n) {\r\n localStorage.setItem(LocalStorageEnums.BranchId, BranchId);\r\n}\r\n\r\n","import {Injectable, Injector} from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http'\nimport {Observable} from 'rxjs';\nimport { HttpError } from '../class/HttpError'\nimport { tap } from 'rxjs/operators';\nimport swal from 'sweetalert';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\n\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n // Regular dep. injection doesn't work in HttpInterceptor due to a framework issue (as of angular@5.2.9),\n // use Injector directly (don't forget to add @Injectable() decorator to class).\n constructor(\n private _injector: Injector,\n private route: Router,\n public translate: TranslateService\n ) {}\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n return next.handle(req).pipe(\n tap(\n (event) => {},\n (exception) => {\n if (exception instanceof HttpErrorResponse) {\n switch (exception.status) {\n case HttpError.BadRequest:\n swal({\n title: '(BadRequest) يرجى طلب الدعم الفني لعدم الاتصال بقاعدة البيانات ',\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n break;\n\n case HttpError.Unauthorized:\n swal({\n title: this.translate.instant(\n 'signInFirst'\n ),\n text: this.translate.instant(\n 'GotoMainPage'\n ),\n icon: 'success',\n timer: 1000,\n buttons: {},\n }).then(\n () => {\n this.route.navigate(['home-one']);\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n //to sign -in\n break;\n\n case HttpError.NotFound:\n //show error toast message\n swal({\n title: '(Forbidden) يرجى طلب الدعم الفني لعدم الاتصال بقاعدة البيانات ',\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n // const _toaster = this._injector.get(Toaster),\n // _router = this._injector.get(Router);\n // _toaster.show({\n // message: exception.error && exception.error.message ? exception.error.message :\n // exception.statusText,\n // typeId: 'error',\n // isDismissable: true\n // });\n // _router.navigate(['']);\n break;\n\n case HttpError.TimeOut:\n // Handled in AnalyticsExceptionHandler\n swal({\n title: '(AnalyticsExceptionHandler) يرجى طلب الدعم الفني لعدم الاتصال بقاعدة البيانات ',\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n break;\n\n case HttpError.Forbidden:\n swal({\n title: '(Forbidden) يرجى طلب الدعم الفني لعدم الاتصال بقاعدة البيانات ',\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n break;\n\n case HttpError.InternalServerError:\n swal({\n title: 'يرجى طلب الدعم الفني لعدم الاتصال بقاعدة البيانات ',\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n\n break;\n }\n }\n }\n )\n );\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport {\r\n Observable,\r\n timer,\r\n defer,\r\n} from 'rxjs/';\r\nimport {\r\n finalize,\r\n take,\r\n takeWhile,\r\n} from 'rxjs/operators';\r\nimport { LoaderService } from '../Services/loader.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { LocalStorageEnums } from '../Enums/LocalStorageEnums.enum';\r\n\r\n@Injectable()\r\nexport class IHttpInterceptorService implements HttpInterceptor {\r\n constructor(private loadingService: LoaderService) {}\r\n alive = true;\r\n /**\r\n * Intercept all HTTP request to add JWT token to Headers\r\n * @param {HttpRequest} request\r\n * @param {HttpHandler} next\r\n * @returns {Observable>}\r\n * @memberof TokenInterceptor\r\n */\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization:\r\n `Basic ` +\r\n btoa(`${environment.Username}:${environment.Password}`),\r\n ProviderId: `${environment.ProviderId}`,\r\n BranchId: `${this.getBranchId()}`,\r\n org: `${environment.org}`,\r\n SessionExpireDate: `${this.getSessionExpireDate()}`,\r\n sessionDuration: `${this.getsessionDuration()}`,\r\n },\r\n });\r\n this.alive = true;\r\n return next.handle(request).pipe(\r\n prepare(() =>\r\n timer(500)\r\n .pipe(\r\n takeWhile(() => this.alive),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.loadingService.setLoading(true);\r\n })\r\n ),\r\n finalize(() => {\r\n this.loadingService.setLoading(false);\r\n this.alive = false;\r\n })\r\n );\r\n }\r\n getSessionExpireDate(): string {\r\n return localStorage.getItem(LocalStorageEnums.SessionExpireDate);\r\n }\r\n\r\n getsessionDuration(): string {\r\n return localStorage.getItem(LocalStorageEnums.sessionDuration);\r\n }\r\n getBranchId(): string {\r\n if (localStorage.getItem(LocalStorageEnums.BranchId) ==undefined||localStorage.getItem(LocalStorageEnums.BranchId) == '')\r\n return `${environment.BranchId}`;\r\n else\r\n return localStorage.getItem(LocalStorageEnums.BranchId);\r\n }\r\n}\r\nexport const prepare = (callback: () => void) => {\r\n return (source: Observable): Observable =>\r\n defer(() => {\r\n callback();\r\n return source;\r\n });\r\n};\r\n \r\n\r\n\r\n","//----------------------\n// \n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport {\n mergeMap as _observableMergeMap,\n catchError as _observableCatch,\n} from 'rxjs/operators';\nimport {\n Observable,\n throwError as _observableThrow,\n of as _observableOf,\n} from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { API_BASE_URL } from 'src/app/Services/accountService.service';\nimport {\n HttpClient,\n HttpHeaders,\n HttpResponse,\n HttpResponseBase,\n} from '@angular/common/http';\n\n\n@Injectable()\nexport class OfferAndPackagesClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined =\n undefined;\n\n constructor(\n @Inject(HttpClient) http: HttpClient,\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\n ) {\n this.http = http;\n this.baseUrl =\n baseUrl !== undefined && baseUrl !== null\n ? baseUrl\n : 'http://localhost:3958';\n }\n\n /**\n * @return OK\n */\n offerAndPackages_GetPackagesByCompanyCode(data: any): Observable {\n let url_ =\n this.baseUrl + '/api/OfferAndPackages/GetPackagesByCompanyCode';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processOfferAndPackages_GetPackagesByCompanyCode(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processOfferAndPackages_GetPackagesByCompanyCode(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processOfferAndPackages_GetPackagesByCompanyCode(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n offerAndPackages_GetPackagesByDate(data: any): Observable {\n let url_ = this.baseUrl + '/api/OfferAndPackages/GetPackagesByDate';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n CheckExpireSession: 'CheckExpireSession',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processOfferAndPackages_GetPackagesByDate(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processOfferAndPackages_GetPackagesByDate(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processOfferAndPackages_GetPackagesByDate(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n offerAndPackages_AssignPackageToPatient(data: any): Observable {\n let url_ =\n this.baseUrl + '/api/OfferAndPackages/AssignPackageToPatient';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processOfferAndPackages_AssignPackageToPatient(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processOfferAndPackages_AssignPackageToPatient(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processOfferAndPackages_AssignPackageToPatient(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n offerAndPackages_GetPatientPackageByPackageId(data: any): Observable {\n let url_ =\n this.baseUrl + '/api/OfferAndPackages/GetPatientPackageByPackageId';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processOfferAndPackages_GetPatientPackageByPackageId(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processOfferAndPackages_GetPatientPackageByPackageId(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processOfferAndPackages_GetPatientPackageByPackageId(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n offerAndPackages_GetPatientPackagesBypatient(data: any): Observable {\n let url_ =\n this.baseUrl + '/api/OfferAndPackages/GetPatientPackagesBypatient';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processOfferAndPackages_GetPatientPackagesBypatient(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processOfferAndPackages_GetPatientPackagesBypatient(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processOfferAndPackages_GetPatientPackagesBypatient(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n offerAndPackages_GetOffers(data: any): Observable {\n let url_ = this.baseUrl + '/api/OfferAndPackages/GetOffers';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processOfferAndPackages_GetOffers(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processOfferAndPackages_GetOffers(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processOfferAndPackages_GetOffers(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n offerAndPackages_GetOffersByClinicCode(data: any): Observable {\n let url_ = this.baseUrl + '/api/OfferAndPackages/GetOffersByClinicCode';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processOfferAndPackages_GetOffersByClinicCode(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processOfferAndPackages_GetOffersByClinicCode(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processOfferAndPackages_GetOffersByClinicCode(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n}\n\nexport class CreateAppointment implements ICreateAppointment {\n formId?: string | undefined;\n botId?: string | undefined;\n customerId?: string | undefined;\n wABA?: string | undefined;\n contactName?: string | undefined;\n contactMobile?: string | undefined;\n sessionId?: string | undefined;\n sessionKey?: string | undefined;\n formSessionId?: string | undefined;\n formLastQuestionId?: string | undefined;\n sessionLanguage?: string | undefined;\n submitted?: string | undefined;\n identity_no?: string | undefined;\n pat_age?: string | undefined;\n nameAr_pat?: string | undefined;\n mobile_no?: string | undefined;\n branch?: string | undefined;\n branchText?: string | undefined;\n spec_code?: string | undefined;\n codeText_spec?: string | undefined;\n dr_code?: string | undefined;\n codeText_dr?: string | undefined;\n app_id?: string | undefined;\n app_idText?: string | undefined;\n slot_id?: string | undefined;\n slot_idText?: string | undefined;\n pat_code?: string | undefined;\n pat_nameEn?: string | undefined;\n pat_gender?: string | undefined;\n pat_email?: string | undefined;\n api_booking_id?: string | undefined;\n call_url?: string | undefined;\n pat_nameAr?: string | undefined;\n dr_codeText?: string | undefined;\n\n constructor(data?: ICreateAppointment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.formId = _data['FormId'];\n this.botId = _data['BotId'];\n this.customerId = _data['CustomerId'];\n this.wABA = _data['WABA'];\n this.contactName = _data['ContactName'];\n this.contactMobile = _data['ContactMobile'];\n this.sessionId = _data['SessionId'];\n this.sessionKey = _data['SessionKey'];\n this.formSessionId = _data['FormSessionId'];\n this.formLastQuestionId = _data['FormLastQuestionId'];\n this.sessionLanguage = _data['SessionLanguage'];\n this.submitted = _data['Submitted'];\n this.identity_no = _data['identity_no'];\n this.pat_age = _data['pat_age'];\n this.nameAr_pat = _data['nameAr_pat'];\n this.mobile_no = _data['mobile_no'];\n this.branch = _data['branch'];\n this.branchText = _data['branchText'];\n this.spec_code = _data['spec_code'];\n this.codeText_spec = _data['codeText_spec'];\n this.dr_code = _data['dr_code'];\n this.codeText_dr = _data['codeText_dr'];\n this.app_id = _data['app_id'];\n this.app_idText = _data['app_idText'];\n this.slot_id = _data['slot_id'];\n this.slot_idText = _data['slot_idText'];\n this.pat_code = _data['pat_code'];\n this.pat_nameEn = _data['pat_nameEn'];\n this.pat_gender = _data['pat_gender'];\n this.pat_email = _data['pat_email'];\n this.api_booking_id = _data['api_booking_id'];\n this.call_url = _data['call_url'];\n this.pat_nameAr = _data['pat_nameAr'];\n this.dr_codeText = _data['dr_codeText'];\n }\n }\n\n static fromJS(data: any): CreateAppointment {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAppointment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['FormId'] = this.formId;\n data['BotId'] = this.botId;\n data['CustomerId'] = this.customerId;\n data['WABA'] = this.wABA;\n data['ContactName'] = this.contactName;\n data['ContactMobile'] = this.contactMobile;\n data['SessionId'] = this.sessionId;\n data['SessionKey'] = this.sessionKey;\n data['FormSessionId'] = this.formSessionId;\n data['FormLastQuestionId'] = this.formLastQuestionId;\n data['SessionLanguage'] = this.sessionLanguage;\n data['Submitted'] = this.submitted;\n data['identity_no'] = this.identity_no;\n data['pat_age'] = this.pat_age;\n data['nameAr_pat'] = this.nameAr_pat;\n data['mobile_no'] = this.mobile_no;\n data['branch'] = this.branch;\n data['branchText'] = this.branchText;\n data['spec_code'] = this.spec_code;\n data['codeText_spec'] = this.codeText_spec;\n data['dr_code'] = this.dr_code;\n data['codeText_dr'] = this.codeText_dr;\n data['app_id'] = this.app_id;\n data['app_idText'] = this.app_idText;\n data['slot_id'] = this.slot_id;\n data['slot_idText'] = this.slot_idText;\n data['pat_code'] = this.pat_code;\n data['pat_nameEn'] = this.pat_nameEn;\n data['pat_gender'] = this.pat_gender;\n data['pat_email'] = this.pat_email;\n data['api_booking_id'] = this.api_booking_id;\n data['call_url'] = this.call_url;\n data['pat_nameAr'] = this.pat_nameAr;\n data['dr_codeText'] = this.dr_codeText;\n return data;\n }\n}\n\nexport interface ICreateAppointment {\n formId?: string | undefined;\n botId?: string | undefined;\n customerId?: string | undefined;\n wABA?: string | undefined;\n contactName?: string | undefined;\n contactMobile?: string | undefined;\n sessionId?: string | undefined;\n sessionKey?: string | undefined;\n formSessionId?: string | undefined;\n formLastQuestionId?: string | undefined;\n sessionLanguage?: string | undefined;\n submitted?: string | undefined;\n identity_no?: string | undefined;\n pat_age?: string | undefined;\n nameAr_pat?: string | undefined;\n mobile_no?: string | undefined;\n branch?: string | undefined;\n branchText?: string | undefined;\n spec_code?: string | undefined;\n codeText_spec?: string | undefined;\n dr_code?: string | undefined;\n codeText_dr?: string | undefined;\n app_id?: string | undefined;\n app_idText?: string | undefined;\n slot_id?: string | undefined;\n slot_idText?: string | undefined;\n pat_code?: string | undefined;\n pat_nameEn?: string | undefined;\n pat_gender?: string | undefined;\n pat_email?: string | undefined;\n api_booking_id?: string | undefined;\n call_url?: string | undefined;\n pat_nameAr?: string | undefined;\n dr_codeText?: string | undefined;\n}\n\nexport class Appointment implements IAppointment {\n appoStartDate!: Date;\n appoEndDate!: Date;\n patientCode?: string | undefined;\n patientName?: string | undefined;\n idNumber!: string;\n patientMobile?: string | undefined;\n patientAge?: number | undefined;\n doctor_MOH_No!: string;\n appoNotes?: string | undefined;\n status?: number | undefined;\n isActive?: boolean | undefined;\n confirmStatus?: number | undefined;\n waitingOrder?: number | undefined;\n overBooking?: boolean | undefined;\n isWaiting?: boolean | undefined;\n patientType?: number | undefined;\n patientGender?: string | undefined;\n obAppoId?: number | undefined;\n\n constructor(data?: IAppointment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appoStartDate = _data['AppoStartDate']\n ? new Date(_data['AppoStartDate'].toString())\n : undefined;\n this.appoEndDate = _data['AppoEndDate']\n ? new Date(_data['AppoEndDate'].toString())\n : undefined;\n this.patientCode = _data['PatientCode'];\n this.patientName = _data['PatientName'];\n this.idNumber = _data['IdNumber'];\n this.patientMobile = _data['PatientMobile'];\n this.patientAge = _data['PatientAge'];\n this.doctor_MOH_No = _data['Doctor_MOH_No'];\n this.appoNotes = _data['AppoNotes'];\n this.status = _data['Status'];\n this.isActive = _data['IsActive'];\n this.confirmStatus = _data['ConfirmStatus'];\n this.waitingOrder = _data['WaitingOrder'];\n this.overBooking = _data['OverBooking'];\n this.isWaiting = _data['IsWaiting'];\n this.patientType = _data['PatientType'];\n this.patientGender = _data['PatientGender'];\n this.obAppoId = _data['ObAppoId'];\n }\n }\n\n static fromJS(data: any): Appointment {\n data = typeof data === 'object' ? data : {};\n let result = new Appointment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['AppoStartDate'] = this.appoStartDate\n ? this.appoStartDate.toISOString()\n : undefined;\n data['AppoEndDate'] = this.appoEndDate\n ? this.appoEndDate.toISOString()\n : undefined;\n data['PatientCode'] = this.patientCode;\n data['PatientName'] = this.patientName;\n data['IdNumber'] = this.idNumber;\n data['PatientMobile'] = this.patientMobile;\n data['PatientAge'] = this.patientAge;\n data['Doctor_MOH_No'] = this.doctor_MOH_No;\n data['AppoNotes'] = this.appoNotes;\n data['Status'] = this.status;\n data['IsActive'] = this.isActive;\n data['ConfirmStatus'] = this.confirmStatus;\n data['WaitingOrder'] = this.waitingOrder;\n data['OverBooking'] = this.overBooking;\n data['IsWaiting'] = this.isWaiting;\n data['PatientType'] = this.patientType;\n data['PatientGender'] = this.patientGender;\n data['ObAppoId'] = this.obAppoId;\n return data;\n }\n}\n\nexport interface IAppointment {\n appoStartDate: Date;\n appoEndDate: Date;\n patientCode?: string | undefined;\n patientName?: string | undefined;\n idNumber: string;\n patientMobile?: string | undefined;\n patientAge?: number | undefined;\n doctor_MOH_No: string;\n appoNotes?: string | undefined;\n status?: number | undefined;\n isActive?: boolean | undefined;\n confirmStatus?: number | undefined;\n waitingOrder?: number | undefined;\n overBooking?: boolean | undefined;\n isWaiting?: boolean | undefined;\n patientType?: number | undefined;\n patientGender?: string | undefined;\n obAppoId?: number | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any };\n result: any;\n\n constructor(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result: any\n ) {\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 isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result?: any\n): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(\n new ApiException(message, status, response, headers, null)\n );\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next('');\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = (event) => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport {\r\n mergeMap as _observableMergeMap,\r\n catchError as _observableCatch,\r\n catchError,\r\n} from 'rxjs/operators';\r\nimport {\r\n Observable,\r\n throwError as _observableThrow,\r\n of as _observableOf,\r\n} from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport {\r\n HttpBackend,\r\n HttpClient,\r\n HttpHeaders,\r\n HttpResponse,\r\n HttpResponseBase,\r\n} from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n@Injectable()\r\nexport class SMSService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined =\r\n undefined;\r\n\r\n constructor(\r\n httpBackend: HttpBackend,\r\n @Inject(HttpClient) http: HttpClient,\r\n @Optional() @Inject(API_BASE_URL) baseUrl?: string,\r\n\r\n ) {\r\n this.http = http;\r\n this.http = new HttpClient(httpBackend);\r\n this.baseUrl =\r\n baseUrl !== undefined && baseUrl !== null\r\n ? baseUrl\r\n : 'http://localhost:3958';\r\n }\r\n\r\n /**\r\n * @return OK\r\n */\r\n account_NotificationSeen(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/NotificationSeen';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_NotificationSeen(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_NotificationSeen(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n account_GetPatientIMG(patient_Code: string): Observable {\r\n let url_ = this.baseUrl + '/api/Account/GetPatientIMG?';\r\n if (patient_Code === undefined || patient_Code === null)\r\n throw new Error(\r\n \"The parameter 'patient_Code' must be defined and cannot be null.\"\r\n );\r\n else\r\n url_ +=\r\n 'Patient_Code=' + encodeURIComponent('' + patient_Code) + '&';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n let options_: any = {\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('get', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_GetPatientIMG(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_GetPatientIMG(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_GetPatientIMG(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n protected processAccount_patient(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n protected processAccount_UpdatePatientIMG(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n account_UpdatePatientIMG(body: any, patient_Code: string): Observable {\r\n let url_ =\r\n this.baseUrl + '/api/Account/UpdatePatientIMG/{Patient_Code}';\r\n if (patient_Code === undefined || patient_Code === null)\r\n throw new Error(\"The parameter 'patient_Code' must be defined.\");\r\n url_ = url_.replace(\r\n '{Patient_Code}',\r\n encodeURIComponent('' + patient_Code)\r\n );\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n let options_: any = {\r\n observe: 'response',\r\n responseType: 'blob',\r\n body: body,\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_UpdatePatientIMG(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_UpdatePatientIMG(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n account_EditPatient(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/EditPatient';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_EditPatient(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_EditPatient(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_EditPatient(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n account_GetPatientByCode(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/GetPatientByCode';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_GetPatientByCode(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_GetPatientByCode(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_GetPatientByCode(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n account_patient(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/patient';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_patient(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_patient(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_NotificationSeen(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return OK\r\n */\r\n account_GetBranchs(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/GetBranchs';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_GetBranchs(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_GetBranchs(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_GetBranchs(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAuthKeyFromSmsSevice(): Observable {\r\n let url_ =\r\n 'https://mobise.tatelecom.com/mobisebeapis/api/Account/login';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n let options_: any = {\r\n body: {\r\n email: 'm.beshoyfarah@gmail.com',\r\n password: 'So369@cli',\r\n },\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_Login(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_Login(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n SendSMS(_content: any, token: any): Observable {\r\n let url_ = 'https://mobise.tatelecom.com/mobisebeapis/api/SendSMS';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n let options_: any = {\r\n body: _content,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${token}`,\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_Login(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_Login(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return OK\r\n */\r\n account_Login(model: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/Login';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_Login(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_Login(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n account_SendCodeViaEmailSM(email: string): Observable {\r\n let url_ = this.baseUrl + '/api/Account/SendCodeViaEmailSM?';\r\n if (email === undefined || email === null)\r\n throw new Error(\r\n \"The parameter 'email' must be defined and cannot be null.\"\r\n );\r\n else url_ += 'Email=' + encodeURIComponent('' + email) + '&';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n let options_: any = {\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('get', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_SendCodeViaEmailSM(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_SendCodeViaEmailSM(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n protected processAccount_SendCodeViaEmailSM(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n protected processAccount_Login(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any };\r\n result: any;\r\n\r\n constructor(\r\n message: string,\r\n status: number,\r\n response: string,\r\n headers: { [key: string]: any },\r\n result: any\r\n ) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(\r\n message: string,\r\n status: number,\r\n response: string,\r\n headers: { [key: string]: any },\r\n result?: any\r\n): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(\r\n new ApiException(message, status, response, headers, null)\r\n );\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next('');\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = (event) => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","//----------------------\n// \n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport {\n mergeMap as _observableMergeMap,\n catchError as _observableCatch,\n} from 'rxjs/operators';\nimport {\n Observable,\n throwError as _observableThrow,\n of as _observableOf,\n} from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { API_BASE_URL } from 'src/app/Services/accountService.service';\nimport {\n HttpClient,\n HttpHeaders,\n HttpResponse,\n HttpResponseBase,\n} from '@angular/common/http';\n\n\n@Injectable()\nexport class VisitClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined =\n undefined;\n\n constructor(\n @Inject(HttpClient) http: HttpClient,\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\n ) {\n this.http = http;\n this.baseUrl =\n baseUrl !== undefined && baseUrl !== null\n ? baseUrl\n : 'http://localhost:3958';\n }\n\n /**\n * @return OK\n */\n visit_DoctorPrescription(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/DoctorPrescription';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_DoctorPrescription(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_DoctorPrescription(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_DoctorPrescription(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n visit_Report_PatientVisit(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/Report_PatientVisit';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_Report_PatientVisit(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_Report_PatientVisit(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_Report_PatientVisit(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n /**\n * @return OK\n */\n visit_LabResult(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/LabResult';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_LabResult(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_LabResult(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_LabResult(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_RadiologyResults(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/RadiologyResults';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_RadiologyResults(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_RadiologyResults(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_RadiologyResults(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetFilePath(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetFilePath';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetFilePath(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetFilePath(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetFilePath(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetVisitRays(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetVisitRays';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetVisitRays(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetVisitRays(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetVisitRays(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetVisitServices(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetVisitServices';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetVisitServices(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetVisitServices(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetVisitServices(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetVitalSigns(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetVitalSigns';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetVitalSigns(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetVitalSigns(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetVitalSigns(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetPatientAllVisitDate(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetPatientAllVisitDate';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetPatientAllVisitDate(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetPatientAllVisitDate(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetPatientAllVisitDate(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetVisitMedicine(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetVisitMedicine';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetVisitMedicine(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetVisitMedicine(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetVisitMedicine(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetVisitAnalysis(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetVisitAnalysis';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetVisitAnalysis(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetVisitAnalysis(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetVisitAnalysis(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetPatientVisits(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetPatientVisits';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetPatientVisits(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetPatientVisits(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetPatientVisits(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_DownloadPdf(filename: string): Observable {\n let url_ = this.baseUrl + '/api/Visit/DownloadPdf?';\n if (filename === undefined || filename === null)\n throw new Error(\n \"The parameter 'filename' must be defined and cannot be null.\"\n );\n else url_ += 'filename=' + encodeURIComponent('' + filename) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: any = {\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('get', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_DownloadPdf(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_DownloadPdf(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_DownloadPdf(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetVisitReportPDF(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetVisitReportPDF';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetVisitReportPDF(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetVisitReportPDF(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetVisitReportPDF(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetPatientWaitingList(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetPatientWaitingList';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetPatientWaitingList(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetPatientWaitingList(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetPatientWaitingList(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetSickleave(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetSickleave';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetSickleave(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetSickleave(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetSickleave(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetPatientVisitOther(data: any): Observable {\n let url_ = this.baseUrl + '/api/Visit/GetPatientVisitOther';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetPatientVisitOther(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetPatientVisitOther(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetPatientVisitOther(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n visit_GetBaseUrl(): Observable {\n let url_ = this.baseUrl + '/api/Visit';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: any = {\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('get', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processVisit_GetBaseUrl(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processVisit_GetBaseUrl(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processVisit_GetBaseUrl(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n}\n\nexport class CreateAppointment implements ICreateAppointment {\n formId?: string | undefined;\n botId?: string | undefined;\n customerId?: string | undefined;\n wABA?: string | undefined;\n contactName?: string | undefined;\n contactMobile?: string | undefined;\n sessionId?: string | undefined;\n sessionKey?: string | undefined;\n formSessionId?: string | undefined;\n formLastQuestionId?: string | undefined;\n sessionLanguage?: string | undefined;\n submitted?: string | undefined;\n identity_no?: string | undefined;\n pat_age?: string | undefined;\n nameAr_pat?: string | undefined;\n mobile_no?: string | undefined;\n branch?: string | undefined;\n branchText?: string | undefined;\n spec_code?: string | undefined;\n codeText_spec?: string | undefined;\n dr_code?: string | undefined;\n codeText_dr?: string | undefined;\n app_id?: string | undefined;\n app_idText?: string | undefined;\n slot_id?: string | undefined;\n slot_idText?: string | undefined;\n pat_code?: string | undefined;\n pat_nameEn?: string | undefined;\n pat_gender?: string | undefined;\n pat_email?: string | undefined;\n api_booking_id?: string | undefined;\n call_url?: string | undefined;\n pat_nameAr?: string | undefined;\n dr_codeText?: string | undefined;\n\n constructor(data?: ICreateAppointment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.formId = _data['FormId'];\n this.botId = _data['BotId'];\n this.customerId = _data['CustomerId'];\n this.wABA = _data['WABA'];\n this.contactName = _data['ContactName'];\n this.contactMobile = _data['ContactMobile'];\n this.sessionId = _data['SessionId'];\n this.sessionKey = _data['SessionKey'];\n this.formSessionId = _data['FormSessionId'];\n this.formLastQuestionId = _data['FormLastQuestionId'];\n this.sessionLanguage = _data['SessionLanguage'];\n this.submitted = _data['Submitted'];\n this.identity_no = _data['identity_no'];\n this.pat_age = _data['pat_age'];\n this.nameAr_pat = _data['nameAr_pat'];\n this.mobile_no = _data['mobile_no'];\n this.branch = _data['branch'];\n this.branchText = _data['branchText'];\n this.spec_code = _data['spec_code'];\n this.codeText_spec = _data['codeText_spec'];\n this.dr_code = _data['dr_code'];\n this.codeText_dr = _data['codeText_dr'];\n this.app_id = _data['app_id'];\n this.app_idText = _data['app_idText'];\n this.slot_id = _data['slot_id'];\n this.slot_idText = _data['slot_idText'];\n this.pat_code = _data['pat_code'];\n this.pat_nameEn = _data['pat_nameEn'];\n this.pat_gender = _data['pat_gender'];\n this.pat_email = _data['pat_email'];\n this.api_booking_id = _data['api_booking_id'];\n this.call_url = _data['call_url'];\n this.pat_nameAr = _data['pat_nameAr'];\n this.dr_codeText = _data['dr_codeText'];\n }\n }\n\n static fromJS(data: any): CreateAppointment {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAppointment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['FormId'] = this.formId;\n data['BotId'] = this.botId;\n data['CustomerId'] = this.customerId;\n data['WABA'] = this.wABA;\n data['ContactName'] = this.contactName;\n data['ContactMobile'] = this.contactMobile;\n data['SessionId'] = this.sessionId;\n data['SessionKey'] = this.sessionKey;\n data['FormSessionId'] = this.formSessionId;\n data['FormLastQuestionId'] = this.formLastQuestionId;\n data['SessionLanguage'] = this.sessionLanguage;\n data['Submitted'] = this.submitted;\n data['identity_no'] = this.identity_no;\n data['pat_age'] = this.pat_age;\n data['nameAr_pat'] = this.nameAr_pat;\n data['mobile_no'] = this.mobile_no;\n data['branch'] = this.branch;\n data['branchText'] = this.branchText;\n data['spec_code'] = this.spec_code;\n data['codeText_spec'] = this.codeText_spec;\n data['dr_code'] = this.dr_code;\n data['codeText_dr'] = this.codeText_dr;\n data['app_id'] = this.app_id;\n data['app_idText'] = this.app_idText;\n data['slot_id'] = this.slot_id;\n data['slot_idText'] = this.slot_idText;\n data['pat_code'] = this.pat_code;\n data['pat_nameEn'] = this.pat_nameEn;\n data['pat_gender'] = this.pat_gender;\n data['pat_email'] = this.pat_email;\n data['api_booking_id'] = this.api_booking_id;\n data['call_url'] = this.call_url;\n data['pat_nameAr'] = this.pat_nameAr;\n data['dr_codeText'] = this.dr_codeText;\n return data;\n }\n}\n\nexport interface ICreateAppointment {\n formId?: string | undefined;\n botId?: string | undefined;\n customerId?: string | undefined;\n wABA?: string | undefined;\n contactName?: string | undefined;\n contactMobile?: string | undefined;\n sessionId?: string | undefined;\n sessionKey?: string | undefined;\n formSessionId?: string | undefined;\n formLastQuestionId?: string | undefined;\n sessionLanguage?: string | undefined;\n submitted?: string | undefined;\n identity_no?: string | undefined;\n pat_age?: string | undefined;\n nameAr_pat?: string | undefined;\n mobile_no?: string | undefined;\n branch?: string | undefined;\n branchText?: string | undefined;\n spec_code?: string | undefined;\n codeText_spec?: string | undefined;\n dr_code?: string | undefined;\n codeText_dr?: string | undefined;\n app_id?: string | undefined;\n app_idText?: string | undefined;\n slot_id?: string | undefined;\n slot_idText?: string | undefined;\n pat_code?: string | undefined;\n pat_nameEn?: string | undefined;\n pat_gender?: string | undefined;\n pat_email?: string | undefined;\n api_booking_id?: string | undefined;\n call_url?: string | undefined;\n pat_nameAr?: string | undefined;\n dr_codeText?: string | undefined;\n}\n\nexport class Appointment implements IAppointment {\n appoStartDate!: Date;\n appoEndDate!: Date;\n patientCode?: string | undefined;\n patientName?: string | undefined;\n idNumber!: string;\n patientMobile?: string | undefined;\n patientAge?: number | undefined;\n doctor_MOH_No!: string;\n appoNotes?: string | undefined;\n status?: number | undefined;\n isActive?: boolean | undefined;\n confirmStatus?: number | undefined;\n waitingOrder?: number | undefined;\n overBooking?: boolean | undefined;\n isWaiting?: boolean | undefined;\n patientType?: number | undefined;\n patientGender?: string | undefined;\n obAppoId?: number | undefined;\n\n constructor(data?: IAppointment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appoStartDate = _data['AppoStartDate']\n ? new Date(_data['AppoStartDate'].toString())\n : undefined;\n this.appoEndDate = _data['AppoEndDate']\n ? new Date(_data['AppoEndDate'].toString())\n : undefined;\n this.patientCode = _data['PatientCode'];\n this.patientName = _data['PatientName'];\n this.idNumber = _data['IdNumber'];\n this.patientMobile = _data['PatientMobile'];\n this.patientAge = _data['PatientAge'];\n this.doctor_MOH_No = _data['Doctor_MOH_No'];\n this.appoNotes = _data['AppoNotes'];\n this.status = _data['Status'];\n this.isActive = _data['IsActive'];\n this.confirmStatus = _data['ConfirmStatus'];\n this.waitingOrder = _data['WaitingOrder'];\n this.overBooking = _data['OverBooking'];\n this.isWaiting = _data['IsWaiting'];\n this.patientType = _data['PatientType'];\n this.patientGender = _data['PatientGender'];\n this.obAppoId = _data['ObAppoId'];\n }\n }\n\n static fromJS(data: any): Appointment {\n data = typeof data === 'object' ? data : {};\n let result = new Appointment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['AppoStartDate'] = this.appoStartDate\n ? this.appoStartDate.toISOString()\n : undefined;\n data['AppoEndDate'] = this.appoEndDate\n ? this.appoEndDate.toISOString()\n : undefined;\n data['PatientCode'] = this.patientCode;\n data['PatientName'] = this.patientName;\n data['IdNumber'] = this.idNumber;\n data['PatientMobile'] = this.patientMobile;\n data['PatientAge'] = this.patientAge;\n data['Doctor_MOH_No'] = this.doctor_MOH_No;\n data['AppoNotes'] = this.appoNotes;\n data['Status'] = this.status;\n data['IsActive'] = this.isActive;\n data['ConfirmStatus'] = this.confirmStatus;\n data['WaitingOrder'] = this.waitingOrder;\n data['OverBooking'] = this.overBooking;\n data['IsWaiting'] = this.isWaiting;\n data['PatientType'] = this.patientType;\n data['PatientGender'] = this.patientGender;\n data['ObAppoId'] = this.obAppoId;\n return data;\n }\n}\n\nexport interface IAppointment {\n appoStartDate: Date;\n appoEndDate: Date;\n patientCode?: string | undefined;\n patientName?: string | undefined;\n idNumber: string;\n patientMobile?: string | undefined;\n patientAge?: number | undefined;\n doctor_MOH_No: string;\n appoNotes?: string | undefined;\n status?: number | undefined;\n isActive?: boolean | undefined;\n confirmStatus?: number | undefined;\n waitingOrder?: number | undefined;\n overBooking?: boolean | undefined;\n isWaiting?: boolean | undefined;\n patientType?: number | undefined;\n patientGender?: string | undefined;\n obAppoId?: number | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any };\n result: any;\n\n constructor(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result: any\n ) {\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 isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result?: any\n): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(\n new ApiException(message, status, response, headers, null)\n );\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next('');\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = (event) => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}\n","//----------------------\n// \n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport {\n mergeMap as _observableMergeMap,\n catchError as _observableCatch,\n} from 'rxjs/operators';\nimport {\n Observable,\n throwError as _observableThrow,\n of as _observableOf,\n} from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport {\n HttpClient,\n HttpHeaders,\n HttpResponse,\n HttpResponseBase,\n} from '@angular/common/http';\nimport { API_BASE_URL } from './accountService.service';\n\n\n@Injectable()\nexport class WaClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined =\n undefined;\n\n constructor(\n @Inject(HttpClient) http: HttpClient,\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\n ) {\n this.http = http;\n this.baseUrl =\n baseUrl !== undefined && baseUrl !== null\n ? baseUrl\n : 'http://localhost:3958';\n }\n\n /**\n * @return OK\n */\n wa_Profile(pat: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/Profile';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(pat);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Profile(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Profile(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Profile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Profile2(pat: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/api/findpatient';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(pat);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Profile2(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Profile2(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Profile2(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Lookup(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/Lookup';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Lookup(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Lookup(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Lookup(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetLookupData(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetLookupData';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetLookupData(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetLookupData(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetLookupData(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Reschedule(data: CreateAppointment): Observable {\n let url_ = this.baseUrl + '/api/Wa/reschedule';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Reschedule(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Reschedule(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Reschedule(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Cancel(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/cancel';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Cancel(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Cancel(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Cancel(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Create(data: CreateAppointment): Observable {\n let url_ = this.baseUrl + '/api/Wa/createapp';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Create(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Create(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Create(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_AddServices(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/AddServices';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_AddServices(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_AddServices(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_AddServices(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_AddMedecines(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/AddMedecines';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_AddMedecines(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_AddMedecines(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_AddMedecines(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_UpdatePatientIMG(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/UpdatePatientIMG';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_UpdatePatientIMG(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_UpdatePatientIMG(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_UpdatePatientIMG(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetPatientIMG(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetPatientIMG';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetPatientIMG(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetPatientIMG(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetPatientIMG(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_UpdateUserLocation(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/UpdateUserLocation';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_UpdateUserLocation(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_UpdateUserLocation(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_UpdateUserLocation(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_SaveUserSetting(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/SaveUserSetting';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_SaveUserSetting(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_SaveUserSetting(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_SaveUserSetting(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetPatientVaccination(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetPatientVaccination';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetPatientVaccination(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetPatientVaccination(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetPatientVaccination(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetUserSetting(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetUserSetting';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetUserSetting(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetUserSetting(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetUserSetting(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetUserDetail(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetUserDetail';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetUserDetail(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetUserDetail(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetUserDetail(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetPatientDiagnosis(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetPatientDiagnosis';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetPatientDiagnosis(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetPatientDiagnosis(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetPatientDiagnosis(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_PostDiagnosis(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/PostDiagnosis';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_PostDiagnosis(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_PostDiagnosis(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_PostDiagnosis(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetPatientMedicine(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetPatientMedicine';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetPatientMedicine(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetPatientMedicine(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetPatientMedicine(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetTestAnalysis(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetTestAnalysis';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetTestAnalysis(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetTestAnalysis(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetTestAnalysis(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetPatientEmergency(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetPatientEmergency';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetPatientEmergency(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetPatientEmergency(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetPatientEmergency(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetRadiologyInfo(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetRadiologyInfo';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetRadiologyInfo(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetRadiologyInfo(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetRadiologyInfo(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Doctor(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/doctor';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Doctor(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Doctor(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Doctor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetDoctorsByPrice(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetDoctorsByPrice';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetDoctorsByPrice(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetDoctorsByPrice(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetDoctorsByPrice(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetDoctorsByClinicCode(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetDoctorsByClinicCode';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetDoctorsByClinicCode(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetDoctorsByClinicCode(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetDoctorsByClinicCode(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetDoctorsByRate(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetDoctorsByRate';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetDoctorsByRate(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetDoctorsByRate(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetDoctorsByRate(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetDoctors(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetDoctors';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n \n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n CheckExpireSession: 'CheckExpireSession',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetDoctors(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetDoctors(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetDoctors(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetServices(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetServices';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetServices(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetServices(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetServices(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetServiceByClinicCode(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetServiceByClinicCode';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n CheckExpireSession: 'CheckExpireSession',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetServiceByClinicCode(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetServiceByClinicCode(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetServiceByClinicCode(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_VirtualBooking(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/VirtualBooking';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_VirtualBooking(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_VirtualBooking(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_VirtualBooking(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetBooking(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetBooking';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetBooking(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetBooking(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetBooking(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetICDData(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetICDData';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetICDData(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetICDData(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetICDData(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetPackageServicesDetails(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetPatientServiceDetails';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetPackageServicesDetails(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetPackageServicesDetails(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetPackageServicesDetails(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_GetPatientFamilly(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/GetPatientFamilly';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_GetPatientFamilly(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_GetPatientFamilly(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_GetPatientFamilly(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Dates(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/dates';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Dates(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Dates(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Dates(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Slots(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/slots';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Slots(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Slots(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Slots(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n wa_Payment(data: any): Observable {\n let url_ = this.baseUrl + '/api/Wa/payment';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processWa_Payment(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processWa_Payment(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processWa_Payment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n}\n\nexport class CreateAppointment implements ICreateAppointment {\n formId?: string | undefined;\n botId?: string | undefined;\n customerId?: string | undefined;\n wABA?: string | undefined;\n contactName?: string | undefined;\n contactMobile?: string | undefined;\n sessionId?: string | undefined;\n sessionKey?: string | undefined;\n formSessionId?: string | undefined;\n formLastQuestionId?: string | undefined;\n sessionLanguage?: string | undefined;\n submitted?: string | undefined;\n identity_no?: string | undefined;\n pat_age?: string | undefined;\n nameAr_pat?: string | undefined;\n mobile_no?: string | undefined;\n branch?: string | undefined;\n branchText?: string | undefined;\n spec_code?: string | undefined;\n codeText_spec?: string | undefined;\n dr_code?: string | undefined;\n codeText_dr?: string | undefined;\n app_id?: string | undefined;\n app_idText?: string | undefined;\n slot_id?: string | undefined;\n slot_idText?: string | undefined;\n pat_code?: string | undefined;\n pat_nameEn?: string | undefined;\n pat_gender?: string | undefined;\n pat_email?: string | undefined;\n api_booking_id?: string | undefined;\n call_url?: string | undefined;\n pat_nameAr?: string | undefined;\n dr_codeText?: string | undefined;\n\n constructor(data?: ICreateAppointment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.formId = _data['FormId'];\n this.botId = _data['BotId'];\n this.customerId = _data['CustomerId'];\n this.wABA = _data['WABA'];\n this.contactName = _data['ContactName'];\n this.contactMobile = _data['ContactMobile'];\n this.sessionId = _data['SessionId'];\n this.sessionKey = _data['SessionKey'];\n this.formSessionId = _data['FormSessionId'];\n this.formLastQuestionId = _data['FormLastQuestionId'];\n this.sessionLanguage = _data['SessionLanguage'];\n this.submitted = _data['Submitted'];\n this.identity_no = _data['identity_no'];\n this.pat_age = _data['pat_age'];\n this.nameAr_pat = _data['nameAr_pat'];\n this.mobile_no = _data['mobile_no'];\n this.branch = _data['branch'];\n this.branchText = _data['branchText'];\n this.spec_code = _data['spec_code'];\n this.codeText_spec = _data['codeText_spec'];\n this.dr_code = _data['dr_code'];\n this.codeText_dr = _data['codeText_dr'];\n this.app_id = _data['app_id'];\n this.app_idText = _data['app_idText'];\n this.slot_id = _data['slot_id'];\n this.slot_idText = _data['slot_idText'];\n this.pat_code = _data['pat_code'];\n this.pat_nameEn = _data['pat_nameEn'];\n this.pat_gender = _data['pat_gender'];\n this.pat_email = _data['pat_email'];\n this.api_booking_id = _data['api_booking_id'];\n this.call_url = _data['call_url'];\n this.pat_nameAr = _data['pat_nameAr'];\n this.dr_codeText = _data['dr_codeText'];\n }\n }\n\n static fromJS(data: any): CreateAppointment {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAppointment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['FormId'] = this.formId;\n data['BotId'] = this.botId;\n data['CustomerId'] = this.customerId;\n data['WABA'] = this.wABA;\n data['ContactName'] = this.contactName;\n data['ContactMobile'] = this.contactMobile;\n data['SessionId'] = this.sessionId;\n data['SessionKey'] = this.sessionKey;\n data['FormSessionId'] = this.formSessionId;\n data['FormLastQuestionId'] = this.formLastQuestionId;\n data['SessionLanguage'] = this.sessionLanguage;\n data['Submitted'] = this.submitted;\n data['identity_no'] = this.identity_no;\n data['pat_age'] = this.pat_age;\n data['nameAr_pat'] = this.nameAr_pat;\n data['mobile_no'] = this.mobile_no;\n data['branch'] = this.branch;\n data['branchText'] = this.branchText;\n data['spec_code'] = this.spec_code;\n data['codeText_spec'] = this.codeText_spec;\n data['dr_code'] = this.dr_code;\n data['codeText_dr'] = this.codeText_dr;\n data['app_id'] = this.app_id;\n data['app_idText'] = this.app_idText;\n data['slot_id'] = this.slot_id;\n data['slot_idText'] = this.slot_idText;\n data['pat_code'] = this.pat_code;\n data['pat_nameEn'] = this.pat_nameEn;\n data['pat_gender'] = this.pat_gender;\n data['pat_email'] = this.pat_email;\n data['api_booking_id'] = this.api_booking_id;\n data['call_url'] = this.call_url;\n data['pat_nameAr'] = this.pat_nameAr;\n data['dr_codeText'] = this.dr_codeText;\n return data;\n }\n}\n\nexport interface ICreateAppointment {\n formId?: string | undefined;\n botId?: string | undefined;\n customerId?: string | undefined;\n wABA?: string | undefined;\n contactName?: string | undefined;\n contactMobile?: string | undefined;\n sessionId?: string | undefined;\n sessionKey?: string | undefined;\n formSessionId?: string | undefined;\n formLastQuestionId?: string | undefined;\n sessionLanguage?: string | undefined;\n submitted?: string | undefined;\n identity_no?: string | undefined;\n pat_age?: string | undefined;\n nameAr_pat?: string | undefined;\n mobile_no?: string | undefined;\n branch?: string | undefined;\n branchText?: string | undefined;\n spec_code?: string | undefined;\n codeText_spec?: string | undefined;\n dr_code?: string | undefined;\n codeText_dr?: string | undefined;\n app_id?: string | undefined;\n app_idText?: string | undefined;\n slot_id?: string | undefined;\n slot_idText?: string | undefined;\n pat_code?: string | undefined;\n pat_nameEn?: string | undefined;\n pat_gender?: string | undefined;\n pat_email?: string | undefined;\n api_booking_id?: string | undefined;\n call_url?: string | undefined;\n pat_nameAr?: string | undefined;\n dr_codeText?: string | undefined;\n}\n\nexport class Appointment implements IAppointment {\n appoStartDate!: Date;\n appoEndDate!: Date;\n patientCode?: string | undefined;\n patientName?: string | undefined;\n idNumber!: string;\n patientMobile?: string | undefined;\n patientAge?: number | undefined;\n doctor_MOH_No!: string;\n appoNotes?: string | undefined;\n status?: number | undefined;\n isActive?: boolean | undefined;\n confirmStatus?: number | undefined;\n waitingOrder?: number | undefined;\n overBooking?: boolean | undefined;\n isWaiting?: boolean | undefined;\n patientType?: number | undefined;\n patientGender?: string | undefined;\n obAppoId?: number | undefined;\n\n constructor(data?: IAppointment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appoStartDate = _data['AppoStartDate']\n ? new Date(_data['AppoStartDate'].toString())\n : undefined;\n this.appoEndDate = _data['AppoEndDate']\n ? new Date(_data['AppoEndDate'].toString())\n : undefined;\n this.patientCode = _data['PatientCode'];\n this.patientName = _data['PatientName'];\n this.idNumber = _data['IdNumber'];\n this.patientMobile = _data['PatientMobile'];\n this.patientAge = _data['PatientAge'];\n this.doctor_MOH_No = _data['Doctor_MOH_No'];\n this.appoNotes = _data['AppoNotes'];\n this.status = _data['Status'];\n this.isActive = _data['IsActive'];\n this.confirmStatus = _data['ConfirmStatus'];\n this.waitingOrder = _data['WaitingOrder'];\n this.overBooking = _data['OverBooking'];\n this.isWaiting = _data['IsWaiting'];\n this.patientType = _data['PatientType'];\n this.patientGender = _data['PatientGender'];\n this.obAppoId = _data['ObAppoId'];\n }\n }\n\n static fromJS(data: any): Appointment {\n data = typeof data === 'object' ? data : {};\n let result = new Appointment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['AppoStartDate'] = this.appoStartDate\n ? this.appoStartDate.toISOString()\n : undefined;\n data['AppoEndDate'] = this.appoEndDate\n ? this.appoEndDate.toISOString()\n : undefined;\n data['PatientCode'] = this.patientCode;\n data['PatientName'] = this.patientName;\n data['IdNumber'] = this.idNumber;\n data['PatientMobile'] = this.patientMobile;\n data['PatientAge'] = this.patientAge;\n data['Doctor_MOH_No'] = this.doctor_MOH_No;\n data['AppoNotes'] = this.appoNotes;\n data['Status'] = this.status;\n data['IsActive'] = this.isActive;\n data['ConfirmStatus'] = this.confirmStatus;\n data['WaitingOrder'] = this.waitingOrder;\n data['OverBooking'] = this.overBooking;\n data['IsWaiting'] = this.isWaiting;\n data['PatientType'] = this.patientType;\n data['PatientGender'] = this.patientGender;\n data['ObAppoId'] = this.obAppoId;\n return data;\n }\n}\n\nexport interface IAppointment {\n appoStartDate: Date;\n appoEndDate: Date;\n patientCode?: string | undefined;\n patientName?: string | undefined;\n idNumber: string;\n patientMobile?: string | undefined;\n patientAge?: number | undefined;\n doctor_MOH_No: string;\n appoNotes?: string | undefined;\n status?: number | undefined;\n isActive?: boolean | undefined;\n confirmStatus?: number | undefined;\n waitingOrder?: number | undefined;\n overBooking?: boolean | undefined;\n isWaiting?: boolean | undefined;\n patientType?: number | undefined;\n patientGender?: string | undefined;\n obAppoId?: number | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any };\n result: any;\n\n constructor(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result: any\n ) {\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 isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result?: any\n): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(\n new ApiException(message, status, response, headers, null)\n );\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next('');\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = (event) => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport {\r\n mergeMap as _observableMergeMap,\r\n catchError as _observableCatch,\r\n catchError,\r\n} from 'rxjs/operators';\r\nimport {\r\n Observable,\r\n throwError as _observableThrow,\r\n of as _observableOf,\r\n} from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport {\r\n HttpClient,\r\n HttpHeaders,\r\n HttpResponse,\r\n HttpResponseBase,\r\n} from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n@Injectable()\r\nexport class AccountClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined =\r\n undefined;\r\n\r\n constructor(\r\n @Inject(HttpClient) http: HttpClient,\r\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\r\n ) {\r\n this.http = http;\r\n this.baseUrl =\r\n baseUrl !== undefined && baseUrl !== null\r\n ? baseUrl\r\n : 'http://localhost:3958';\r\n }\r\n\r\n /**\r\n * @return OK\r\n */\r\n account_NotificationSeen(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/NotificationSeen';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_NotificationSeen(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_NotificationSeen(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n account_GetPatientIMG(patient_Code: string): Observable {\r\n let url_ = this.baseUrl + '/api/Account/GetPatientIMG?';\r\n if (patient_Code === undefined || patient_Code === null)\r\n throw new Error(\r\n \"The parameter 'patient_Code' must be defined and cannot be null.\"\r\n );\r\n else\r\n url_ +=\r\n 'Patient_Code=' + encodeURIComponent('' + patient_Code) + '&';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n let options_: any = {\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('get', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_GetPatientIMG(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_GetPatientIMG(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_GetPatientIMG(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n protected processAccount_patient(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n protected processAccount_UpdatePatientIMG(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n account_UpdatePatientIMG(body: any, patient_Code: string): Observable {\r\n let url_ =\r\n this.baseUrl + '/api/Account/UpdatePatientIMG/{Patient_Code}';\r\n if (patient_Code === undefined || patient_Code === null)\r\n throw new Error(\"The parameter 'patient_Code' must be defined.\");\r\n url_ = url_.replace(\r\n '{Patient_Code}',\r\n encodeURIComponent('' + patient_Code)\r\n );\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n let options_: any = {\r\n observe: 'response',\r\n responseType: 'blob',\r\n body: body,\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_UpdatePatientIMG(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_UpdatePatientIMG(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n account_EditPatient(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/EditPatient';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_EditPatient(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_EditPatient(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_EditPatient(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n account_GetPatientByCode(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/GetPatientByCode';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_GetPatientByCode(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_GetPatientByCode(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_GetPatientByCode(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n account_patient(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/patient';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_patient(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_patient(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_NotificationSeen(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return OK\r\n */\r\n account_GetBranchs(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/GetBranchs';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: data,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_GetBranchs(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_GetBranchs(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_GetBranchs(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return OK\r\n */\r\n account_SendCodeViaPhoneSM(data: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/SendCodeViaPhoneSM';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_SendCodeViaPhoneSM(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_SendCodeViaPhoneSM(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n protected processAccount_SendCodeViaPhoneSM(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return OK\r\n */\r\n account_Login(model: any): Observable {\r\n let url_ = this.baseUrl + '/api/Account/Login';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('post', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_Login(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_Login(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n\r\n account_SendCodeViaEmailSM(email: string): Observable {\r\n let url_ = this.baseUrl + '/api/Account/SendCodeViaEmailSM?';\r\n if (email === undefined || email === null)\r\n throw new Error(\r\n \"The parameter 'email' must be defined and cannot be null.\"\r\n );\r\n else url_ += 'Email=' + encodeURIComponent('' + email) + '&';\r\n url_ = url_.replace(/[?&]$/, '');\r\n\r\n let options_: any = {\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n CheckExpireSession: 'CheckExpireSession',\r\n }),\r\n };\r\n\r\n return this.http\r\n .request('get', url_, options_)\r\n .pipe(\r\n _observableMergeMap((response_: any) => {\r\n return this.processAccount_SendCodeViaEmailSM(response_);\r\n })\r\n )\r\n .pipe(\r\n _observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAccount_SendCodeViaEmailSM(\r\n response_ as any\r\n );\r\n } catch (e) {\r\n return _observableThrow(\r\n e\r\n ) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(\r\n response_\r\n ) as any as Observable;\r\n })\r\n );\r\n }\r\n protected processAccount_SendCodeViaEmailSM(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n protected processAccount_Login(\r\n response: HttpResponseBase\r\n ): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse\r\n ? response.body\r\n : (response as any).error instanceof Blob\r\n ? (response as any).error\r\n : undefined;\r\n\r\n let _headers: any = {};\r\n if (response.headers) {\r\n for (let key of response.headers.keys()) {\r\n _headers[key] = response.headers.get(key);\r\n }\r\n }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 =\r\n _responseText === ''\r\n ? null\r\n : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 =\r\n resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n })\r\n );\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(\r\n _observableMergeMap((_responseText: string) => {\r\n return throwException(\r\n 'An unexpected server error occurred.',\r\n status,\r\n _responseText,\r\n _headers\r\n );\r\n })\r\n );\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any }\r\n result: any;\r\n\r\n constructor(\r\n message: string,\r\n status: number,\r\n response: string,\r\n headers: { [key: string]: any },\r\n result: any\r\n ) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(\r\n message: string,\r\n status: number,\r\n response: string,\r\n headers: { [key: string]: any },\r\n result?: any\r\n): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(\r\n new ApiException(message, status, response, headers, null)\r\n );\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next('');\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = (event) => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","//----------------------\n// \n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport {\n mergeMap as _observableMergeMap,\n catchError as _observableCatch,\n} from 'rxjs/operators';\nimport {\n Observable,\n throwError as _observableThrow,\n of as _observableOf,\n} from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport {\n HttpClient,\n HttpHeaders,\n HttpResponse,\n HttpResponseBase,\n} from '@angular/common/http';\nimport { API_BASE_URL } from './accountService.service';\n\n\n@Injectable()\nexport class AppintmentAPIClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined =\n undefined;\n\n constructor(\n @Inject(HttpClient) http: HttpClient,\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\n ) {\n this.http = http;\n this.baseUrl =\n baseUrl !== undefined && baseUrl !== null\n ? baseUrl\n : 'http://localhost:3958';\n }\n\n /**\n * @return OK\n */\n appintmentAPI_Reschedule(data: any): Observable {\n let url_ = this.baseUrl + '/api/Appointment/reschedule';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_Reschedule(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_Reschedule(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n appintmentAPI_insert_AppointmentServices(data: any): Observable {\n let url_ = this.baseUrl + '/api/Appointment/insert_AppointmentServices';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_insert_AppointmentServices(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_insert_AppointmentServices(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n appintmentAPI_PayMob(data: any): Observable {\n let url_ = this.baseUrl + '/api/Appointment/PayMob';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_PayMob(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_PayMob(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_PayMob(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n protected processAppintmentAPI_insert_AppointmentServices(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n protected processAppintmentAPI_Reschedule(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_CancelAppointment(data: any): Observable {\n let url_ = this.baseUrl + '/api/Appointment/CancelAppointment';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_CancelAppointment(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_CancelAppointment(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_CancelAppointment(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_Create(data: CreateAppointment): Observable {\n let url_ = this.baseUrl + '/api/Appointment/createapp';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_Create(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_Create(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_Create(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n appintmentAPI_GetPatientAppointmentbydate(data: any): Observable {\n let url_ =\n this.baseUrl + '/api/Appointment/GetPatientAppointmentbydate';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_GetPatientPreviousAppointment(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_GetPatientPreviousAppointment(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_GetPatientPreviousAppointment(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_GetPatientAppointments(data: any): Observable {\n let url_ = this.baseUrl + '/api/Appointment/GetPatientAppointments';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n CheckExpireSession: 'CheckExpireSession',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_GetPatientAppointments(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_GetPatientAppointments(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_GetPatientAppointments(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_GetDoctorAppointments(data: any): Observable {\n let url_ = this.baseUrl + '/api/Appointment/GetDoctorAppointments';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_GetDoctorAppointments(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_GetDoctorAppointments(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_GetDoctorAppointments(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_GetPatientAppointmentRequests(data: any): Observable {\n let url_ =\n this.baseUrl + '/api/Appointment/GetPatientAppointmentRequests';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_GetPatientAppointmentRequests(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_GetPatientAppointmentRequests(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_GetPatientAppointmentRequests(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_AppointmentSearch(data: any): Observable {\n let url_ = this.baseUrl + '/api/Appointment/AppointmentSearch';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_AppointmentSearch(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_AppointmentSearch(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_AppointmentSearch(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_GetPatientData(idNumber: string): Observable {\n let url_ = this.baseUrl + '/api/AppintmentAPI?';\n if (idNumber === undefined || idNumber === null)\n throw new Error(\n \"The parameter 'idNumber' must be defined and cannot be null.\"\n );\n else url_ += 'IdNumber=' + encodeURIComponent('' + idNumber) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: any = {\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('get', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_GetPatientData(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_GetPatientData(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_GetPatientData(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_UpdateAppointment(appointment: Appointment): Observable {\n let url_ = this.baseUrl + '/api/AppintmentAPI';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(appointment);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('put', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_UpdateAppointment(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_UpdateAppointment(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_UpdateAppointment(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_InserNewAppointment(\n appointment: Appointment\n ): Observable {\n let url_ = this.baseUrl + '/api/AppintmentAPI';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(appointment);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_InserNewAppointment(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_InserNewAppointment(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_InserNewAppointment(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n appintmentAPI_DeleteAppointment(\n appoDate: Date,\n idNumber: string,\n doctor_MOH_No: string\n ): Observable {\n let url_ = this.baseUrl + '/api/AppintmentAPI?';\n if (appoDate === undefined || appoDate === null)\n throw new Error(\n \"The parameter 'appoDate' must be defined and cannot be null.\"\n );\n else\n url_ +=\n 'AppoDate=' +\n encodeURIComponent(\n appoDate ? '' + appoDate.toISOString() : ''\n ) +\n '&';\n if (idNumber === undefined || idNumber === null)\n throw new Error(\n \"The parameter 'idNumber' must be defined and cannot be null.\"\n );\n else url_ += 'IdNumber=' + encodeURIComponent('' + idNumber) + '&';\n if (doctor_MOH_No === undefined || doctor_MOH_No === null)\n throw new Error(\n \"The parameter 'doctor_MOH_No' must be defined and cannot be null.\"\n );\n else\n url_ +=\n 'Doctor_MOH_No=' + encodeURIComponent('' + doctor_MOH_No) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: any = {\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('delete', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAppintmentAPI_DeleteAppointment(\n response_\n );\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAppintmentAPI_DeleteAppointment(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processAppintmentAPI_DeleteAppointment(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n}\n\nexport class CreateAppointment implements ICreateAppointment {\n formId?: string | undefined;\n botId?: string | undefined;\n customerId?: string | undefined;\n wABA?: string | undefined;\n contactName?: string | undefined;\n contactMobile?: string | undefined;\n sessionId?: string | undefined;\n sessionKey?: string | undefined;\n formSessionId?: string | undefined;\n formLastQuestionId?: string | undefined;\n sessionLanguage?: string | undefined;\n submitted?: string | undefined;\n identity_no?: string | undefined;\n pat_age?: string | undefined;\n nameAr_pat?: string | undefined;\n mobile_no?: string | undefined;\n branch?: string | undefined;\n branchText?: string | undefined;\n spec_code?: string | undefined;\n codeText_spec?: string | undefined;\n dr_code?: string | undefined;\n codeText_dr?: string | undefined;\n app_id?: string | undefined;\n app_idText?: string | undefined;\n slot_id?: string | undefined;\n slot_idText?: string | undefined;\n pat_code?: string | undefined;\n pat_nameEn?: string | undefined;\n pat_gender?: string | undefined;\n pat_email?: string | undefined;\n api_booking_id?: string | undefined;\n call_url?: string | undefined;\n pat_nameAr?: string | undefined;\n dr_codeText?: string | undefined;\n\n constructor(data?: ICreateAppointment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.formId = _data['FormId'];\n this.botId = _data['BotId'];\n this.customerId = _data['CustomerId'];\n this.wABA = _data['WABA'];\n this.contactName = _data['ContactName'];\n this.contactMobile = _data['ContactMobile'];\n this.sessionId = _data['SessionId'];\n this.sessionKey = _data['SessionKey'];\n this.formSessionId = _data['FormSessionId'];\n this.formLastQuestionId = _data['FormLastQuestionId'];\n this.sessionLanguage = _data['SessionLanguage'];\n this.submitted = _data['Submitted'];\n this.identity_no = _data['identity_no'];\n this.pat_age = _data['pat_age'];\n this.nameAr_pat = _data['nameAr_pat'];\n this.mobile_no = _data['mobile_no'];\n this.branch = _data['branch'];\n this.branchText = _data['branchText'];\n this.spec_code = _data['spec_code'];\n this.codeText_spec = _data['codeText_spec'];\n this.dr_code = _data['dr_code'];\n this.codeText_dr = _data['codeText_dr'];\n this.app_id = _data['app_id'];\n this.app_idText = _data['app_idText'];\n this.slot_id = _data['slot_id'];\n this.slot_idText = _data['slot_idText'];\n this.pat_code = _data['pat_code'];\n this.pat_nameEn = _data['pat_nameEn'];\n this.pat_gender = _data['pat_gender'];\n this.pat_email = _data['pat_email'];\n this.api_booking_id = _data['api_booking_id'];\n this.call_url = _data['call_url'];\n this.pat_nameAr = _data['pat_nameAr'];\n this.dr_codeText = _data['dr_codeText'];\n }\n }\n\n static fromJS(data: any): CreateAppointment {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAppointment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['FormId'] = this.formId;\n data['BotId'] = this.botId;\n data['CustomerId'] = this.customerId;\n data['WABA'] = this.wABA;\n data['ContactName'] = this.contactName;\n data['ContactMobile'] = this.contactMobile;\n data['SessionId'] = this.sessionId;\n data['SessionKey'] = this.sessionKey;\n data['FormSessionId'] = this.formSessionId;\n data['FormLastQuestionId'] = this.formLastQuestionId;\n data['SessionLanguage'] = this.sessionLanguage;\n data['Submitted'] = this.submitted;\n data['identity_no'] = this.identity_no;\n data['pat_age'] = this.pat_age;\n data['nameAr_pat'] = this.nameAr_pat;\n data['mobile_no'] = this.mobile_no;\n data['branch'] = this.branch;\n data['branchText'] = this.branchText;\n data['spec_code'] = this.spec_code;\n data['codeText_spec'] = this.codeText_spec;\n data['dr_code'] = this.dr_code;\n data['codeText_dr'] = this.codeText_dr;\n data['app_id'] = this.app_id;\n data['app_idText'] = this.app_idText;\n data['slot_id'] = this.slot_id;\n data['slot_idText'] = this.slot_idText;\n data['pat_code'] = this.pat_code;\n data['pat_nameEn'] = this.pat_nameEn;\n data['pat_gender'] = this.pat_gender;\n data['pat_email'] = this.pat_email;\n data['api_booking_id'] = this.api_booking_id;\n data['call_url'] = this.call_url;\n data['pat_nameAr'] = this.pat_nameAr;\n data['dr_codeText'] = this.dr_codeText;\n return data;\n }\n}\n\nexport interface ICreateAppointment {\n formId?: string | undefined;\n botId?: string | undefined;\n customerId?: string | undefined;\n wABA?: string | undefined;\n contactName?: string | undefined;\n contactMobile?: string | undefined;\n sessionId?: string | undefined;\n sessionKey?: string | undefined;\n formSessionId?: string | undefined;\n formLastQuestionId?: string | undefined;\n sessionLanguage?: string | undefined;\n submitted?: string | undefined;\n identity_no?: string | undefined;\n pat_age?: string | undefined;\n nameAr_pat?: string | undefined;\n mobile_no?: string | undefined;\n branch?: string | undefined;\n branchText?: string | undefined;\n spec_code?: string | undefined;\n codeText_spec?: string | undefined;\n dr_code?: string | undefined;\n codeText_dr?: string | undefined;\n app_id?: string | undefined;\n app_idText?: string | undefined;\n slot_id?: string | undefined;\n slot_idText?: string | undefined;\n pat_code?: string | undefined;\n pat_nameEn?: string | undefined;\n pat_gender?: string | undefined;\n pat_email?: string | undefined;\n api_booking_id?: string | undefined;\n call_url?: string | undefined;\n pat_nameAr?: string | undefined;\n dr_codeText?: string | undefined;\n}\n\nexport class Appointment implements IAppointment {\n appoStartDate!: Date;\n appoEndDate!: Date;\n patientCode?: string | undefined;\n patientName?: string | undefined;\n idNumber!: string;\n patientMobile?: string | undefined;\n patientAge?: number | undefined;\n doctor_MOH_No!: string;\n appoNotes?: string | undefined;\n status?: number | undefined;\n isActive?: boolean | undefined;\n confirmStatus?: number | undefined;\n waitingOrder?: number | undefined;\n overBooking?: boolean | undefined;\n isWaiting?: boolean | undefined;\n patientType?: number | undefined;\n patientGender?: string | undefined;\n obAppoId?: number | undefined;\n\n constructor(data?: IAppointment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appoStartDate = _data['AppoStartDate']\n ? new Date(_data['AppoStartDate'].toString())\n : undefined;\n this.appoEndDate = _data['AppoEndDate']\n ? new Date(_data['AppoEndDate'].toString())\n : undefined;\n this.patientCode = _data['PatientCode'];\n this.patientName = _data['PatientName'];\n this.idNumber = _data['IdNumber'];\n this.patientMobile = _data['PatientMobile'];\n this.patientAge = _data['PatientAge'];\n this.doctor_MOH_No = _data['Doctor_MOH_No'];\n this.appoNotes = _data['AppoNotes'];\n this.status = _data['Status'];\n this.isActive = _data['IsActive'];\n this.confirmStatus = _data['ConfirmStatus'];\n this.waitingOrder = _data['WaitingOrder'];\n this.overBooking = _data['OverBooking'];\n this.isWaiting = _data['IsWaiting'];\n this.patientType = _data['PatientType'];\n this.patientGender = _data['PatientGender'];\n this.obAppoId = _data['ObAppoId'];\n }\n }\n\n static fromJS(data: any): Appointment {\n data = typeof data === 'object' ? data : {};\n let result = new Appointment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data['AppoStartDate'] = this.appoStartDate\n ? this.appoStartDate.toISOString()\n : undefined;\n data['AppoEndDate'] = this.appoEndDate\n ? this.appoEndDate.toISOString()\n : undefined;\n data['PatientCode'] = this.patientCode;\n data['PatientName'] = this.patientName;\n data['IdNumber'] = this.idNumber;\n data['PatientMobile'] = this.patientMobile;\n data['PatientAge'] = this.patientAge;\n data['Doctor_MOH_No'] = this.doctor_MOH_No;\n data['AppoNotes'] = this.appoNotes;\n data['Status'] = this.status;\n data['IsActive'] = this.isActive;\n data['ConfirmStatus'] = this.confirmStatus;\n data['WaitingOrder'] = this.waitingOrder;\n data['OverBooking'] = this.overBooking;\n data['IsWaiting'] = this.isWaiting;\n data['PatientType'] = this.patientType;\n data['PatientGender'] = this.patientGender;\n data['ObAppoId'] = this.obAppoId;\n return data;\n }\n}\n\nexport interface IAppointment {\n appoStartDate: Date;\n appoEndDate: Date;\n patientCode?: string | undefined;\n patientName?: string | undefined;\n idNumber: string;\n patientMobile?: string | undefined;\n patientAge?: number | undefined;\n doctor_MOH_No: string;\n appoNotes?: string | undefined;\n status?: number | undefined;\n isActive?: boolean | undefined;\n confirmStatus?: number | undefined;\n waitingOrder?: number | undefined;\n overBooking?: boolean | undefined;\n isWaiting?: boolean | undefined;\n patientType?: number | undefined;\n patientGender?: string | undefined;\n obAppoId?: number | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any };\n result: any;\n\n constructor(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result: any\n ) {\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 isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result?: any\n): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(\n new ApiException(message, status, response, headers, null)\n );\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next('');\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = (event) => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}\n","//----------------------\n// \n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport {\n mergeMap as _observableMergeMap,\n catchError as _observableCatch,\n} from 'rxjs/operators';\nimport {\n Observable,\n throwError as _observableThrow,\n of as _observableOf,\n} from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { API_BASE_URL } from './accountService.service';\nimport {\n HttpClient,\n HttpHeaders,\n HttpResponse,\n HttpResponseBase,\n} from '@angular/common/http';\n\n\n\n@Injectable()\nexport class ClinicClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined =\n undefined;\n\n constructor(\n @Inject(HttpClient) http: HttpClient,\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\n ) {\n this.http = http;\n this.baseUrl =\n baseUrl !== undefined && baseUrl !== null\n ? baseUrl\n : 'http://localhost:3958';\n }\n\n /**\n * @return OK\n */\n clinic_GetClinics(data: any): Observable {\n let url_ = this.baseUrl + '/api/Clinic/GetClinics';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n CheckExpireSession: 'CheckExpireSession',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processClinic_GetClinics(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClinic_GetClinics(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processClinic_GetClinics(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return OK\n */\n clinic_GetAllClinicsByCenter(data: any): Observable {\n let url_ = this.baseUrl + '/api/Clinic/GetAllClinicsByCenter';\n url_ = url_.replace(/[?&]$/, '');\n\n const content_ = JSON.stringify(data);\n\n let options_: any = {\n body: content_,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processClinic_GetAllClinicsByCenter(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClinic_GetAllClinicsByCenter(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n protected processClinic_GetAllClinicsByCenter(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any };\n result: any;\n\n constructor(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result: any\n ) {\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 isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result?: any\n): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(\n new ApiException(message, status, response, headers, null)\n );\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next('');\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = (event) => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}\n","import { Injectable } from '@angular/core';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoaderService {\n private loading: boolean = false;\n\n constructor() {}\n\n setLoading(loading: boolean) {\n this.loading = loading;\n }\n getLoading(): boolean {\n return this.loading;\n }\n}\n\n","\n;\n//----------------------\n// \n// Generated using the NSwag toolchain v13.20.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\nimport {\n mergeMap as _observableMergeMap,\n catchError as _observableCatch,\n catchError,\n} from 'rxjs/operators';\nimport {\n Observable,\n throwError as _observableThrow,\n of as _observableOf,\n} from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport {\n HttpBackend,\n HttpClient,\n HttpHeaders,\n HttpResponse,\n HttpResponseBase,\n} from '@angular/common/http';\n\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\n@Injectable()\nexport class PaymobServiceService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined =\n undefined;\n\n constructor(\n httpBackend: HttpBackend,\n @Inject(HttpClient) http: HttpClient,\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\n ) {\n this.http = http;\n this.http = new HttpClient(httpBackend);\n this.baseUrl =\n baseUrl !== undefined && baseUrl !== null\n ? baseUrl\n : 'http://localhost:3958';\n }\n\n getAuthKeyFromSmsSevice(): Observable {\n let url_ = 'https://accept.paymobsolutions.com/api/auth/tokens';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: any = {\n body: {\n api_key:\n 'ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnVZVzFsSWpvaWFXNXBkR2xoYkNJc0luQnliMlpwYkdWZmNHc2lPall3TnpVeU15d2lZMnhoYzNNaU9pSk5aWEpqYUdGdWRDSjkubWlxN0hhRzU2bFljSHVBWUtMRDNSdUpjRWl0NGdIT3MwcGRVcjhCSW1VaXhOekRUMG56X0RvRU82UXo4RmNBRm5kQ0Joc19Ld0xqeE1NbDNuS3RNX1E=',\n },\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processPayment(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPayment(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n Order_Regestiration(_content: any): Observable {\n let url_ = 'https://accept.paymobsolutions.com/api/ecommerce/orders';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: any = {\n body: _content,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processPayment(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPayment(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n Card_Payment_Key(_content: any): Observable {\n let url_ =\n 'https://accept.paymobsolutions.com/api/acceptance/payment_keys';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: any = {\n body: _content,\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n };\n\n return this.http\n .request('post', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processPayment(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPayment(response_ as any);\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n\n account_SendCodeViaEmailSM(email: string): Observable {\n let url_ = this.baseUrl + '/api/Account/SendCodeViaEmailSM?';\n if (email === undefined || email === null)\n throw new Error(\n \"The parameter 'email' must be defined and cannot be null.\"\n );\n else url_ += 'Email=' + encodeURIComponent('' + email) + '&';\n url_ = url_.replace(/[?&]$/, '');\n\n let options_: any = {\n observe: 'response',\n responseType: 'blob',\n headers: new HttpHeaders({\n Accept: 'application/json',\n CheckExpireSession: 'CheckExpireSession',\n }),\n };\n\n return this.http\n .request('get', url_, options_)\n .pipe(\n _observableMergeMap((response_: any) => {\n return this.processAccount_SendCodeViaEmailSM(response_);\n })\n )\n .pipe(\n _observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAccount_SendCodeViaEmailSM(\n response_ as any\n );\n } catch (e) {\n return _observableThrow(\n e\n ) as any as Observable;\n }\n } else\n return _observableThrow(\n response_\n ) as any as Observable;\n })\n );\n }\n protected processAccount_SendCodeViaEmailSM(\n response: HttpResponseBase\n ): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n protected processPayment(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse\n ? response.body\n : (response as any).error instanceof Blob\n ? (response as any).error\n : undefined;\n\n let _headers: any = {};\n if (response.headers) {\n for (let key of response.headers.keys()) {\n _headers[key] = response.headers.get(key);\n }\n }\n if (status === 200 || status === 201) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 =\n _responseText === ''\n ? null\n : JSON.parse(_responseText, this.jsonParseReviver);\n result200 =\n resultData200 !== undefined ? resultData200 : null;\n\n return _observableOf(result200);\n })\n );\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(\n _observableMergeMap((_responseText: string) => {\n return throwException(\n 'An unexpected server error occurred.',\n status,\n _responseText,\n _headers\n );\n })\n );\n }\n return _observableOf(null as any);\n }\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any };\n result: any;\n\n constructor(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result: any\n ) {\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 isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(\n message: string,\n status: number,\n response: string,\n headers: { [key: string]: any },\n result?: any\n): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(\n new ApiException(message, status, response, headers, null)\n );\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next('');\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = (event) => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { ComingSoonComponent } from './components/pages/coming-soon/coming-soon.component';\nimport { ContactComponent } from './components/pages/contact/contact.component';\nimport { ErrorComponent } from './components/pages/error/error.component';\nimport { HomeOneComponent } from './components/pages/home-one/home-one.component';\nimport { PrivacyPolicyComponent } from './components/pages/privacy-policy/privacy-policy.component';\nimport { ServicesComponent } from './components/pages/services/services.component';\nimport { SignInComponent } from './components/pages/sign-in/sign-in.component';\nimport { SignUpComponent } from './components/pages/sign-up/sign-up.component';\nimport { ClinicsComponent } from './components/pages/clinics/clinics.component';\nimport { AppointmentsComponent } from './components/pages/_Appointments/appointments/appointments.component';\nimport { ProfileComponent } from './components/pages/profile/profile.component';\nimport { VisitDetailsComponent } from './components/pages/_Appointments/visit-details/visit-details.component';\nimport { PackagesComponent } from './components/pages/packages/packages.component';\nimport { VacationsComponent } from './components/pages/vacations/vacations.component';\nimport { VaccinationsComponent } from './components/pages/vaccinations/vaccinations.component';\n\nconst routes: Routes = [\n { path: '', component: HomeOneComponent },\n { path: 'home-one', component: HomeOneComponent },\n { path: 'sign-in', component: SignInComponent },\n { path: 'sign-up', component: SignUpComponent },\n { path: 'privacy-policy', component: PrivacyPolicyComponent },\n { path: 'coming-soon', component: ComingSoonComponent },\n { path: 'error', component: ErrorComponent },\n { path: 'services', component: ServicesComponent },\n { path: 'contact', component: ContactComponent },\n { path: 'privacy-policy', component: PrivacyPolicyComponent },\n { path: 'coming-soon', component: ComingSoonComponent },\n { path: 'error', component: ErrorComponent },\n { path: 'services', component: ServicesComponent },\n { path: 'contact', component: ContactComponent },\n { path: 'clinics', component: ClinicsComponent },\n { path: 'profile', component: ProfileComponent },\n {path: 'appointments', component: AppointmentsComponent},\n {path: 'visit_details', component: VisitDetailsComponent},\n {path: 'packages', component: PackagesComponent},\n {path: 'vacations', component: VacationsComponent},\n {path: 'vaccinations', component: VaccinationsComponent},\n\n\n\n\n { path: '**', component: ErrorComponent },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { Router, NavigationStart, NavigationCancel, NavigationEnd } from '@angular/router';\nimport { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';\nimport { filter } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LocalStorageEnums } from './Enums/LocalStorageEnums.enum';\ndeclare let $: any;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n providers: [\n Location,\n {\n provide: LocationStrategy,\n useClass: PathLocationStrategy,\n },\n ],\n})\nexport class AppComponent implements OnInit {\n location: any;\n routerSubscription: any;\n language!: string;\n locale!: string;\n constructor(private translate: TranslateService, private router: Router) {\n translate.addLangs(['en', 'ar']);\n this.language =\n localStorage.getItem(LocalStorageEnums.NitcotekTalebcomLanguage) ?? '';\n if (this.language == '') this.language = 'ar';\n translate.setDefaultLang(this.language);\n translate.use(this.language);\n document.dir = this.language == 'ar' ? 'rtl' : 'ltr';\n }\n ngOnInit() {\n this.recallJsFuntions();\n }\n recallJsFuntions() {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationStart) {\n $('.preloader').fadeIn('slow');\n }\n });\n this.routerSubscription = this.router.events\n .pipe(\n filter(\n (event) =>\n event instanceof NavigationEnd ||\n event instanceof NavigationCancel\n )\n )\n .subscribe((event) => {\n $.getScript('../assets/js/custom.js');\n $('.preloader').fadeOut('slow');\n this.location = this.router.url;\n if (!(event instanceof NavigationEnd)) {\n return;\n }\n window.scrollTo(0, 0);\n });\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { AccountClient} from './Services/accountService.service'\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { HomeOneComponent } from './components/pages/home-one/home-one.component';\nimport { PreloaderComponent } from './components/common/preloader/preloader.component';\nimport { NavbarComponent } from './components/common/navbar/navbar.component';\nimport { FooterComponent } from './components/common/footer/footer.component';\nimport { SignInComponent } from './components/pages/sign-in/sign-in.component';\nimport { SignUpComponent } from './components/pages/sign-up/sign-up.component';\nimport { PrivacyPolicyComponent } from './components/pages/privacy-policy/privacy-policy.component';\nimport { ComingSoonComponent } from './components/pages/coming-soon/coming-soon.component';\nimport { ErrorComponent } from './components/pages/error/error.component';\nimport { ServicesComponent } from './components/pages/services/services.component';\nimport { ContactComponent } from './components/pages/contact/contact.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { API_BASE_URL } from './Services/accountService.service';\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\nimport { ErrorInterceptor } from './Services/ErrorInterceptor.service';\nimport { IHttpInterceptorService } from './Services/IHttpInterceptorService.service';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { SessionTimeoutComponent } from './components/pages/session-timeout/session-timeout/session-timeout.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ClinicsComponent } from './components/pages/clinics/clinics.component';\nimport { ArchwizardModule,NavigationMode } from 'angular-archwizard';\nimport { ClinicClient } from './Services/clinic.service';\nimport { WaClient } from './Services/Wa.service';\nimport { AppintmentAPIClient } from './Services/appointment.service';\nimport { ProfileComponent } from './components/pages/profile/profile.component';\nimport { AppointmentsComponent } from './components/pages/_Appointments/appointments/appointments.component';\nimport { VisitDetailsComponent } from './components/pages/_Appointments/visit-details/visit-details.component';\nimport { VisitClient } from './Services/Visit.service';\nimport { PackagesComponent } from './components/pages/packages/packages.component';\nimport { VacationsComponent } from './components/pages/vacations/vacations.component';\nimport { VaccinationsComponent } from './components/pages/vaccinations/vaccinations.component';\nimport { OfferAndPackagesClient } from './Services/OfferAndPackages.service';\nimport { SMSService } from './Services/SMSService';\nimport { BranchesComponent } from './components/pages/branches/branches.component';\nimport { PaymobServiceService } from './Services/paymobService.service';\n\nexport function rootLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http, 'assets/i18n/', '.json');\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeOneComponent,\n PreloaderComponent,\n NavbarComponent,\n FooterComponent,\n SignInComponent,\n SignUpComponent,\n PrivacyPolicyComponent,\n ComingSoonComponent,\n ErrorComponent,\n ServicesComponent,\n ContactComponent,\n SessionTimeoutComponent,\n ClinicsComponent,\n ProfileComponent,\n AppointmentsComponent,\n VisitDetailsComponent,\n PackagesComponent,\n VacationsComponent,\n VaccinationsComponent,\n BranchesComponent,\n ],\n imports: [\n ArchwizardModule,\n BrowserModule,\n HttpClientModule,\n AppRoutingModule,\n BrowserModule,\n AppRoutingModule,\n BrowserModule,\n AppRoutingModule,\n NgSelectModule,\n FormsModule,\n CommonModule,\n ReactiveFormsModule,\n RouterModule.forRoot([]),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: rootLoaderFactory,\n deps: [HttpClient],\n },\n }),\n BrowserAnimationsModule,\n ],\n providers: [\n HttpClient,\n AccountClient,\n ClinicClient,\n WaClient,\n AppintmentAPIClient,\n VisitClient,\n OfferAndPackagesClient,\n SMSService,\n PaymobServiceService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: IHttpInterceptorService,\n multi: true,\n },\n {\n provide: API_BASE_URL,\n useValue: 'http://nitcoapi.british-hospital.com',\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorInterceptor,\n multi: true,\n },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","export class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n","\n\n\n
\n
\n

جميع الحقوق محفوظة لدى\n الشركة الوطنية لتقنية المعلومات\n © 2023\n

\n
\n
\n\n\n\n
\n \n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n
\n
\n
\n
\n
\n \"logo\"\n\n
\n \n \n \n \n {{ translate.instant(\"login\") }}\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n\n \n {{ translate.instant(\"login\") }}\n \n\n \n\n
\n \n
\n
\n \n
\n\n","import { Component, OnInit, Optional, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { getPatient, sessionIsExpired } from '../../../Functions/Utilities';\nimport { Router } from '@angular/router';\nimport { API_BASE_URL, AccountClient } from 'src/app/Services/accountService.service';\nimport { LocalStorageEnums } from '../../../Enums/LocalStorageEnums.enum';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n})\nexport class NavbarComponent implements OnInit {\n private baseUrl: string;\n lang!: string;\n\n constructor(\n public translate: TranslateService,\n private route: Router,\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\n ) {\n this.baseUrl = baseUrl;;\n this.lang=localStorage.getItem('NitcotekTalebcomLanguage')??'ar';\n\n }\n ngOnInit(): void {}\n changeLanguage() {\n // this.language = localStorage.getItem('NitcotekTalebcomLanguage');\n this.lang = this.lang == 'ar' ? 'en' : 'ar';\n localStorage.setItem(LocalStorageEnums.NitcotekTalebcomLanguage, this.lang);\n this.translate.use(this.lang);\n location.reload();\n }\n sessionIsExpired() {\n return sessionIsExpired();\n }\n getPatientName() {\n return getPatient()?.User_Name;\n }\n getPatientIMG() {\n return this.baseUrl + '/PatientImages/' + getPatient()?.IMG;\n }\n signout() {\n localStorage.clear();\n this.route.navigate(['home-one']);\n }\n}\n","
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-preloader',\n templateUrl: './preloader.component.html',\n styleUrls: ['./preloader.component.scss']\n})\nexport class PreloaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n
    \n
  • \n {{ translate.instant(\"PrevApps\") }}\n
  • \n
  • \n {{ translate.instant(\"UpcomingApps\") }}\n
  • \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n

\n {{\n appointment?.Visit_Date\n }}\n

\n
\n
\n

\n {{\n translate.instant(\n \"clinic\"\n )\n }}:\n {{\n appointment?.Clinic_Name\n }}\n

\n

\n {{\n translate.instant(\n \"doctor\"\n )\n }}:\n {{\n appointment?.Doctor_Name\n }}\n

\n

\n {{\n translate.instant(\n \"branch\"\n )\n }}:\n {{\n appointment?.Branch_Name\n }}\n

\n
\n
\n \n {{\n translate.instant(\n \"VisitDetails\"\n )\n }}\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\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 getAppo_StartDate(\n appointment\n )\n }}\n

\n
\n

\n {{\n getAppo_Time(\n appointment\n )\n }}\n

\n
\n
\n

\n {{\n translate.instant(\n \"clinic\"\n )\n }}:\n {{\n getClinicDept_Name(\n appointment\n )\n }}\n

\n

\n {{\n translate.instant(\n \"doctor\"\n )\n }}:\n {{\n getDoctor_Name(\n appointment\n )\n }}\n

\n

\n {{\n translate.instant(\n \"branch\"\n )\n }}:\n {{\n getBranch_Name(\n appointment\n )\n }}\n

\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { AppintmentAPIClient } from 'src/app/Services/appointment.service';\nimport swal from 'sweetalert';\nimport { getPatient } from 'src/app/Functions/Utilities';\nimport { VisitClient } from '../../../../Services/Visit.service';\nimport { Appointment } from '../../../../Services/appointment.service';\n\n@Component({\n selector: 'app-appointments',\n templateUrl: './appointments.component.html',\n styleUrls: ['./appointments.component.scss'],\n})\nexport class AppointmentsComponent implements OnInit {\n nextPatientVisits: any[] = [];\n previousPatientVisits: any[] = [];\n\n constructor(\n public translate: TranslateService,\n private route: Router,\n private appintmentAPIClient: AppintmentAPIClient,\n private visitClient: VisitClient\n ) {\n this.getPatientPreviousAppointment();\n }\n goToVisitDetails(Appointment) {\n const navigationExtras: NavigationExtras = {\n state: { Appointment: Appointment },\n };\n this.route.navigate(['visit_details'], navigationExtras);\n }\n ngOnInit(): void {}\n getPatientPreviousAppointment() {\n const appParam = {\n Patient_Code: getPatient()?.Patient_Code,\n };\n this.visitClient\n .visit_GetPatientVisits(appParam)\n .subscribe((response: any) => {\n this.previousPatientVisits = response.PatientVisits;\n });\n }\n getPatientNextAppointment() {\n let DateNow = new Date();\n DateNow.setMonth(new Date().getMonth() + 1);\n const appParam = {\n Patient_Code: getPatient()?.Patient_Code,\n FromDate: new Date().toISOString().split('T')[0],\n ToDate: DateNow.toISOString().split('T')[0],\n };\n this.appintmentAPIClient\n .appintmentAPI_GetPatientAppointmentbydate(appParam)\n .subscribe((response: any) => {\n this.nextPatientVisits = response.PatientVisits;\n });\n }\n getAppo_StartDate(appointment) {\n return appointment.Appo_Start?.split('T')[0];\n }\n getAppo_Time(appointment) {\n const Appo_StartDate = appointment.Appo_Start;\n const Appo_StartDateSubstrings = Appo_StartDate?.split('T');\n const start_Time = Appo_StartDateSubstrings[1].trim();\n const Appo_EndDate = appointment.Appo_End;\n const Appo_EndDateSubstrings = Appo_EndDate.split('T');\n const End_Time = Appo_EndDateSubstrings[1].trim();\n return start_Time + ' - ' + End_Time;\n }\n getClinicDept_Name(appointment) {\n return this.translate.currentLang == 'en'\n ? appointment?.ClinicDept_Name_En ?? ''\n : appointment?.ClinicDept_Name_Ar ?? '';\n }\n getDoctor_Name(appointment) {\n return this.translate.currentLang == 'en'\n ? appointment?.DoctorNameEn ?? ''\n : appointment?.DoctorNameAr ?? '';\n }\n getBranch_Name(appointment) {\n return this.translate.currentLang == 'en'\n ? appointment?.Branch_Name ?? ''\n : appointment?.Branch_Name_Ar ?? '';\n }\n cancelAppointment(appointment: any) {\n const Canceledapp = {\n Appo_ID: appointment.Appo_ID,\n };\n this.appintmentAPIClient\n .appintmentAPI_CancelAppointment(Canceledapp)\n .subscribe((response: any) => {\n if (response.Success) {\n swal({\n title: this.translate.instant('CancelAppSuccessfully'),\n icon: 'success',\n timer: 2000,\n buttons: {},\n }).then(\n () => {\n this.nextPatientVisits =\n this.nextPatientVisits.filter(\n (app) => app.Appo_ID != appointment.Appo_ID\n );\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n }\n });\n }\n}\n","
\n
\n
\n
\n
\n

\n {{ translate.instant(\"VisitDetails\") }}\n

\n
\n
\n
\n
\n
\n
\n
\n

\n {{ translate.instant(\"clinic\") }}:\n {{ appointment?.Clinic_Name }}\n

\n

\n {{ translate.instant(\"doctor\") }}:\n {{ appointment?.Doctor_Name }}\n

\n

\n {{ translate.instant(\"branch\") }}:\n {{ appointment?.Branch_Name }}\n

\n

\n {{ translate.instant(\"Appdate\") }}:\n {{ appointment?.Visit_Date }}\n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n {{ translate.instant(\"Medicines\") }}\n
\n \n \n
\n \n 0\"\n >\n \n \n \n \n
\n {{\n getMedicineName(\n medicine\n )\n }}\n
\n \n {{\n medicine?.Prescription\n }}\n

\n \n \n \n \n
\n \n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n {{ translate.instant(\"X-ray\") }}\n
\n \n \n
\n \n
\n
\n {{ translate.instant(\"XrayName\") }}:\n {{ getServiceName() }}\n
\n
\n {{translate.instant(\"result\") }}\n \n
\n \n \n\n
\n
\n
\n
\n
\n
\n
\n \n
\n {{ translate.instant(\"Analysis\") }}\n
\n \n \n
\n \n 0\"\n >\n \n \n \n {{\n translate.instant(\n \"name\"\n )\n }}\n \n \n {{\n translate.instant(\n \"result\"\n )\n }}\n \n \n {{\n translate.instant(\n \"min_result\"\n )\n }}\n \n \n {{\n translate.instant(\n \"max_result\"\n )\n }}\n \n \n \n \n \n \n {{\n VisitAnalysis?.Lab_TestName\n }}\n

\n \n \n \n {{\n VisitAnalysis?.Lab_TestResult1\n }}\n

\n \n \n \n {{\n VisitAnalysis?.Lab_TestMinRange\n }}\n

\n \n \n \n {{\n VisitAnalysis?.Lab_TestMaxRange\n }}\n

\n \n \n \n \n
\n \n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n {{ translate.instant(\"DoctorReport\") }}\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n {{\n translate.instant(\n \"DoctorPrescription\"\n )\n }}\n
\n \n \n
\n
\n
\n
\n
\n
\n \n\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\nimport { VisitClient } from 'src/app/Services/Visit.service';\nimport { getPatient } from 'src/app/Functions/Utilities';\nimport swal from 'sweetalert';\n// declare var $: any;\n\n@Component({\n selector: 'app-visit-details',\n templateUrl: './visit-details.component.html',\n styleUrls: ['./visit-details.component.scss'],\n})\nexport class VisitDetailsComponent implements OnInit {\n appointment: any;\n medicineList: any[] = [];\n VisitAnalysisList: any[] = [];\n visitRay: any;\n DoctorPrescription_Url!: any;\n\n constructor(\n public translate: TranslateService,\n private route: Router,\n private visitClient: VisitClient\n ) {}\n ngOnInit(): void {\n this.appointment = history.state['Appointment'];\n\n if (!this.appointment) {\n swal({\n title: this.translate.instant('signInFirst'),\n text: this.translate.instant('GotoMainPage'),\n icon: 'error',\n timer: 1000,\n buttons: {},\n }).then(\n () => {\n this.route.navigate(['home-one']);\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n }\n }\n convertDate(Visit_Date: any) {\n const Visit_Date_Split = Visit_Date.split('/');\n const day = Visit_Date_Split[0];\n const month = Visit_Date_Split[1];\n const year = Visit_Date_Split[2];\n return month + '-' + day + '-' + year;\n }\n GetVisitRays() {\n const appParam = {\n Patient_Code: getPatient()?.Patient_Code,\n Doctor_Code: this.appointment?.DoctorCode,\n Visit_Date: this.convertDate(this.appointment?.Visit_Date),\n };\n this.visitClient\n .visit_GetVisitRays(appParam)\n .subscribe((response: any) => {\n this.visitRay = response.VisitRays[0];\n });\n }\n\n getServiceName() {\n return this.translate.currentLang == 'en'\n ? this.visitRay?.ServiceNameEn ?? ''\n : this.visitRay?.ServiceNameAr ?? '';\n }\n GetVisitMedicine() {\n const appParam = {\n Patient_Code: getPatient()?.Patient_Code,\n Doctor_Code: this.appointment?.DoctorCode,\n Visit_Date: this.convertDate(this.appointment?.Visit_Date),\n };\n if (this.medicineList.length == 0) {\n this.visitClient\n .visit_GetVisitMedicine(appParam)\n .subscribe((response: any) => {\n this.medicineList = response.VisitMedicine;\n });\n }\n }\n GetVisitAnalysis() {\n if (this.VisitAnalysisList.length == 0) {\n const appParam = {\n Patient_Code: getPatient()?.Patient_Code,\n Doctor_Code: this.appointment?.DoctorCode,\n Visit_Date: this.convertDate(this.appointment?.Visit_Date),\n };\n this.visitClient\n .visit_GetVisitAnalysis(appParam)\n .subscribe((response: any) => {\n this.VisitAnalysisList = response.VisitAnalysis;\n });\n }\n }\n visit_DoctorPrescription() {\n const appParam = {\n Patient_Code: getPatient()?.Patient_Code,\n FromDate: this.convertDate(this.appointment?.Visit_Date),\n ToDate: this.convertDate(this.appointment?.Visit_Date),\n IsReturnJson: '0',\n Diag_HD_Code: this.appointment.Diag_HD_Code,\n };\n this.visitClient\n .visit_DoctorPrescription(appParam)\n .subscribe((response: any) => {\n window.open(response._Url, '_blank');\n });\n }\n visit_GetPatientVisits() {\n const appParam = {\n PatientCode: getPatient()?.Patient_Code,\n EntryDate: this.convertDate(this.appointment?.Visit_Date),\n DoctorCode: this.appointment.DoctorCode,\n IslangArabic: this.translate.currentLang == 'en' ? 0 : 1,\n };\n this.visitClient\n .visit_Report_PatientVisit(appParam)\n .subscribe((response: any) => {\n if (response._Url != '') window.open(response._Url, '_blank');\n else\n swal({\n title: this.translate.instant('NoData'),\n icon: 'error',\n timer: 2000,\n buttons: {},\n });\n });\n }\n getMedicineName(Medicine) {\n return this.translate.currentLang == 'en'\n ? Medicine?.ItemNameEn ?? ''\n : Medicine?.ItemNameAr ?? '';\n }\n}\n","
\n
\n
\n
{{ translate.instant(\"searchBranch\") }}
\n \n ×\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
\n
{{ getBranchName(Branch!) }}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n
\n
\n\n","import { Component, OnInit , NgModule, Input, ViewEncapsulation} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LocalStorageEnums } from 'src/app/Enums/LocalStorageEnums.enum';\nimport { AccountClient } from 'src/app/Services/accountService.service';\nimport { saveBranchId } from '../../../Functions/Utilities';\ndeclare var $: any;\n\n@Component({\n selector: 'app-branches',\n templateUrl: './branches.component.html',\n styleUrls: ['./branches.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class BranchesComponent implements OnInit {\n rtlEnabled: boolean;\n language: any;\n searchControl: any = { branch: '' };\n branchsFilter: any[] = [];\n BranchSelected: any = {\n Branch_ID: '',\n };\n Branchs: any[] = [];\n constructor(\n public translate: TranslateService,\n accountClient: AccountClient\n ) {\n accountClient.account_GetBranchs({}).subscribe((response) => {\n this.Branchs = response.Branchs;\n this.branchsFilter = response.Branchs;\n });\n translate.addLangs(['en', 'ar']);\n this.language =\n localStorage.getItem(LocalStorageEnums.NitcotekTalebcomLanguage) ??\n '';\n if (this.language == '') this.language = 'ar';\n translate.setDefaultLang(this.language);\n translate.use(this.language);\n document.dir = this.language == 'ar' ? 'rtl' : 'ltr';\n if (document.dir == 'rtl') {\n this.rtlEnabled = true;\n } else {\n this.rtlEnabled = false;\n }\n }\n selectBranch(Branch: any) {\n this.BranchSelected.Branch_ID = Branch.Branch_ID;\n saveBranchId(Branch.Branch_ID);\n $('#BranchModel').modal('hide');\n location.href = '/home-one';\n }\n getBranchName(branch: any) {\n return this.translate.currentLang == 'en'\n ? branch?.Branch_Name ?? ''\n : branch?.branch_name_ar ?? '';\n }\n search() {\n this.branchsFilter = this.Branchs.filter((branch) => {\n if (this.translate.currentLang == 'en')\n return branch.Branch_Name.toLowerCase().includes(\n this.searchControl.branch?.trim().toLowerCase()\n );\n else\n return branch.branch_name_ar\n .toLowerCase()\n .includes(this.searchControl.branch?.trim().toLowerCase());\n });\n }\n\n ngOnInit() {}\n}\n","
\n
\n
\n
\n \n \n \n \n \n \n\n
\n
\n

\n {{ translate.instant(\"clinics\") }}\n

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
{{ getClinicName(clinic) }}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n\n
\n
\n \n {{ translate.instant(\"Services\") }}\n \n \n\n \n
\n
\n \n \n \n \n \n\n
\n
\n

\n {{ translate.instant(\"Services\") }}\n

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n {{ getServiceName(service) }}\n
\n \n
\n
\n
\n

\n {{\n service.ServiceAmount\n }}\n

\n \n
\n
\n \n \n {{\n translate.instant(\n \"chooseService\"\n )\n }}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n\n\n
\n
\n \n \n {{ translate.instant(\"clinics\") }}\n \n \n {{ translate.instant(\"doctors\") }}\n \n \n \n
\n
\n \n \n \n \n \n\n
\n
\n

\n {{ translate.instant(\"doctors\") }}\n

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n {{ getDoctorName(doctor) }}\n
\n

\n {{\n getClinicDeptName(\n doctor\n )\n }}\n

\n
\n
\n
\n

\n {{ getSpecialization(doctor) }}\n

\n
\n \n \n {{\n doctor.Phone\n }}\n \n
\n
\n
\n \n \n {{\n translate.instant(\n \"chooseDoctor\"\n )\n }}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n\n\n
\n
\n \n \n {{ translate.instant(\"Services\") }}\n \n \n {{ translate.instant(\"Appointments\") }}\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n

\n {{ translate.instant(\"Appointments\") }}\n

\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n

\n {{ appointment.Appo_Period }}\n

\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n

\n {{ translate.instant(\"NoData\") }}\n

\n
\n
\n
\n
\n \n
\n
\n \n \n {{ translate.instant(\"doctors\") }}\n \n\n \n
\n
\n \n \n \n \n \n\n\n\n
\n
\n
\n
\n
\n

\n \n {{ translate.instant(\"clinic\") }}\n \n {{ getClinicName(selectedsteps.clinic) }}\n

\n
\n
\n

\n \n {{ translate.instant(\"doctor\") }}\n \n {{ getDoctorName(selectedsteps.doctor) }}\n

\n
\n
\n

\n \n {{ translate.instant(\"Appdate\") }}\n \n {{ selectedsteps.AppointmentDate }}\n

\n
\n
\n

\n \n {{ translate.instant(\"Appointement\") }}\n \n {{ selectedsteps.appointment.Appo_Period }}\n

\n
\n
\n
\n \n
\n
\n\n\n
\n
\n
\n
\n
\n

\n {{ translate.instant(\"loginFirst\") }}\n

\n
\n
\n
\n \n
\n
\n\n","import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { of } from 'rxjs/internal/observable/of';\nimport {\n ArchwizardModule,\n NavigationMode,\n WizardComponent,\n} from 'angular-archwizard';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ClinicClient } from '../../../Services/clinic.service';\nimport { WaClient } from 'src/app/Services/Wa.service';\nimport swal from 'sweetalert';\nimport {\n AppintmentAPIClient,\n Appointment,\n CreateAppointment,\n} from '../../../Services/appointment.service';\nimport { getPatient, sessionIsExpired } from 'src/app/Functions/Utilities';\nimport { Router } from '@angular/router';\nimport { AccountClient } from 'src/app/Services/accountService.service';\nimport { PaymobServiceService } from '../../../Services/paymobService.service';\nimport { AnimationFrameScheduler } from 'rxjs/internal/scheduler/AnimationFrameScheduler';\ndeclare var $: any;\n\n@Component({\n selector: 'app-clinics',\n encapsulation: ViewEncapsulation.None,\n templateUrl: './clinics.component.html',\n styleUrls: ['./clinics.component.scss'],\n})\nexport class ClinicsComponent implements OnInit {\n @ViewChild(WizardComponent)\n public wizard: WizardComponent;\n awWizardDirection: string;\n awWizardStepSymbol: '';\n clinicOrginallist: any[] = [];\n clinicFilterlist: any[] = [];\n doctorsOrginallist: any[] = [];\n doctorsFilterlist: any[] = [];\n serviceFilterlist: any[] = [];\n serviceOrginallist: any[] = [];\n appointmentList: any[] = [];\n searchControl: any = {\n clinic: '',\n doctor: '',\n service: '',\n };\n selectedsteps: any = {\n clinic: '',\n doctor: '',\n AppointmentDate: '',\n appointment: '',\n service: '',\n };\n constructor(\n public translate: TranslateService,\n private clinicClient: ClinicClient,\n private waClient: WaClient,\n private appintmentAPIClient: AppintmentAPIClient,\n private route: Router,\n private paymobServiceService: PaymobServiceService\n ) {\n this.getawWizardDirection();\n this.getClinics();\n }\n isValidDate(dateString) {\n const MinDate = new Date('1752-01-01');\n const regex = /^\\d{4}-\\d{2}-\\d{2}$/;\n return regex.test(dateString) && MinDate < new Date(dateString);\n }\n selectApp(appointment) {\n this.selectedsteps.appointment = appointment;\n $('#inserAppModel').modal('show');\n }\n\n searchAppointment() {\n if (this.isValidDate(this.selectedsteps.AppointmentDate)) {\n let appSearchParam = {\n StartDate: this.selectedsteps.AppointmentDate,\n DoctorCode: this.selectedsteps.doctor.DoctorCode,\n IS_TeleMed: false,\n PatientCode: '',\n Lang: '',\n };\n\n this.appintmentAPIClient\n .appintmentAPI_GetPatientAppointments(appSearchParam)\n .subscribe((response: any) => {\n this.appointmentList = [];\n if (response.DoctorAppointments.length > 0) {\n response.DoctorAppointments[0].DoctorAppointments.forEach(\n (appointment) => {\n var currentTime = new Date().getTime();\n var DateOfApoo =\n this.selectedsteps.AppointmentDate +\n ' ' +\n appointment.startTime;\n var AppTime = new Date(DateOfApoo).getTime();\n if (currentTime < AppTime)\n this.appointmentList.push(appointment);\n }\n );\n }\n });\n }\n }\n\n insertAppointment() {\n if (!sessionIsExpired()) {\n const appointment = {\n app_id: this.selectedsteps.AppointmentDate,\n slot_id: this.selectedsteps.appointment.Appo_Period.replaceAll(\n 'AM',\n ''\n ).replaceAll('PM', ''),\n pat_code: getPatient()?.Patient_Code,\n pat_nameAr: getPatient()?.Patient_Name_Ar,\n identity_no: getPatient()?.ID_Number,\n mobile_no: getPatient()?.Patient_Mobile,\n pat_age: getPatient()?.Patient_Age_Year,\n dr_code: this.selectedsteps.doctor.DoctorCode,\n CinicDept_Code: this.selectedsteps.clinic.Clinic_Code,\n };\n this.appintmentAPIClient\n .appintmentAPI_Reschedule(appointment)\n .subscribe((responseApp: any) => {\n if (responseApp.Success) {\n const BookingID = responseApp.BookingID;\n let slot =\n this.selectedsteps.appointment.Appo_Period.replaceAll(\n 'AM',\n ''\n ).replaceAll('PM', '');\n const slot_id = slot.toString().split('-');\n\n const getSeconds = (s) =>\n s\n .split(':')\n .reduce((acc, curr) => acc * 60 + +curr, 0);\n\n var seconds1 = getSeconds(slot_id[0]);\n var seconds2 = getSeconds(slot_id[1]);\n var res = Math.abs(seconds2 - seconds1);\n var seconds = res % 60;\n let Duration = seconds;\n const service = {\n Fk_Appo_ID: BookingID,\n ServiceCode: this.selectedsteps.service.ServiceCode,\n ServicePrice:\n this.selectedsteps.service.ServiceAmount,\n Duration: Duration ?? 30,\n Duration_Count: 1,\n };\n\n this.appintmentAPIClient\n .appintmentAPI_insert_AppointmentServices(service)\n .subscribe((responseCreateService: any) => {\n if (responseCreateService.Success) {\n this.searchAppointment();\n swal({\n title: this.translate.instant(\n 'inserAppSuccessfully'\n ),\n text:\n this.translate.currentLang == 'en'\n ? responseApp.MessageBodyEn\n : responseApp.MessageBodyAr,\n icon: 'success',\n timer: 4000,\n buttons: {},\n }).then(\n () => {\n $('#inserAppModel').modal('hide');\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n }\n });\n }\n });\n } else {\n $('#loginFirstModel').modal('show');\n $('#inserAppModel').modal('hide');\n }\n }\n goToSignin() {\n $('#inserAppModel').modal('hide');\n $('#loginFirstModel').modal('hide');\n this.route.navigate(['sign-in']);\n }\n previousDate() {\n if (this.selectedsteps.AppointmentDate != '') {\n var result = new Date(this.selectedsteps.AppointmentDate);\n result.setDate(result.getDate() - 1);\n this.selectedsteps.AppointmentDate = result\n .toISOString()\n .substr(0, 10);\n this.searchAppointment();\n }\n }\n NextDate() {\n if (this.selectedsteps.AppointmentDate != '') {\n var result = new Date(this.selectedsteps.AppointmentDate);\n result.setDate(result.getDate() + 1);\n this.selectedsteps.AppointmentDate = result\n .toISOString()\n .substr(0, 10);\n this.searchAppointment();\n }\n }\n\n sessionIsExpired() {\n return sessionIsExpired();\n }\n search() {\n this.clinicFilterlist = this.clinicOrginallist.filter((clinic) => {\n if (this.translate.currentLang == 'en')\n return clinic.CodeDescriptionEn.toLowerCase().includes(\n this.searchControl.clinic?.trim().toLowerCase()\n );\n else\n return clinic.CodeDescriptionAr.toLowerCase().includes(\n this.searchControl.clinic?.trim().toLowerCase()\n );\n });\n this.serviceFilterlist = this.serviceOrginallist.filter((service) => {\n if (this.translate.currentLang == 'en')\n return service.ServiceNameEn.toLowerCase().includes(\n this.searchControl.service?.trim().toLowerCase()\n );\n else\n return service.ServiceNameAr.toLowerCase().includes(\n this.searchControl.service?.trim().toLowerCase()\n );\n });\n\n this.doctorsFilterlist = this.doctorsOrginallist.filter((clinic) => {\n if (this.translate.currentLang == 'en')\n return clinic.DoctorNameEn.toLowerCase().includes(\n this.searchControl.doctor?.trim().toLowerCase()\n );\n else\n return clinic.DoctorNameAr.toLowerCase().includes(\n this.searchControl.doctor?.trim().toLowerCase()\n );\n });\n }\n getawWizardDirection() {\n if (document.dir == 'rtl') {\n this.awWizardDirection = 'rtl';\n } else {\n this.awWizardDirection = 'ltr';\n }\n }\n\n getClinics() {\n this.clinicClient.clinic_GetClinics({}).subscribe((response: any) => {\n this.clinicOrginallist = response.Clinics;\n this.clinicFilterlist = response.Clinics;\n });\n }\n\n getClinicName(clinic: any) {\n return this.translate.currentLang == 'en'\n ? clinic?.ClinicDept_Name_En ?? ''\n : clinic?.ClinicDept_Name_Ar ?? '';\n }\n\n getClinicDeptName(doctor: any) {\n return this.translate.currentLang == 'en'\n ? doctor?.ClinicDept_Name_En ?? ''\n : doctor?.ClinicDept_Name_Ar ?? '';\n }\n getSpecialization(doctor: any) {\n return this.translate.currentLang == 'en'\n ? doctor?.SpecializationEn ?? ''\n : doctor?.SpecializationAr ?? '';\n }\n\n selectClinic(clinic: any) {\n this.selectedsteps.clinic = clinic;\n }\n selectDoctor(doctor: any) {\n this.selectedsteps.doctor = doctor;\n }\n selectService(service: any) {\n this.selectedsteps.service = service;\n }\n\n getDoctorName(doctor: any) {\n return this.translate.currentLang == 'en'\n ? doctor?.DoctorNameEn ?? ''\n : doctor?.DoctorNameAr ?? '';\n }\n getServiceName(service: any) {\n return this.translate.currentLang == 'en'\n ? service?.ServiceNameEn ?? ''\n : service?.ServiceNameAr ?? '';\n }\n\n goToAppointementStep() {\n if (this.selectedsteps.doctor != '') {\n this.wizard.goToNextStep();\n } else {\n swal({\n title: this.translate.instant('gotoAooStepFail'),\n text: this.translate.instant('gotoAppStepFailReason'),\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n }\n }\n goToDoctorStep() {\n if (this.selectedsteps.service != '') {\n this.getLocation().then((resp) => {\n let doctorParam = {\n DoctorSpeciality: this.selectedsteps.clinic.CodeUnique,\n ClinicDept_Code: this.selectedsteps.clinic.Clinic_Code,\n Doctor_Code: null,\n // Long: resp.long,\n // Lat: resp.lat,\n // DistanceKilos: '1000',\n Long: 0,\n Lat: 0,\n DistanceKilos: null,\n CurrentPage: null,\n PageSize: null,\n UseLocation: null,\n };\n this.waClient\n .wa_GetDoctors(doctorParam)\n .subscribe((response: any) => {\n this.doctorsOrginallist = response.Doctors;\n this.doctorsFilterlist = response.Doctors;\n this.wizard.goToNextStep();\n });\n });\n } else {\n swal({\n title: this.translate.instant('gotodoctorStepFail'),\n text: this.translate.instant('gotodoctorStepFailReason'),\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n }\n }\n goToStep() {\n if (this.selectedsteps.clinic != '') {\n const serviceParam = {\n ClinicDeptCode: this.selectedsteps.clinic.Clinic_Code,\n };\n this.waClient\n .wa_GetServiceByClinicCode(serviceParam)\n .subscribe((response: any) => {\n this.serviceFilterlist = response.Servicelist;\n this.serviceOrginallist = response.Servicelist;\n this.wizard.goToNextStep();\n });\n } else {\n swal({\n title: this.translate.instant('gotoserviceStepFail'),\n text: this.translate.instant('gotoserviceStepFailReason'),\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n }\n }\n goToServiceStep() {\n if (this.selectedsteps.clinic != '') {\n const serviceParam = {\n ClinicDeptCode: this.selectedsteps.clinic.Clinic_Code,\n };\n this.waClient\n .wa_GetServiceByClinicCode(serviceParam)\n .subscribe((response: any) => {\n this.serviceFilterlist = response.Servicelist;\n this.serviceOrginallist = response.Servicelist;\n this.wizard.goToNextStep();\n });\n } else {\n swal({\n title: this.translate.instant('gotoserviceStepFail'),\n text: this.translate.instant('gotoserviceStepFailReason'),\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n }\n }\n getLocation(): Promise {\n return new Promise((resolve, reject) => {\n navigator.geolocation.getCurrentPosition((resp) => {\n resolve({\n long: resp.coords.longitude,\n lat: resp.coords.latitude,\n });\n reject(() => {\n swal({\n title: this.translate.instant('gotodoctorStepFail'),\n text: this.translate.instant('openLocation'),\n icon: 'error',\n timer: 4000,\n buttons: {},\n });\n });\n });\n });\n }\n ngOnInit(): void {}\n}\n","\n
\n
\n
\n
\n
\n

Coming Soon

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices.

\n
\n
{{days}} Days
\n
{{hours}} Hours
\n
{{minutes}} Minutes
\n
{{seconds}} Seconds
\n
\n
\n
\n
\n \n
\n \n
\n
\n
    \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-coming-soon',\n templateUrl: './coming-soon.component.html',\n styleUrls: ['./coming-soon.component.scss']\n})\nexport class ComingSoonComponent implements OnInit {\n\n days: any;\n hours: any;\n minutes: any;\n seconds: any;\n myInterval: any;\n\n constructor() { }\n\n ngOnInit() {\n this.myInterval = setInterval(() => {\n this.commingSoonTime();\n }, 0);\n }\n\n commingSoonTime = () => {\n const endTimeParse = (Date.parse('March 20, 2021 17:00:00 PDT')) / 1000;\n const now = new Date();\n const nowParse = (Date.parse(now.toString()) / 1000);\n const timeLeft = endTimeParse - nowParse;\n const days = Math.floor(timeLeft / 86400);\n let hours = Math.floor((timeLeft - (days * 86400)) / 3600);\n let minutes = Math.floor((timeLeft - (days * 86400) - (hours * 3600 )) / 60);\n let seconds = Math.floor((timeLeft - (days * 86400) - (hours * 3600) - (minutes * 60)));\n if (hours < 10) { hours = 0 + hours; }\n if (minutes < 10) { minutes = 0 + minutes; }\n if (seconds < 10) { seconds = 0 + seconds; }\n this.days = days;\n this.hours = hours;\n this.minutes = minutes;\n this.seconds = seconds;\n }\n\n}","\n
\n
\n
\n
\n
\n

{{translate.instant('ContactWithUs')}}

\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.scss']\n})\nexport class ContactComponent implements OnInit {\n\n constructor(\n public translate: TranslateService,\n ) { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n
\n
\n
\n
\n

404 Error Page

\n
    \n
  • Home
  • \n
  • 404 Error
  • \n
\n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n \"image\"\n

Page Not Found

\n \n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Subscribe to our newsletter:

\n

Focused on the transport and logistic industry

\n
\n
\n\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-error',\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.scss']\n})\nexport class ErrorComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\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

{{translate.instant('NextAppointment')}}

\n
\n
\n

{{getAppointmentDate()}}

\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

{{translate.instant('noAppointment')}}

\n
\n\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { getPatient, sessionIsExpired } from 'src/app/Functions/Utilities';\nimport { AppintmentAPIClient } from 'src/app/Services/appointment.service';\n\n@Component({\n selector: 'app-home-one',\n templateUrl: './home-one.component.html',\n styleUrls: ['./home-one.component.scss'],\n})\nexport class HomeOneComponent implements OnInit {\n PatientVisits: any[] = [];\n lastAppintment: any;\n constructor(\n public translate: TranslateService,\n private appintmentAPIClient: AppintmentAPIClient,\n private route: Router\n ) {}\n\n ngOnInit(): void {\n if (!sessionIsExpired()) {\n this.getPatientNextAppointment();\n }\n }\n sessionIsExpired() {\n return sessionIsExpired();\n }\n getPatientNextAppointment() {\n const appParam = {\n Patient_Code: getPatient()?.Patient_Code,\n FromDate: new Date().toISOString().split('T')[0],\n ToDate: new Date().toISOString().split('T')[0],\n };\n this.appintmentAPIClient\n .appintmentAPI_GetPatientAppointmentbydate(appParam)\n .subscribe((response: any) => {\n const currentDate = new Date();\n this.PatientVisits = response.PatientVisits;\n this.PatientVisits = [\n {\n Appo_ID: 15562,\n Appo_Start: '2024-01-09T08:40:00',\n Appo_End: '2024-01-14T02:02:42',\n patient_code: '282143',\n Patient_Name_Ar: 'السيد عبد المعطي إبراهيم محمد',\n Patient_Name_En: 'ELSAYED ABDELMOTI IBRAHIM MOHAMED',\n DoctorCode: '82',\n DoctorNameAr: 'نهال الدمرداش',\n DoctorNameEn: 'NEHAL ALDEMERDASH',\n ClinicDept_Code: '31',\n ClinicDept_Name_Ar: 'PHYSIOTHERAPY',\n ClinicDept_Name_En: 'PHYSIOTHERAPY',\n STATUS: 1,\n StatusName_Ar: 'جديد',\n StatusName_En: 'New',\n Appo_Notes: null,\n Fk_Branch_ID: 1,\n Appo_WaitingOrder: 0,\n OverBooking: false,\n OB_Appo_ID: null,\n Branch_Name: 'Al-LULU Medical Complex',\n Branch_Name_Ar: 'Al-LULU Medical Complex',\n Is_TeleMed: false,\n },\n {\n Appo_ID: 15563,\n Appo_Start: '2024-01-09T08:00:00',\n Appo_End: '2024-01-09T08:40:00',\n patient_code: '282143',\n Patient_Name_Ar: 'السيد عبد المعطي إبراهيم محمد',\n Patient_Name_En: 'ELSAYED ABDELMOTI IBRAHIM MOHAMED',\n DoctorCode: '82',\n DoctorNameAr: 'نهال الدمرداش',\n DoctorNameEn: 'NEHAL ALDEMERDASH',\n ClinicDept_Code: '31',\n ClinicDept_Name_Ar: 'PHYSIOTHERAPY',\n ClinicDept_Name_En: 'PHYSIOTHERAPY',\n STATUS: 1,\n StatusName_Ar: 'جديد',\n StatusName_En: 'New',\n Appo_Notes: null,\n Fk_Branch_ID: 1,\n Appo_WaitingOrder: 0,\n OverBooking: false,\n OB_Appo_ID: null,\n Branch_Name: 'Al-LULU Medical Complex',\n Branch_Name_Ar: 'Al-LULU Medical Complex',\n Is_TeleMed: false,\n },\n ];\n let appointments = this.PatientVisits.filter(\n (item) => new Date(item.Appo_End) >= currentDate\n );\n this.lastAppintment = appointments.pop();\n });\n }\n gotoAppointment() {\n this.route.navigate(['appointments']);\n }\n getAppointmentDate() {\n return this.lastAppintment?.Appo_End.split('T')[0];\n }\n getAppointmentTime() {\n return (\n this.lastAppintment?.Appo_Start.split('T')[1] +\n ' - ' +\n this.lastAppintment?.Appo_End.split('T')[1]\n );\n }\n}\n","
\n
\n
\n
\n
\n
\n
\n

\n {{Package?.PackageNetAmnt}} {{translate.instant(\"SaudiRiyal\")}}\n

\n

\n {{translate.instant(\"AfterSale\")}}\n

\n\n
\n
\n

\n {{Package?.Package_Name}} \n

\n

\n {{translate.instant(\"branch\")}}:\n {{getBranch_Name(Package)}}\n

\n
\n\n
\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { OfferAndPackagesClient } from '../../../Services/OfferAndPackages.service';\n\n@Component({\n selector: 'app-packages',\n templateUrl: './packages.component.html',\n styleUrls: ['./packages.component.scss'],\n})\nexport class PackagesComponent implements OnInit {\n Packages: any[] = [];\n constructor(\n public translate: TranslateService,\n private offerAndPackagesClient: OfferAndPackagesClient\n ) {\n this.GetPatientVaccination();\n }\n GetPatientVaccination() {\n const appParam = {\n CurrentPage: 0,\n PageSize: null,\n DateFrom: '',\n DateTo: '',\n };\n this.offerAndPackagesClient\n .offerAndPackages_GetPackagesByDate(appParam)\n .subscribe((response: any) => {\n this.Packages = response.Packages;\n });\n }\n\n getBranch_Name(Package: any) {\n return this.translate.currentLang == 'en'\n ? Package?.Branch_Name ?? ''\n : Package?.Branch_Name_Ar ?? '';\n }\n ngOnInit(): void {}\n}\n","\n
\n
\n
\n
\n
\n

Privacy Policy

\n
    \n
  • Home
  • \n
  • Privacy Policy
  • \n
\n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n

Digital Shipping Solution

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim.

\n

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla

\n

Digital Solution For Transportation

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est.

\n

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas

\n

Make an easy shipment

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est.

\n

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla

\n

Clients Around The World Makes Us Special

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est.

\n

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla

\n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Subscribe to our newsletter:

\n

Focused on the transport and logistic industry

\n
\n
\n\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-privacy-policy',\n templateUrl: './privacy-policy.component.html',\n styleUrls: ['./privacy-policy.component.scss']\n})\nexport class PrivacyPolicyComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n
\n
\n
\n
\n

\n {{ translate.instant(\"MyAccount\") }}\n

\n \n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n \"logo\"\n

\n {{ translate.instant(\"GotoMainPage\") }}\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
\n
\n
\n {{ translate.instant(\"Patient_FirstName_Required\") }}\n
\n
\n
\n
\n
\n \n
\n
\n
\n {{ translate.instant(\"Patient_LastName_Required\") }}\n
\n
\n
\n
\n
\n \n
\n
\n
\n {{translate.instant('ID_Number_required')}}\n
\n
\n {{translate.instant('ID_NumberInvalidLength')}}\n
\n
\n\n
\n\n\n
\n
\n \n
\n
\n
\n {{translate.instant('User_Name_required')}}\n
\n
\n
\n
\n
\n \n
\n
\n
\n {{translate.instant('Patient_BirthDate_required')}}\n
\n
\n
\n
\n
\n \n
\n
\n
\n {{translate.instant('Patient_Mobile_required')}}\n
\n
\n {{translate.instant('Patient_Mobile_required')}}\n
\n
\n
\n\n
\n
\n \n\n
\n
\n
\n {{translate.instant('EmailRequired')}}\n
\n
\n {{translate.instant('EmailWrongFormate')}}\n
\n
\n\n
\n \n
\n\n
\n \n\n
\n
\n
\n
\n
\n\n\n","import { Component, OnInit, Optional, Inject, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport swal from 'sweetalert';\nimport { Router } from '@angular/router';\nimport {\n getPatient,\n saveUserInfoToStorage,\n} from '../../../Functions/Utilities';\n\nimport { AccountClient } from 'src/app/Services/accountService.service';\nimport {\n API_BASE_URL\n} from 'src/app/Services/accountService.service';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss'],\n})\nexport class ProfileComponent implements OnInit {\n ProfileForm: FormGroup;\n ImageURL: any;\n file: File = null;\n private baseUrl: string;\n\n constructor(\n public translate: TranslateService,\n private fb: FormBuilder,\n private accountClient: AccountClient,\n private route: Router,\n @Optional() @Inject(API_BASE_URL) baseUrl?: string\n ) {\n this.baseUrl = baseUrl;\n }\n\n ngOnInit(): void {\n this.createForm();\n\n this.accountClient\n .account_GetPatientByCode({\n Patient_Code: getPatient().Patient_Code!,\n })\n .subscribe((responsePatient: any) => {\n const patient = responsePatient.patient[0];\n this.ProfileForm.setValue({\n Patient_Code: patient.Patient_Code ?? '',\n Patient_FirstName_Ar: patient.Patient_Name_Ar ?? '',\n Patient_FatherName_Ar: patient.Patient_FatherName_Ar ?? '',\n Patient_MiddleName_Ar: patient.Patient_MiddleName_Ar ?? '',\n Patient_LastName_Ar: patient.Patient_LastName_Ar ?? '',\n Patient_Name_Ar: patient.Patient_Name_Ar ?? '',\n Patient_FirstName_En: patient.Patient_FirstName_En ?? '',\n Patient_FatherName_En: patient.Patient_FatherName_En ?? '',\n Patient_MiddleName_En: patient.Patient_MiddleName_En ?? '',\n Patient_LastName_En: patient.Patient_LastName_En ?? '',\n Patient_Name_En: patient.Patient_Name_En ?? '',\n Sex: patient.Sex ?? '',\n Patient_BirthDate:\n patient.Patient_BirthDate.split('T')[0] ?? '',\n Patient_Mobile: patient.Patient_Mobile ?? '',\n User_Name: patient.User_Name ?? '',\n Email: patient.Email ?? '',\n CountryCode: '',\n ID_Number: patient.ID_Number ?? '',\n });\n this.ImageURL = this.baseUrl + '/PatientImages/' + patient.IMG;\n });\n }\n\n createForm() {\n this.ProfileForm = this.fb.group({\n Patient_Code: '',\n Patient_FirstName_Ar: ['', [Validators.required]],\n Patient_FatherName_Ar: '',\n Patient_MiddleName_Ar: '',\n Patient_LastName_Ar: ['', [Validators.required]],\n Patient_Name_Ar: '',\n Patient_FirstName_En: '',\n Patient_FatherName_En: '',\n Patient_MiddleName_En: '',\n Patient_LastName_En: '',\n Patient_Name_En: '',\n Sex: ['', [Validators.required]],\n Patient_BirthDate: ['', [Validators.required]],\n Patient_Mobile: [\n '',\n [Validators.required, Validators.pattern('^[0-9]{6,50}$')],\n ],\n User_Name: ['', [Validators.required]],\n\n Email: ['', [Validators.required, Validators.email]],\n CountryCode: '',\n ID_Number: [\n '',\n [Validators.required, Validators.pattern('^[0-9]{6,50}$')],\n ],\n });\n }\n\n onChange(event) {\n this.file = event.target.files[0];\n let reader = new FileReader();\n reader.readAsDataURL(this.file);\n reader.onload = () => {\n this.ImageURL = reader.result;\n };\n }\n\n CheckConfirmedValidator(controlName: string, matchingControlName: string) {\n return (formGroup: FormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n if (\n matchingControl.errors &&\n !matchingControl.errors.confirmedValidator\n ) {\n return;\n }\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ confirmedValidator: true });\n } else {\n matchingControl.setErrors(null);\n }\n };\n }\n\n onSubmit() {\n if (this.ProfileForm.valid) {\n this.ProfileForm.value.Patient_Name_Ar =\n this.ProfileForm.value.Patient_FirstName_Ar;\n\n this.accountClient\n .account_EditPatient(this.ProfileForm.value)\n .subscribe((responsePatient: any) => {\n if (responsePatient.Success) {\n if (this.file != null) {\n const formData = new FormData();\n formData.append(this.file.name, this.file);\n this.accountClient\n .account_UpdatePatientIMG(\n formData,\n responsePatient.Result?.patient[0]\n .Patient_Code\n )\n .subscribe((response: any) => {\n saveUserInfoToStorage(\n responsePatient.Result,\n response.Image,\n false\n );\n\n swal({\n title: this.translate.instant(\n 'loginSuccessfully'\n ),\n text: this.translate.instant(\n 'GotoMainPage'\n ),\n icon: 'success',\n timer: 1000,\n buttons: {},\n }).then(\n () => {\n this.route.navigate(['home-one']);\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n });\n } else {\n saveUserInfoToStorage(\n responsePatient.Result,\n responsePatient.Result.patient[0].IMG,\n false\n );\n swal({\n title: this.translate.instant(\n 'loginSuccessfully'\n ),\n text: this.translate.instant('GotoMainPage'),\n icon: 'success',\n timer: 1000,\n buttons: {},\n }).then(\n () => {\n this.route.navigate(['home-one']);\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n }\n } else {\n swal({\n title: this.translate.instant('loginFailed'),\n text: this.translate.instant(\n responsePatient.Result\n ),\n icon: 'error',\n timer: 2000,\n buttons: {},\n });\n }\n });\n } else {\n Object.keys(this.ProfileForm.controls).forEach((field) => {\n const control = this.ProfileForm.get(field);\n control.markAsTouched({ onlySelf: true });\n });\n }\n }\n\n}\n","\n
\n
\n
\n
\n
\n

Our Services

\n
    \n
  • Home
  • \n
  • Services
  • \n
\n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n Our Services\n

Safe, Faster and Relaible Logistics Services

\n
\n \n
\n
\n
\n \"image\"\n
\n

Road Freight

\n

But I must explain to you how all this mistaken idea of denouncing I will give you a complete account of the system.

\n Read More\n
\n
\n
\n\n
\n
\n \"image\"\n
\n

Ocean Freight

\n

But I must explain to you how all this mistaken idea of denouncing I will give you a complete account of the system.

\n Read More\n
\n
\n
\n\n
\n
\n \"image\"\n
\n

Air Freight

\n

But I must explain to you how all this mistaken idea of denouncing I will give you a complete account of the system.

\n Read More\n
\n
\n
\n\n
\n
\n \"image\"\n
\n

B2B Exchange

\n

But I must explain to you how all this mistaken idea of denouncing I will give you a complete account of the system.

\n Read More\n
\n
\n
\n\n
\n
\n \"image\"\n
\n

Home Shipping

\n

But I must explain to you how all this mistaken idea of denouncing I will give you a complete account of the system.

\n Read More\n
\n
\n
\n\n
\n
\n \"image\"\n
\n

Office Moving

\n

But I must explain to you how all this mistaken idea of denouncing I will give you a complete account of the system.

\n Read More\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n

Best Logistic Service Solution Near you

\n

At vero eos et et iusto odio ducimus qui blanditiis praesentium animi voluptatum deleniti atque corrupti dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.

\n
\n Read More\n
\n\n
\n
\n \"image\"\n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Subscribe to our newsletter:

\n

Focused on the transport and logistic industry

\n
\n
\n\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-services',\n templateUrl: './services.component.html',\n styleUrls: ['./services.component.scss']\n})\nexport class ServicesComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n\n\n
\n
\n

\n {{ translate.instant(\"Session_Timeout_Msg1\") }}\n

\n

\n {{ counter }} {{ translate.instant(\"Sec\") }}\n

\n

\n {{ translate.instant(\"Session_Timeout_Msg2\") }}\n

\n \n
\n
\n\n\n
\n

{{counter}} {{ translate.instant(\"Sec\") }}

\n \n
\n","import {\n Component,\n Input,\n NgZone,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\nimport { empty, merge, of, timer, Subscription } from 'rxjs';\nimport { delay, expand, map, takeWhile } from 'rxjs/operators';\nimport { LocalStorageEnums } from '../../../../Enums/LocalStorageEnums.enum';\nimport { sessionIsExpired } from '../../../../Functions/Utilities';\nimport { Router } from '@angular/router';\ndeclare var $: any;\nenum TimerType {\n WARNING,\n EXPIRED,\n}\n\ninterface TimerEvent {\n type: TimerType;\n timeLeft: number;\n}\n\n@Component({\n selector: 'app-session-timeout',\n templateUrl: './session-timeout.component.html',\n styleUrls: ['./session-timeout.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class SessionTimeoutComponent implements OnInit {\n\n\n sessionDuration =\n ( new Date(\n localStorage.getItem(LocalStorageEnums.SessionExpireDate)!\n ).getTime() +\n Number(localStorage.getItem(LocalStorageEnums.sessionDuration) ?? 0) *\n 60000 )-\n Date.now();\n warningAmount = 60000;\n addClass:boolean = true;\n warningDuration = this.sessionDuration - this.warningAmount;\n showWarningLogin: boolean = false;\n endEpoch!: number;\n timerOutput!: any[];\n counter!: number;\n rtlEnabled: boolean;\n language: any;\n timeoutSub!: Subscription;\n loginButtonOptions: { text: string; class: string; onClick(e: any): void };\n // language: string;\n IsSessionVisable: boolean = true;\n\n constructor(\n private readonly ngZone: NgZone,\n public translate: TranslateService,\n private route: Router\n ) {\n translate.addLangs(['en', 'ar']);\n this.language =\n localStorage.getItem(LocalStorageEnums.NitcotekTalebcomLanguage) ??\n '';\n if (this.language == '') this.language = 'ar';\n translate.setDefaultLang(this.language);\n translate.use(this.language);\n document.dir = this.language == 'ar' ? 'rtl' : 'ltr';\n if (document.dir == 'rtl') {\n this.rtlEnabled = true;\n } else {\n this.rtlEnabled = false;\n }\n if (sessionIsExpired()) {\n $('#sessionDuration').modal('hide');\n this.addClass = true;\n }\n\n }\n\n ngOnInit(): void {\n this.startTimer();\n this.dragElement(document.getElementById('sessionDuration_preview'))\n }\n\n private startTimer(): void {\n let SessionExpireDate = new Date(\n localStorage.getItem(LocalStorageEnums.SessionExpireDate)!\n );\n let sessionDuration = Number(\n localStorage.getItem(LocalStorageEnums.sessionDuration) ?? 0\n );\n this.endEpoch = SessionExpireDate.getTime() + sessionDuration * 60000;\n\n const targetDate: string = new Date(this.endEpoch).toISOString();\n console.log(`Target: ${SessionExpireDate}`);\n const warning$: Observable = this.getWarning$();\n const expire$: Observable = this.getExpiration$();\n const timeout$: Observable = merge(warning$, expire$);\n this.timerOutput = [];\n\n this.ngZone.runOutsideAngular(() => {\n this.timeoutSub = timeout$.subscribe(\n (timerEvent: TimerEvent) => {\n const dateStr: string = new Date().toISOString();\n this.ngZone.run(() => {\n this.counter = timerEvent.timeLeft;\n let differtime =\n new Date(\n localStorage.getItem(\n LocalStorageEnums.SessionExpireDate\n )!\n ).getTime() +\n Number(\n localStorage.getItem(\n LocalStorageEnums.sessionDuration\n ) ?? 0\n ) *\n 60000 -\n Date.now();\n\n if (!sessionIsExpired() && differtime > 60000) {\n $('#sessionDuration').modal('hide');\n this.addClass = true;\n }\n if (!sessionIsExpired() && !this.showWarningLogin) {\n console.log(dateStr);\n $('#sessionDuration').modal('show');\n this.timerOutput.push({\n date: dateStr,\n ...timerEvent,\n });\n }\n if (sessionIsExpired()) {\n $('#sessionDuration').modal('hide');\n this.addClass = true;\n }\n });\n },\n (err) => {},\n () => {\n console.log('complete');\n $('#sessionDuration').modal('hide');\n localStorage.clear();\n this.route.navigate(['home-one']);\n }\n );\n });\n }\n\n private getWarning$(): Observable {\n return timer(this.warningDuration).pipe(\n expand(() => {\n const timeLeft: number = this.getTimeLeft();\n return timeLeft > 0\n ? of(undefined).pipe(delay(this.getDelay(timeLeft)))\n : empty();\n }),\n map(() => this.getTimeLeft()),\n takeWhile((timeLeft) => timeLeft > 0),\n map((timeLeft) => {\n timeLeft = Math.ceil(timeLeft / 1000);\n return {\n type: TimerType.WARNING,\n timeLeft,\n };\n })\n );\n }\n private getExpiration$(): Observable {\n return timer(this.sessionDuration).pipe(\n map(() => {\n return {\n type: TimerType.EXPIRED,\n timeLeft: 0,\n };\n })\n );\n }\n private getTimeLeft(): number {\n return this.endEpoch - Date.now();\n }\n private getDelay(timeLeft: number): number {\n return timeLeft % 1000; // this is the milliseconds portion of the time difference\n }\n ShowCounterPreview(){\n // document.getElementById('sessionDuration').display ='none';\n this.addClass = !this.addClass;\n this.showWarningLogin = true;\n $('#sessionDuration').modal('hide');\n\n }\n ////\n // Make the DIV element draggable:\n\n dragElement(elmnt) {\n var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;\n\n elmnt.onmousedown = dragMouseDown;\n\n function dragMouseDown(e) {\n e = e || window.event;\n e.preventDefault();\n // get the mouse cursor position at startup:\n pos3 = e.clientX;\n pos4 = e.clientY;\n document.onmouseup = closeDragElement;\n // call a function whenever the cursor moves:\n document.onmousemove = elementDrag;\n }\n\n function elementDrag(e) {\n e = e || window.event;\n e.preventDefault();\n // calculate the new cursor position:\n pos1 = pos3 - e.clientX;\n pos2 = pos4 - e.clientY;\n pos3 = e.clientX;\n pos4 = e.clientY;\n // set the element's new position:\n elmnt.style.top = (elmnt.offsetTop - pos2) + \"px\";\n elmnt.style.left = (elmnt.offsetLeft - pos1) + \"px\";\n }\n\n function closeDragElement() {\n // stop moving when mouse button is released:\n document.onmouseup = null;\n document.onmousemove = null;\n }\n}\n\n}\n","\n
\n
\n
\n
\n
\n

\n {{ translate.instant(\"login\") }}\n

\n \n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n \"logo\"\n

{{ translate.instant(\"JoinUs\") }}

\n
\n\n
\n
\n
\n \n
\n \n
\n {{ translate.instant(\"EmailRequired\") }}\n
\n
\n {{ translate.instant(\"EmailWrongFormate\") }}\n
\n
\n\n
\n \n
\n \n
\n {{ translate.instant(\"PasswordRequired\") }}\n
\n
\n
\n
\n

\n \n {{ translate.instant(\"ForgetPassword\") }}\n \n

\n
\n \n
\n
\n \n {{ translate.instant(\"login\") }}\n \n
\n \n
\n \n\n\n\n\n\n
\n
\n
\n
\n {{ translate.instant(\"ForgetPassword\") }}\n
\n \n ×\n \n
\n \n
\n
\n
\n

\n {{ translate.instant(\"ForgetPasswordText\") }}\n

\n
\n
\n\n
\n
\n
\n \n
\n \n \n {{ translate.instant(\"EmailRequired\") }}\n
\n \n {{ translate.instant(\"EmailWrongFormate\") }}\n
\n
\n
\n
\n \n
\n \n {{ translate.instant(\"close\") }}\n \n \n {{ translate.instant(\"submit\") }}\n \n
\n \n \n \n\n\n
\n
\n
\n
\n {{ translate.instant(\"VerficationCodeTosignin\") }}\n
\n \n ×\n \n
\n \n
\n
\n
\n

\n {{ translate.instant(\"VerficationCode\") }}\n

\n
\n
\n\n
\n
\n
\n \n
\n \n \n {{ translate.instant(\"VerficationCodeRequired\") }}\n
\n \n
\n
\n
\n
\n
\n \n {{ translate.instant(\"close\") }}\n \n \n {{ translate.instant(\"submit\") }}\n \n
\n \n \n \n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AccountClient } from '../../../Services/accountService.service';\nimport swal from 'sweetalert';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { saveUserInfoToStorage } from '../../../Functions/Utilities';\ndeclare var $: any;\n\n@Component({\n selector: 'app-sign-in',\n templateUrl: './sign-in.component.html',\n styleUrls: ['./sign-in.component.scss'],\n})\nexport class SignInComponent implements OnInit {\n loginForm: FormGroup;\n forgetEmail: FormGroup;\n VerficationCodeForm: FormGroup;\n resultForgetEmail: any;\n @ViewChild('VerficationCodeModel') VerficationCodeModel;\n\n constructor(\n private fb: FormBuilder,\n private accountClient: AccountClient,\n private route: Router,\n public translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.createForm();\n }\n createForm() {\n this.loginForm = this.fb.group({\n Email: ['', [Validators.required, Validators.email]],\n Password: ['', Validators.required],\n });\n this.forgetEmail = this.fb.group({\n Email: ['', [Validators.required, Validators.email]],\n });\n this.VerficationCodeForm = this.fb.group({\n VerficationCode: ['', [Validators.required]],\n });\n }\n onSubmitVerficationCodeForm() {\n const VerficationCode = this.VerficationCodeForm.value?.VerficationCode;\n\n if (VerficationCode == this.resultForgetEmail.Verfication_code) {\n saveUserInfoToStorage(\n this.resultForgetEmail,\n this.resultForgetEmail.patient[0].IMG\n );\n $('#VerficationCodeModel').modal('hide');\n swal({\n title: this.translate.instant('loginSuccessfully'),\n text: this.translate.instant('GotoMainPage'),\n icon: 'success',\n timer: 1000,\n buttons: {},\n }).then(\n () => {\n location.href = '/home-one';\n // this.route.navigate(['home-one']);\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n } else {\n swal({\n title: this.translate.instant('loginFailed'),\n text: this.translate.instant('VerficationCodeError'),\n icon: 'error',\n timer: 2000,\n buttons: {},\n });\n }\n }\n onSubmitForgetPassword() {\n const Email = this.forgetEmail.value?.Email;\n this.accountClient\n .account_SendCodeViaEmailSM(Email)\n .subscribe((response: any) => {\n if (response.Success) {\n this.resultForgetEmail = response.Result;\n $('#VerficationCodeModel').modal('show');\n } else {\n swal({\n title: this.translate.instant('loginFailed'),\n text: this.translate.instant(response.Result),\n icon: 'error',\n timer: 2000,\n buttons: {},\n });\n }\n });\n }\n onSubmit() {\n if (this.loginForm.valid) {\n this.accountClient\n .account_Login(this.loginForm.value)\n .subscribe((response: any) => {\n if (response.Success) {\n saveUserInfoToStorage(\n response.Result,\n response.Result.patient[0].IMG\n );\n swal({\n title: this.translate.instant('loginSuccessfully'),\n text: this.translate.instant('GotoMainPage'),\n icon: 'success',\n timer: 1000,\n buttons: {},\n }).then(\n () => {\n location.href = '/home-one';\n\n // this.route.navigate(['home-one']);\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n } else {\n swal({\n title: this.translate.instant('loginFailed'),\n text: this.translate.instant(response.Result),\n icon: 'error',\n timer: 2000,\n buttons: {},\n });\n }\n });\n } else {\n Object.keys(this.loginForm.controls).forEach((field) => {\n const control = this.loginForm.get(field);\n control.markAsTouched({ onlySelf: true });\n });\n }\n }\n}\n\n// \"Email\":\"saraa_salem765@yahoo.con\",\n// \"Password\":\"123\"\n","\n
\n
\n
\n
\n
\n

\n {{ translate.instant(\"NewAccount\") }}\n

\n \n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n \"logo\"\n

\n {{ translate.instant(\"GotoMainPage\") }}\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 \n \n {{\n translate.instant(\n \"Patient_FirstName_Required\"\n )\n }}\n
\n
\n
\n
\n
\n \n
\n \n \n {{\n translate.instant(\n \"Patient_LastName_Required\"\n )\n }}\n
\n
\n
\n
\n
\n \n
\n \n \n {{ translate.instant(\"ID_Number_required\") }}\n
\n \n {{\n translate.instant(\"ID_NumberInvalidLength\")\n }}\n \n \n \n\n
\n
\n \n \n
\n \n \n {{ translate.instant(\"SexRequired\") }}\n
\n \n \n
\n
\n \n
\n \n \n {{ translate.instant(\"User_Name_required\") }}\n
\n \n \n
\n
\n \n
\n \n \n {{\n translate.instant(\n \"Patient_BirthDate_required\"\n )\n }}\n
\n \n \n
\n
\n \n
\n \n \n {{\n translate.instant(\"Patient_Mobile_required\")\n }}\n
\n \n {{\n translate.instant(\"Patient_Mobile_required\")\n }}\n \n \n \n\n
\n
\n \n
\n \n \n {{ translate.instant(\"EmailRequired\") }}\n
\n \n {{ translate.instant(\"EmailWrongFormate\") }}\n \n \n \n
\n
\n \n
\n \n \n {{ translate.instant(\"PasswordRequired\") }}\n
\n \n \n
\n
\n \n
\n \n \n {{\n translate.instant(\n \"ConfirmedPasswordRequired\"\n )\n }}\n
\n\n \n {{\n translate.instant(\n \"ConfirmedPasswordNotIdentical\"\n )\n }}\n \n \n \n \n
\n
\n

\n {{ translate.instant(\"alreadyHaveAccount\") }}\n \n {{ translate.instant(\"login\") }}\n

\n
\n
\n
\n \n {{ translate.instant(\"login\") }}\n \n
\n \n \n \n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AccountClient } from 'src/app/Services/accountService.service';\nimport swal from 'sweetalert';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n getPatient,\n saveUserInfoToStorage,\n} from '../../../Functions/Utilities';\ndeclare var $: any;\n\n@Component({\n selector: 'app-sign-up',\n templateUrl: './sign-up.component.html',\n styleUrls: ['./sign-up.component.scss'],\n})\nexport class SignUpComponent implements OnInit {\n SignUpForm: FormGroup;\n SexList = [{ Type: 'Male' }, { Type: 'Female' }];\n file: File = null;\n ImageURL: any;\n\n\n constructor(\n private fb: FormBuilder,\n private accountClient: AccountClient,\n private route: Router,\n public translate: TranslateService,\n ) {}\n ngOnInit(): void {\n this.createForm();\n }\n \n createForm() {\n this.SignUpForm = this.fb.group(\n {\n Patient_FirstName_Ar: ['', [Validators.required]],\n Patient_FatherName_Ar: '',\n Patient_MiddleName_Ar: '',\n Patient_LastName_Ar: ['', [Validators.required]],\n Patient_Name_Ar: '',\n Patient_FirstName_En: '',\n Patient_FatherName_En: '',\n Patient_MiddleName_En: '',\n Patient_LastName_En: '',\n Patient_Name_En: '',\n Sex: ['', [Validators.required]],\n Patient_BirthDate: ['', [Validators.required]],\n Patient_Mobile: [\n '',\n [Validators.required, Validators.pattern('^[0-9]{6,50}$')],\n ],\n User_Name: ['', [Validators.required]],\n Password: ['', Validators.required],\n ConfirmedPassword: ['', Validators.required],\n IMG: '',\n Patient_Phone: '',\n Email: ['', [Validators.required, Validators.email]],\n CountryCode: '',\n ID_Number: [\n '',\n [Validators.required, Validators.pattern('^[0-9]{6,50}$')],\n ],\n },\n {\n validator: this.CheckConfirmedValidator(\n 'Password',\n 'ConfirmedPassword'\n ),\n }\n );\n }\n CheckConfirmedValidator(controlName: string, matchingControlName: string) {\n return (formGroup: FormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n if (\n matchingControl.errors &&\n !matchingControl.errors.confirmedValidator\n ) {\n return;\n }\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ confirmedValidator: true });\n } else {\n matchingControl.setErrors(null);\n }\n };\n }\n onSubmit() {\n if (this.SignUpForm.valid) {\n this.SignUpForm.value.Patient_Name_Ar =\n this.SignUpForm.value.Patient_FirstName_Ar;\n\n this.accountClient\n .account_patient(this.SignUpForm.value)\n .subscribe((responsePatient: any) => {\n if (responsePatient.Success) {\n if (this.file != null) {\n const formData = new FormData();\n formData.append(this.file.name, this.file);\n this.accountClient\n .account_UpdatePatientIMG(\n formData,\n responsePatient.Result?.patient[0]\n .Patient_Code\n )\n .subscribe((response: any) => {\n saveUserInfoToStorage(\n responsePatient.Result,\n response.Image\n );\n //$('#BranchModel').modal('show');\n \n\n swal({\n title: this.translate.instant(\n 'loginSuccessfully'\n ),\n text: this.translate.instant(\n 'GotoMainPage'\n ),\n icon: 'success',\n timer: 1000,\n buttons: {},\n }).then(\n () => {\n // this.route.navigate(['home-one']);\n location.href = '/home-one';\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n });\n } else {\n saveUserInfoToStorage(\n responsePatient.Result,\n responsePatient.Result.patient[0].IMG\n );\n swal({\n title: this.translate.instant(\n 'loginSuccessfully'\n ),\n text: this.translate.instant('GotoMainPage'),\n icon: 'success',\n timer: 1000,\n buttons: {},\n }).then(\n () => {\n // this.route.navigate(['home-one']);\n location.href = '/home-one';\n },\n (dismiss) => {\n if (dismiss === 'timer') {\n }\n }\n );\n }\n } else {\n swal({\n title: this.translate.instant('loginFailed'),\n text: this.translate.instant(\n responsePatient.Result\n ),\n icon: 'error',\n timer: 2000,\n buttons: {},\n });\n }\n });\n } else {\n Object.keys(this.SignUpForm.controls).forEach((field) => {\n const control = this.SignUpForm.get(field);\n control.markAsTouched({ onlySelf: true });\n });\n }\n }\n onChange(event) {\n this.file = event.target.files[0];\n let reader = new FileReader();\n reader.readAsDataURL(this.file);\n reader.onload = () => {\n this.ImageURL = reader.result;\n };\n }\n}\n","
\n
\n
\n
\n
\n\n
\n
\n
{{getDoctorName(Vacation)}}
\n

{{getClinicDeptName(Vacation)}}

\n

{{Vacation.Visit_Date}}

\n
\n
\n

\n {{translate.instant(\"DoctorReport\")}}\n \n

\n

\n {{Vacation.FullDate}}\n

\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n {{\n translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { VisitClient } from 'src/app/Services/Visit.service';\nimport { getPatient } from 'src/app/Functions/Utilities';\nimport swal from 'sweetalert';\n\n@Component({\n selector: 'app-vacations',\n templateUrl: './vacations.component.html',\n styleUrls: ['./vacations.component.scss'],\n})\nexport class VacationsComponent implements OnInit {\n Vacations: any[] = [];\n constructor(\n public translate: TranslateService,\n private route: Router,\n private visitClient: VisitClient\n ) {}\n\n get_visit_GetSickleave() {\n const appParam = {\n Patient_Code: getPatient()?.Patient_Code,\n Type: '',\n };\n this.visitClient\n .visit_GetSickleave(appParam)\n .subscribe((response: any) => {\n this.Vacations = response.Sickleave;\n });\n }\n getDoctorName(Vacation: any) {\n return this.translate.currentLang == 'en'\n ? Vacation?.DoctorNameEn ?? ''\n : Vacation?.DoctorNameAr ?? '';\n }\n getClinicDeptName(Vacation: any) {\n return this.translate.currentLang == 'en'\n ? Vacation?.ClinicDept_Name_En ?? ''\n : Vacation?.ClinicDept_Name_Ar ?? '';\n }\n convertDate(Visit_Date: any) {\n const Visit_Date_Split = Visit_Date.split('/');\n const day = Visit_Date_Split[0];\n const month = Visit_Date_Split[1];\n const year = Visit_Date_Split[2];\n return month + '-' + day + '-' + year;\n }\n visit_GetPatientVisits(Vacation:any) {\n const appParam = {\n PatientCode: getPatient()?.Patient_Code,\n EntryDate: this.convertDate(Vacation?.Visit_Date),\n DoctorCode: Vacation.DoctorCode,\n IslangArabic:this.translate.currentLang == 'en'? 0:1,\n };\n this.visitClient\n .visit_Report_PatientVisit(appParam)\n .subscribe((response: any) => {\n if (response._Url != '') window.open(response._Url, '_blank');\n else\n swal({\n title: this.translate.instant('NoData'),\n icon: 'error',\n timer: 2000,\n buttons: {},\n });\n });\n }\n ngOnInit(): void {\n this.get_visit_GetSickleave();\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 translate.instant(\n \"NoData\"\n )\n }}\n

\n
\n
\n
\n
\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { WaClient } from 'src/app/Services/Wa.service';\nimport { getPatient } from 'src/app/Functions/Utilities';\n@Component({\n selector: 'app-vaccinations',\n templateUrl: './vaccinations.component.html',\n styleUrls: ['./vaccinations.component.scss'],\n})\nexport class VaccinationsComponent implements OnInit {\n PatientVaccinationList: any[] = [];\n constructor(\n public translate: TranslateService,\n private route: Router,\n private waClient: WaClient\n ) {}\n ngOnInit(): void {\n this.GetPatientVaccination();\n }\n getVacc_Name(PatientVaccination:any) {\n return this.translate.currentLang == 'en'\n ? PatientVaccination?.Vacc_Name_En ?? ''\n : PatientVaccination?.Vacc_Name_Ar ?? '';\n }\n GetPatientVaccination() {\n const appParam = { patientCode: getPatient()?.Patient_Code };\n this.waClient\n .wa_GetPatientVaccination(appParam)\n .subscribe((response: any) => {\n this.PatientVaccinationList = response.PatientVaccinations;\n });\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n Username: 'Britsh_api_user',\n Password: '>4@y}eRo$Lk;P+mv',\n ProviderId: '5e1c1e4d-9049-483b-a03e-0225ed6a9223',\n BranchId: 1,\n org: 1,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}