{"version":3,"file":"main.js","mappings":"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","sources":["./src/api-authorization/role-guard.service.ts","./src/app/Common/ReplacePipe.ts","./src/app/Common/Sort.ts","./src/app/Common/SortDirective.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/b2c-config.ts","./src/app/components/Inputs/file-upload-button/file-upload-button.component.ts","./src/app/components/Inputs/file-upload-button/file-upload-button.component.html","./src/app/components/clients/clients-detail/clients-detail.component.ts","./src/app/components/clients/clients-detail/clients-detail.component.html","./src/app/components/clients/clients-detail/ngbd-sortable-header.directive.ts","./src/app/components/common/attachment-list/attachment-list.component.ts","./src/app/components/common/attachment-list/attachment-list.component.html","./src/app/components/common/confirmation-modal/confirmation-modal.component.ts","./src/app/components/common/confirmation-modal/confirmation-modal.component.html","./src/app/components/common/cookie-consent/cookie-consent.component.ts","./src/app/components/common/cookie-consent/cookie-consent.component.html","./src/app/components/common/filters/clients-search/clients-search.component.ts","./src/app/components/common/filters/clients-search/clients-search.component.html","./src/app/components/common/filters/multiple-filter-search/multiple-filter-search.component.ts","./src/app/components/common/filters/multiple-filter-search/multiple-filter-search.component.html","./src/app/components/common/filters/network-member-filter/network-member-filter.component.ts","./src/app/components/common/filters/network-member-filter/network-member-filter.component.html","./src/app/components/common/filters/payment-filter/payment-filter.component.ts","./src/app/components/common/filters/payment-filter/payment-filter.component.html","./src/app/components/common/filters/status-filter/status-filter.component.ts","./src/app/components/common/filters/status-filter/status-filter.component.html","./src/app/components/common/filters/tag-filter/tag-filter.component.ts","./src/app/components/common/filters/tag-filter/tag-filter.component.html","./src/app/components/common/filters/users-search/users-search.component.ts","./src/app/components/common/filters/users-search/users-search.component.html","./src/app/components/common/filters/year-filter/year-filter.component.ts","./src/app/components/common/filters/year-filter/year-filter.component.html","./src/app/components/common/footer/footer.component.ts","./src/app/components/common/footer/footer.component.html","./src/app/components/common/header/header.component.ts","./src/app/components/common/header/header.component.html","./src/app/components/common/message-box/message-box.component.ts","./src/app/components/common/message-box/message-box.component.html","./src/app/components/common/modal-basic/modal-basic.component.ts","./src/app/components/common/modal-basic/modal-basic.component.html","./src/app/components/common/modal/modal.component.ts","./src/app/components/common/modal/modal.component.html","./src/app/components/common/nav-menu/nav-menu.component.ts","./src/app/components/common/nav-menu/nav-menu.component.html","./src/app/components/common/refresh-task-view/refresh-task-view.component.ts","./src/app/components/common/refresh-task-view/refresh-task-view.component.html","./src/app/components/common/visual-loading/loading-spinner/loading-spinner.component.ts","./src/app/components/common/visual-loading/loading-spinner/loading-spinner.component.html","./src/app/components/illustrations/illustration-detail/illustration-detail.component.ts","./src/app/components/illustrations/illustration-detail/illustration-detail.component.html","./src/app/components/illustrations/illustration-list/illustration-list.component.ts","./src/app/components/illustrations/illustration-list/illustration-list.component.html","./src/app/components/tasks/boolean-task/boolean-task-detail/boolean-task-detail.component.ts","./src/app/components/tasks/boolean-task/boolean-task-detail/boolean-task-detail.component.html","./src/app/components/tasks/boolean-task/boolean-task-list/boolean-task-list.component.ts","./src/app/components/tasks/boolean-task/boolean-task-list/boolean-task-list.component.html","./src/app/components/tasks/comment-task/comment-form/comment-form.component.ts","./src/app/components/tasks/comment-task/comment-form/comment-form.component.html","./src/app/components/tasks/comment-task/comment-item/comment-item.component.ts","./src/app/components/tasks/comment-task/comment-item/comment-item.component.html","./src/app/components/tasks/comment-task/comment-list/comment-list.component.ts","./src/app/components/tasks/comment-task/comment-list/comment-list.component.html","./src/app/components/tasks/file-upload-task/file-upload-task-detail/file-upload-task-detail.component.ts","./src/app/components/tasks/file-upload-task/file-upload-task-detail/file-upload-task-detail.component.html","./src/app/components/tasks/file-upload-task/file-upload-task-list/file-upload-task-list.component.ts","./src/app/components/tasks/file-upload-task/file-upload-task-list/file-upload-task-list.component.html","./src/app/components/tasks/informative-task/informative-detail/informative-detail.component.ts","./src/app/components/tasks/informative-task/informative-detail/informative-detail.component.html","./src/app/components/tasks/informative-task/informative-item/informative-item.component.ts","./src/app/components/tasks/informative-task/informative-item/informative-item.component.html","./src/app/components/tasks/informative-task/informative-list/informative-list.component.ts","./src/app/components/tasks/informative-task/informative-list/informative-list.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/interceptors/error-catching.interceptor.ts","./src/app/models/EmbeddedEnvelope.ts","./src/app/models/enums/CommentType.ts","./src/app/models/enums/NotificaionFrequency.ts","./src/app/models/enums/NotificationType.ts","./src/app/models/enums/processIds.ts","./src/app/models/enums/user-actions.ts","./src/app/models/enums/user-roles.ts","./src/app/pages/Reports/reports.component.ts","./src/app/pages/Reports/reports.component.html","./src/app/pages/account-input-detail-page/account-input-detail-page.component.ts","./src/app/pages/account-input-detail-page/account-input-detail-page.component.html","./src/app/pages/account-input-list-page/account-input-list-page.component.ts","./src/app/pages/account-input-list-page/account-input-list-page.component.html","./src/app/pages/approvals-detail-page/approvals-detail-page.component.ts","./src/app/pages/approvals-detail-page/approvals-detail-page.component.html","./src/app/pages/approvals-list-page/approvals-list-page.component.ts","./src/app/pages/approvals-list-page/approvals-list-page.component.html","./src/app/pages/auth/login-failed/login-failed.component.ts","./src/app/pages/auth/login-failed/login-failed.component.html","./src/app/pages/clients/clients.component.ts","./src/app/pages/clients/clients.component.html","./src/app/pages/e-signature/esignature.component.ts","./src/app/pages/e-signature/esignature.component.html","./src/app/pages/faq/faq-categories/faq-categories.component.ts","./src/app/pages/faq/faq-categories/faq-categories.component.html","./src/app/pages/faq/faq.component.ts","./src/app/pages/faq/faq.component.html","./src/app/pages/finalized-accounts-detail-page/finalized-accounts-detail-page.component.ts","./src/app/pages/finalized-accounts-detail-page/finalized-accounts-detail-page.component.html","./src/app/pages/finalized-accounts-list-page/finalized-accounts-list-page.component.ts","./src/app/pages/finalized-accounts-list-page/finalized-accounts-list-page.component.html","./src/app/pages/illustration-input-detail-page/illustration-input-detail-page.component.html","./src/app/pages/illustration-input-detail-page/illustration-input-detail-page.component.ts","./src/app/pages/illustration-input-list-page/illustration-input-list-page.component.ts","./src/app/pages/illustration-input-list-page/illustration-input-list-page.component.html","./src/app/pages/messages/messages.component.ts","./src/app/pages/messages/messages.component.html","./src/app/pages/not-found/not-found.component.ts","./src/app/pages/not-found/not-found.component.html","./src/app/pages/overview/overview.component.ts","./src/app/pages/overview/overview.component.html","./src/app/pages/payments-detail-page/payments-detail-page.component.html","./src/app/pages/payments-detail-page/payments-detail-page.component.ts","./src/app/pages/payments-list-page/payments-list-page.component.ts","./src/app/pages/payments-list-page/payments-list-page.component.html","./src/app/pages/pooling-permissions-detail-page/pooling-permissions-detail-page.component.html","./src/app/pages/pooling-permissions-detail-page/pooling-permissions-detail-page.component.ts","./src/app/pages/pooling-permissions-list-page/pooling-permissions-list-page.component.ts","./src/app/pages/pooling-permissions-list-page/pooling-permissions-list-page.component.html","./src/app/pages/request-illustration/request-illustration.component.ts","./src/app/pages/request-illustration/request-illustration.component.html","./src/app/pages/service-fees-detail-page/service-fees-detail-page.component.html","./src/app/pages/service-fees-detail-page/service-fees-detail-page.component.ts","./src/app/pages/service-fees-list-page/service-fees-list-page.component.ts","./src/app/pages/service-fees-list-page/service-fees-list-page.component.html","./src/app/pages/supporting-files/supporting-files.component.ts","./src/app/pages/supporting-files/supporting-files.component.html","./src/app/pages/terms-and-conditions/terms-and-conditions.component.ts","./src/app/pages/terms-and-conditions/terms-and-conditions.component.html","./src/app/pages/unauthorized/unauthorized.component.ts","./src/app/pages/unauthorized/unauthorized.component.html","./src/app/services/accounts/accounts.service.ts","./src/app/services/boolean-task/boolean-task.service.ts","./src/app/services/clients.service.ts","./src/app/services/comment.service.ts","./src/app/services/common/common.service.ts","./src/app/services/contacts/contacts.service.ts","./src/app/services/document.service.ts","./src/app/services/e-signature/e-signature.service.ts","./src/app/services/faq.service.ts","./src/app/services/file-upload-task/file-upload-task.service.ts","./src/app/services/illustration/illustration.service.ts","./src/app/services/informative.service.ts","./src/app/services/network-members/network-members.service.ts","./src/app/services/popup-notifications/popup-notifications.service.ts","./src/app/services/user.service.ts","./src/app/web-api-client.ts","./src/environments/environment.ts","./src/main.ts","ignored|D:\\a\\1\\s\\src\\WebUI\\ClientApp\\node_modules\\xlsx-js-style\\dist|fs","ignored|D:\\a\\1\\s\\src\\WebUI\\ClientApp\\node_modules\\xlsx-js-style\\dist|stream"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, UrlSegment } from '@angular/router';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { UserService } from '../app/services/user.service';\r\nimport { PopupNotificationsService, MessageType } from '../app/services/popup-notifications/popup-notifications.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleGuardService implements CanActivate {\r\n isFinancial: boolean;\r\n\r\n constructor(private userService: UserService,\r\n private popupNotificationService: PopupNotificationsService, private router: Router) {\r\n this.checkUserRole();\r\n }\r\n\r\n async checkUserRole() {\r\n var user = (await this.userService.getCurrentUser());\r\n this.isFinancial = !user && user.isFinancial;\r\n }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot): Promise {\r\n const authorizedRoles = route.data.authorizedRoles;\r\n if (!this.userService.loadedUser)\r\n return false;\r\n\r\n if (this.userService.isUnauthorized) {\r\n this.router.navigate([\"unauthorized\"]);\r\n return false;\r\n }\r\n\r\n /* if (route.url[0].path == \"service-fees\" && ! this.isFinancial)\r\n {\r\n this.popupNotificationService.showMessage('You are not authorized to access this page.', MessageType.Warning);\r\n return false;\r\n } */\r\n \r\n if (!(await this.userService.getCurrentUser())?.roles) {\r\n this.popupNotificationService.showMessage(\"Your account doesn't have any role.\", MessageType.Warning);\r\n return false;\r\n }\r\n\r\n let userHasRole = false;\r\n if (authorizedRoles) {\r\n for (let role of authorizedRoles) {\r\n userHasRole = await this.userService.isUserInRole(role);\r\n if (userHasRole) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!userHasRole) {\r\n this.popupNotificationService.showMessage('You are not authorized to access this page.', MessageType.Warning);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'replace' })\r\nexport class ReplacePipe implements PipeTransform {\r\n transform(value: string, strToReplace: string, replacementStr: string): string {\r\n\r\n if (!value || !strToReplace || !replacementStr) {\r\n return value;\r\n }\r\n\r\n return value.replace(strToReplace, replacementStr);\r\n }\r\n}","export class Sort {\r\n\r\n private sortOrder = 1;\r\n private collator = new Intl.Collator(undefined, {\r\n numeric: true,\r\n sensitivity: \"base\",\r\n });\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n public startSort(property, order, type = \"\") {\r\n if (order === \"desc\") {\r\n this.sortOrder = -1;\r\n }\r\n return (a, b) => {\r\n if (type === \"date\") {\r\n return this.sortData(new Date(a[property]), new Date(b[property]));\r\n }\r\n else {\r\n return this.collator.compare(a[property], b[property]) * this.sortOrder;\r\n }\r\n }\r\n }\r\n\r\n private sortData(a, b) {\r\n if (a < b) {\r\n return -1 * this.sortOrder;\r\n } else if (a > b) {\r\n return 1 * this.sortOrder;\r\n } else {\r\n return 0 * this.sortOrder;\r\n }\r\n }\r\n}","import { Directive, Input, ElementRef, Renderer2, HostListener } from '@angular/core';\r\nimport { Sort } from './Sort';\r\n\r\n\r\n\r\n@Directive({\r\n selector: '[appSort]'\r\n})\r\nexport class SortDirective {\r\n\r\n @Input() appSort: {list:any[],prop:string};\r\n constructor(private renderer: Renderer2, private targetElem: ElementRef) { }\r\n @Input() property:string\r\n\r\n @HostListener(\"click\")\r\n sortData() {\r\n // Create Object of Sort Class\r\n const sort = new Sort();\r\n // Get Reference Of Current Clicked Element\r\n const elem = this.targetElem.nativeElement;\r\n // Get In WHich Order list should be sorted by default it should be set to desc on element attribute\r\n const order = elem.getAttribute(\"data-order\");\r\n // Get The Property Type specially set [data-type=date] if it is date field\r\n const type = elem.getAttribute(\"data-type\");\r\n // Get The Property Name from Element Attribute\r\n const property = this.appSort.prop;\r\n console.log(property);\r\n \r\n if (order === \"desc\") {\r\n this.appSort.list.sort(sort.startSort(property, order, type));\r\n elem.setAttribute(\"data-order\", \"asc\");\r\n }\r\n else {\r\n this.appSort.list.sort(sort.startSort(property, order, type));\r\n elem.setAttribute(\"data-order\", \"desc\");\r\n }\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MsalGuard } from \"@azure/msal-angular\";\r\nimport { BrowserUtils } from \"@azure/msal-browser\";\r\nimport { IllustrationDetailComponent } from \"./components/illustrations/illustration-detail/illustration-detail.component\";\r\nimport { IllustrationListComponent } from \"./components/illustrations/illustration-list/illustration-list.component\";\r\n\r\nimport { BooleanTaskDetailComponent } from \"./components/tasks/boolean-task/boolean-task-detail/boolean-task-detail.component\";\r\nimport { FileUploadTaskDetailComponent } from \"./components/tasks/file-upload-task/file-upload-task-detail/file-upload-task-detail.component\";\r\nimport { InformativeDetailComponent } from \"./components/tasks/informative-task/informative-detail/informative-detail.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { AccountInputDetailPageComponent } from \"./pages/account-input-detail-page/account-input-detail-page.component\";\r\nimport { AccountInputListPageComponent } from \"./pages/account-input-list-page/account-input-list-page.component\";\r\nimport { ApprovalsDetailPageComponent } from \"./pages/approvals-detail-page/approvals-detail-page.component\";\r\nimport { ApprovalsListPageComponent } from \"./pages/approvals-list-page/approvals-list-page.component\";\r\nimport { LoginFailedComponent } from \"./pages/auth/login-failed/login-failed.component\";\r\nimport { ClientsComponent } from \"./pages/clients/clients.component\";\r\nimport { FaqComponent } from \"./pages/faq/faq.component\";\r\nimport { IllustrationInputDetailPageComponent } from \"./pages/illustration-input-detail-page/illustration-input-detail-page.component\";\r\nimport { IllustrationInputListPageComponent } from \"./pages/illustration-input-list-page/illustration-input-list-page.component\";\r\n\r\nimport { MessagesComponent } from \"./pages/messages/messages.component\";\r\nimport { NotFoundComponent } from \"./pages/not-found/not-found.component\";\r\nimport { OverviewComponent } from \"./pages/overview/overview.component\";\r\nimport { PaymentsDetailPageComponent } from \"./pages/payments-detail-page/payments-detail-page.component\";\r\nimport { PaymentsListPageComponent } from \"./pages/payments-list-page/payments-list-page.component\";\r\nimport { PoolingPermissionsDetailPageComponent } from \"./pages/pooling-permissions-detail-page/pooling-permissions-detail-page.component\";\r\nimport { PoolingPermissionsListPageComponent } from \"./pages/pooling-permissions-list-page/pooling-permissions-list-page.component\";\r\nimport { RequestIllustrationComponent } from \"./pages/request-illustration/request-illustration.component\";\r\nimport { ServiceFeesDetailPageComponent } from \"./pages/service-fees-detail-page/service-fees-detail-page.component\";\r\nimport { ServiceFeesListPageComponent } from \"./pages/service-fees-list-page/service-fees-list-page.component\";\r\nimport { ReportsComponent } from \"./pages/Reports/reports.component\";\r\nimport { SupportingFilesComponent } from \"./pages/supporting-files/supporting-files.component\";\r\nimport { UnauthorizedComponent } from \"./pages/unauthorized/unauthorized.component\";\r\nimport { RoleGuardService } from \"../api-authorization/role-guard.service\";\r\nimport { EsignatureComponent } from \"./pages/e-signature/esignature.component\";\r\nimport { FinalizedAccountsListPageComponent } from \"./pages/finalized-accounts-list-page/finalized-accounts-list-page.component\";\r\nimport { FinalizedAccountsDetailPageComponent } from \"./pages/finalized-accounts-detail-page/finalized-accounts-detail-page.component\";\r\nimport { TermsAndConditionsComponent } from \"./pages/terms-and-conditions/terms-and-conditions.component\";\r\n\r\nexport const routes: Routes = [\r\n { path: \"\", component: OverviewComponent, canActivate: [MsalGuard] },\r\n {\r\n // Needed for hash routing\r\n path: \"error\",\r\n component: OverviewComponent,\r\n },\r\n {\r\n // Needed for hash routing\r\n path: \"state\",\r\n component: OverviewComponent,\r\n },\r\n {\r\n // Needed for hash routing\r\n path: \"code\",\r\n component: OverviewComponent,\r\n },\r\n {\r\n path: \"login-failed\",\r\n component: LoginFailedComponent,\r\n },\r\n {\r\n path: \"clients\",\r\n component: ClientsComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: ['Collaborator', 'NetworkMember']\r\n }\r\n },\r\n { path: \"faq\", component: FaqComponent, canActivate: [MsalGuard] },\r\n {\r\n path: \"service-fees\",\r\n component: ServiceFeesListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"service-fees/:id\",\r\n component: ServiceFeesDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"payments\",\r\n component: PaymentsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"payments-mu\",\r\n component: PaymentsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"payments/:id\",\r\n component: PaymentsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"payments-mu/:id\",\r\n component: PaymentsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"pooling-permission\",\r\n component: PoolingPermissionsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"pooling-permission/:id\",\r\n component: PoolingPermissionsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"illustration-input\",\r\n component: IllustrationInputListPageComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: \"illustration-input/:id\",\r\n component: IllustrationInputDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"account-input\",\r\n component: AccountInputListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"account-input/:id\",\r\n component: AccountInputDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"account-input/:id/:clientId\",\r\n component: AccountInputDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n { path: \"messages\", component: MessagesComponent, canActivate: [MsalGuard] },\r\n {\r\n path: \"all-illustrations\",\r\n component: IllustrationListComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"illustrations/:id\",\r\n component: IllustrationDetailComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"illustration-request\",\r\n component: RequestIllustrationComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"reports/:reportName\",\r\n component: ReportsComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"supporting-files\",\r\n component: SupportingFilesComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n { path: \"wiki\", component: HomeComponent, canActivate: [MsalGuard] },\r\n {\r\n path: \"file-upload/:process/:id\",\r\n component: FileUploadTaskDetailComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"boolean-task/:process/:id\",\r\n component: BooleanTaskDetailComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"approval\",\r\n component: ApprovalsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"approval/:id\",\r\n component: ApprovalsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"approval-mu\",\r\n component: ApprovalsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"approval-mu/:id\",\r\n component: ApprovalsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"e-sign\",\r\n component: EsignatureComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"finalized-accounts\",\r\n component: FinalizedAccountsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"annual-report/:id\",\r\n component: FinalizedAccountsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"terms-and-conditions\",\r\n component: TermsAndConditionsComponent,\r\n canActivate: [MsalGuard]\r\n },\r\n {\r\n path: \"unauthorized\",\r\n component: UnauthorizedComponent\r\n },\r\n { path: \"404\", component: NotFoundComponent, canActivate: [MsalGuard] },\r\n { path: \"**\", component: NotFoundComponent, canActivate: [MsalGuard] },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n useHash: true,\r\n // Don't perform initial navigation in iframes or popups\r\n /*initialNavigation:\r\n !BrowserUtils.isInIframe() && !BrowserUtils.isInPopup()\r\n ? 'enabled'\r\n : 'disabled',*/\r\n }),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { NavigationCancel, Router } from '@angular/router';\r\nimport { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular';\r\nimport { EventMessage, EventType, InteractionType, InteractionStatus, AuthenticationResult, } from '@azure/msal-browser';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { apiConfig, b2cPolicies } from './b2c-config';\r\nimport { UserService } from './services/user.service';\r\nimport { UserDto } from './web-api-client';\r\nimport { UserAction } from './models/enums/user-actions';\r\n\r\ninterface Payload extends AuthenticationResult {\r\n idTokenClaims: {\r\n tfp?: string;\r\n };\r\n}\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n})\r\n\r\nexport class AppComponent implements OnInit {\r\n title = 'app';\r\n isIframe = false;\r\n loginDisplay = false;\r\n loadingAccount = true;\r\n notAuthenticated = false;\r\n termsAndConditionsAccepted = false;\r\n redirectUrl = \"\";\r\n\r\n private readonly _destroying$ = new Subject();\r\n\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private authService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,\r\n public userService: UserService,\r\n public router: Router\r\n ) {\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n localStorage.removeItem(\"networkMemberId\");\r\n\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationCancel) {\r\n if (!this.isIframe) {\r\n if (!localStorage.getItem(\"RedirectUrl\")) {\r\n localStorage.setItem(\"RedirectUrl\", event.url);\r\n }\r\n }\r\n }\r\n })\r\n\r\n this.isIframe = window !== window.parent && !window.opener;\r\n this.loadingAccount = true;\r\n //We need to request the token in silent to make sure if the user is logged in. This will trigger the login flow\r\n setTimeout(() => {\r\n if (!this.isIframe) {\r\n this.checkAndSetActiveAccount();\r\n if (this.authService.instance.getActiveAccount()) {\r\n this.authService.instance.acquireTokenSilent({ ...apiConfig, account: this.authService.instance.getActiveAccount() });\r\n }\r\n else\r\n this.authService.loginRedirect();\r\n }\r\n }, 1000\r\n );\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS || msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS))\r\n .subscribe(async (result: EventMessage) => {\r\n this.notAuthenticated = false;\r\n const payload = result.payload as AuthenticationResult;\r\n\r\n if (payload.idTokenClaims['tfp'] === b2cPolicies.names.editProfile) {\r\n window.alert('Profile has been updated successfully. \\nPlease sign-in again.');\r\n return this.logout();\r\n }\r\n\r\n this.loadingAccount = false;\r\n\r\n this.authService.instance.setActiveAccount(payload.account);\r\n if (this.userService.isUnauthorized) {\r\n return;\r\n }\r\n\r\n var user = await this.userService.getCurrentUser();\r\n\r\n if (!user)\r\n return;\r\n\r\n if (user.termsAndConditions == null || !user.termsAndConditions.approved || user.privacyNotices == null || !user.privacyNotices.approved) {\r\n this.router.navigateByUrl(\"terms-and-conditions\");\r\n }\r\n else {\r\n this.termsAndConditionsAccepted = true;\r\n }\r\n\r\n this.checkAndSetActiveAccount();\r\n\r\n if (localStorage.getItem(\"RedirectUrl\")) {\r\n this.router.navigateByUrl(localStorage.getItem(\"RedirectUrl\"));\r\n localStorage.removeItem(\"RedirectUrl\");\r\n }\r\n\r\n this.logUserAccess();\r\n\r\n this.loadingAccount = false;\r\n });\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_FAILURE || msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE), takeUntil(this._destroying$))\r\n .subscribe(async (result: EventMessage) => {\r\n this.loadingAccount = false;\r\n this.notAuthenticated = true;\r\n\r\n // redirect to login page if user is not logged in\r\n if (!this.userService.isUnauthorized) {\r\n setTimeout(() => {\r\n this.authService.loginRedirect();\r\n }, 3000);\r\n }\r\n });\r\n\r\n this.msalBroadcastService.inProgress$\r\n .pipe(filter((status: InteractionStatus) => status === InteractionStatus.None), takeUntil(this._destroying$))\r\n .subscribe(async () => {\r\n await this.setLoginDisplay();\r\n });\r\n\r\n this.authService.handleRedirectObservable().subscribe({\r\n next: (result: AuthenticationResult) => {\r\n },\r\n error: (error) => console.log(error)\r\n });\r\n }\r\n\r\n async logUserAccess() {\r\n var user = await this.userService.getCurrentUser();\r\n\r\n this.userService.logUserActivity(UserAction.Login, user.id, user.email, \"\");\r\n }\r\n\r\n async setLoginDisplay() {\r\n this.loginDisplay = this.authService.instance.getAllAccounts().length > 0;\r\n }\r\n\r\n checkAndSetActiveAccount() {\r\n /**\r\n * If no active account set but there are accounts signed in, sets first account to active account\r\n * To use active account set here, subscribe to inProgress$ first in your component\r\n * Note: Basic usage demonstrated. Your app may require more complicated account selection logic\r\n */\r\n const activeAccount = this.authService.instance.getActiveAccount();\r\n\r\n if (!activeAccount && this.authService.instance.getAllAccounts().length > 0) {\r\n const accounts = this.authService.instance.getAllAccounts();\r\n this.authService.instance.setActiveAccount(accounts[0]);\r\n }\r\n }\r\n\r\n logout() {\r\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\r\n this.authService.logoutPopup({\r\n mainWindowRedirectUri: '/',\r\n });\r\n } else {\r\n this.authService.logoutRedirect();\r\n }\r\n\r\n let user: UserDto;\r\n this.userService.getCurrentUser().then(usr => user = usr);\r\n }\r\n\r\n editProfile() {\r\n const editProfileFlowRequest = {\r\n scopes: ['openid'],\r\n authority: b2cPolicies.authorities.editProfile.authority,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroying$.next(undefined);\r\n this._destroying$.complete();\r\n }\r\n}\r\n","
\r\n

Hello, we are checking your authentication.

\r\n

You are not authenticated and you will be redirected to the login page.

\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { AppComponent } from './app.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { API_BASE_URL } from './web-api-client';\r\nimport { FileUploadButtonComponent } from './components/Inputs/file-upload-button/file-upload-button.component';\r\nimport { RequestIllustrationComponent } from './pages/request-illustration/request-illustration.component';\r\nimport { FileUploadTaskDetailComponent } from './components/tasks/file-upload-task/file-upload-task-detail/file-upload-task-detail.component';\r\nimport { FileUploadTaskListComponent } from './components/tasks/file-upload-task/file-upload-task-list/file-upload-task-list.component';\r\nimport { InformativeListComponent } from './components/tasks/informative-task/informative-list/informative-list.component';\r\nimport { InformativeDetailComponent } from './components/tasks/informative-task/informative-detail/informative-detail.component';\r\nimport { InformativeItemComponent } from './components/tasks/informative-task/informative-item/informative-item.component';\r\nimport { HeaderComponent } from './components/common/header/header.component';\r\nimport { NavMenuComponent } from './components/common/nav-menu/nav-menu.component';\r\nimport { CommentItemComponent } from './components/tasks/comment-task/comment-item/comment-item.component';\r\nimport { CommentListComponent } from './components/tasks/comment-task/comment-list/comment-list.component';\r\nimport { CommentDetailComponent } from './components/tasks/comment-task/comment-form/comment-form.component';\r\nimport { OverviewComponent } from './pages/overview/overview.component';\r\nimport { IllustrationListComponent } from './components/illustrations/illustration-list/illustration-list.component';\r\nimport { IllustrationDetailComponent } from './components/illustrations/illustration-detail/illustration-detail.component';\r\nimport { BooleanTaskDetailComponent } from './components/tasks/boolean-task/boolean-task-detail/boolean-task-detail.component';\r\nimport { BooleanTaskListComponent } from './components/tasks/boolean-task/boolean-task-list/boolean-task-list.component';\r\nimport { ClientsComponent } from './pages/clients/clients.component';\r\nimport { ClientsDetailComponent } from './components/clients/clients-detail/clients-detail.component';\r\nimport { ClientsSearchComponent } from './components/common/filters/clients-search/clients-search.component';\r\nimport { FooterComponent } from './components/common/footer/footer.component';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxEditorModule } from 'ngx-editor';\r\nimport { QuillModule } from 'ngx-quill'\r\nimport { FileSaverModule } from 'ngx-filesaver';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { CookieConsentComponent } from './components/common/cookie-consent/cookie-consent.component';\r\n\r\nimport {\r\n IPublicClientApplication,\r\n PublicClientApplication,\r\n InteractionType,\r\n BrowserCacheLocation,\r\n LogLevel,\r\n} from '@azure/msal-browser';\r\nimport {\r\n MsalGuard,\r\n MsalInterceptor,\r\n MsalBroadcastService,\r\n MsalInterceptorConfiguration,\r\n MsalModule,\r\n MsalService,\r\n MSAL_GUARD_CONFIG,\r\n MSAL_INSTANCE,\r\n MSAL_INTERCEPTOR_CONFIG,\r\n MsalGuardConfiguration,\r\n MsalRedirectComponent,\r\n} from '@azure/msal-angular';\r\n\r\nimport { b2cPolicies, apiConfig } from './b2c-config';\r\nimport { LoginFailedComponent } from './pages/auth/login-failed/login-failed.component';\r\nimport { ServiceFeesListPageComponent } from './pages/service-fees-list-page/service-fees-list-page.component';\r\nimport { PaymentsListPageComponent } from './pages/payments-list-page/payments-list-page.component';\r\nimport { ApprovalsListPageComponent } from './pages/approvals-list-page/approvals-list-page.component';\r\nimport { AccountInputListPageComponent } from './pages/account-input-list-page/account-input-list-page.component';\r\nimport { PoolingPermissionsListPageComponent } from './pages/pooling-permissions-list-page/pooling-permissions-list-page.component';\r\nimport { NetworkMemberFilterComponent } from './components/common/filters/network-member-filter/network-member-filter.component';\r\nimport { FaqComponent } from './pages/faq/faq.component';\r\nimport { FaqCategoriesComponent } from './pages/faq/faq-categories/faq-categories.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ConfirmationModalComponent } from './components/common/confirmation-modal/confirmation-modal.component';\r\nimport { MessageBoxComponent } from './components/common/message-box/message-box.component';\r\nimport { NotFoundComponent } from './pages/not-found/not-found.component';\r\nimport { ServiceFeesDetailPageComponent } from './pages/service-fees-detail-page/service-fees-detail-page.component';\r\nimport { PaymentsDetailPageComponent } from './pages/payments-detail-page/payments-detail-page.component';\r\nimport { PoolingPermissionsDetailPageComponent } from './pages/pooling-permissions-detail-page/pooling-permissions-detail-page.component';\r\nimport { AccountInputDetailPageComponent } from './pages/account-input-detail-page/account-input-detail-page.component';\r\nimport { ApprovalsDetailPageComponent } from './pages/approvals-detail-page/approvals-detail-page.component';\r\nimport { AttachmentListComponent } from './components/common/attachment-list/attachment-list.component';\r\nimport { ModalBasicComponent } from './components/common/modal-basic/modal-basic.component';\r\nimport { UnauthorizedComponent } from './pages/unauthorized/unauthorized.component';\r\nimport { ErrorCatchingInterceptor } from './interceptors/error-catching.interceptor';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { IllustrationInputDetailPageComponent } from './pages/illustration-input-detail-page/illustration-input-detail-page.component';\r\nimport { IllustrationInputListPageComponent } from './pages/illustration-input-list-page/illustration-input-list-page.component';\r\nimport { NgbdSortableHeaderDirective } from './components/clients/clients-detail/ngbd-sortable-header.directive';\r\nimport { RefreshTaskViewComponent } from './components/common/refresh-task-view/refresh-task-view.component';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { UsersSearchComponent } from './components/common/filters/users-search/users-search.component';\r\nimport { MultipleFilterSearchComponent } from './components/common/filters/multiple-filter-search/multiple-filter-search.component';\r\nimport { PowerBIEmbedModule } from 'powerbi-client-angular';\r\nimport { ReportsComponent } from './pages/Reports/reports.component';\r\nimport { EsignatureComponent } from './pages/e-signature/esignature.component';\r\nimport { FinalizedAccountsDetailPageComponent } from './pages/finalized-accounts-detail-page/finalized-accounts-detail-page.component';\r\nimport { FinalizedAccountsListPageComponent } from './pages/finalized-accounts-list-page/finalized-accounts-list-page.component';\r\nimport { ReplacePipe } from './Common/ReplacePipe';\r\nimport { StatusFilterComponent } from './components/common/filters/status-filter/status-filter.component';\r\nimport { YearFilterComponent } from './components/common/filters/year-filter/year-filter.component';\r\nimport { TermsAndConditionsComponent } from './pages/terms-and-conditions/terms-and-conditions.component';\r\nimport { SortDirective } from './Common/SortDirective';\r\nimport { PaymentFilterComponent } from './components/common/filters/payment-filter/payment-filter.component';\r\nimport { TagFilterComponent } from './components/common/filters/tag-filter/tag-filter.component';\r\nimport { LoadingSpinnerComponent } from './components/common/visual-loading/loading-spinner/loading-spinner.component';\r\n\r\nconst isIE =\r\n window.navigator.userAgent.indexOf('MSIE ') > -1 ||\r\n window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\nexport function loggerCallback(logLevel: LogLevel, message: string) {\r\n}\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n return new PublicClientApplication({\r\n auth: {\r\n clientId: '919de41c-4399-4183-8334-bd1167d351ad',\r\n authority: b2cPolicies.authorities.signUpSignIn.authority,\r\n redirectUri: '/',\r\n postLogoutRedirectUri: '/',\r\n knownAuthorities: [b2cPolicies.authorityDomain],\r\n navigateToLoginRequestUrl: true,\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage,\r\n storeAuthStateInCookie: isIE, // set to true for IE 11\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback,\r\n logLevel: LogLevel.Info,\r\n piiLoggingEnabled: false,\r\n },\r\n },\r\n });\r\n}\r\n\r\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\r\n const protectedResourceMap = new Map>();\r\n protectedResourceMap.set(apiConfig.uri, apiConfig.scopes);\r\n\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap,\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scopes: [...apiConfig.scopes],\r\n },\r\n loginFailedRoute: 'login-failed',\r\n };\r\n}\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n HomeComponent,\r\n NgbdSortableHeaderDirective,\r\n FileUploadButtonComponent,\r\n RequestIllustrationComponent,\r\n FileUploadTaskDetailComponent,\r\n FileUploadTaskListComponent,\r\n InformativeListComponent,\r\n InformativeDetailComponent,\r\n InformativeItemComponent,\r\n HeaderComponent,\r\n CommentItemComponent,\r\n CommentListComponent,\r\n CommentDetailComponent,\r\n ReportsComponent,\r\n OverviewComponent,\r\n IllustrationListComponent,\r\n IllustrationDetailComponent,\r\n BooleanTaskDetailComponent,\r\n BooleanTaskListComponent,\r\n ClientsComponent,\r\n ClientsDetailComponent,\r\n ClientsSearchComponent,\r\n LoginFailedComponent,\r\n ServiceFeesListPageComponent,\r\n PaymentsListPageComponent,\r\n ApprovalsListPageComponent,\r\n AccountInputListPageComponent,\r\n PoolingPermissionsListPageComponent,\r\n FaqComponent,\r\n NetworkMemberFilterComponent,\r\n FaqCategoriesComponent,\r\n ConfirmationModalComponent,\r\n MessageBoxComponent,\r\n NotFoundComponent,\r\n ServiceFeesDetailPageComponent,\r\n PaymentsDetailPageComponent,\r\n PoolingPermissionsDetailPageComponent,\r\n AccountInputDetailPageComponent,\r\n ApprovalsDetailPageComponent,\r\n AttachmentListComponent,\r\n ModalBasicComponent,\r\n AttachmentListComponent,\r\n UnauthorizedComponent,\r\n IllustrationInputDetailPageComponent,\r\n IllustrationInputListPageComponent,\r\n RefreshTaskViewComponent,\r\n UsersSearchComponent,\r\n MultipleFilterSearchComponent,\r\n EsignatureComponent,\r\n FinalizedAccountsDetailPageComponent,\r\n FinalizedAccountsListPageComponent,\r\n ReplacePipe,\r\n FooterComponent,\r\n ReplacePipe,\r\n StatusFilterComponent,\r\n YearFilterComponent,\r\n CookieConsentComponent,\r\n TermsAndConditionsComponent,\r\n SortDirective,\r\n PaymentFilterComponent,\r\n TagFilterComponent,\r\n LoadingSpinnerComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n FontAwesomeModule,\r\n HttpClientModule,\r\n FormsModule,\r\n MsalModule,\r\n PowerBIEmbedModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n ToastrModule.forRoot({\r\n timeOut: 10000,\r\n positionClass: 'toast-bottom-right',\r\n preventDuplicates: true,\r\n }),\r\n ModalModule.forRoot(),\r\n ReactiveFormsModule,\r\n BsDatepickerModule.forRoot(),\r\n NgbModule,\r\n TextFieldModule,\r\n NgxEditorModule,\r\n QuillModule.forRoot(),\r\n FileSaverModule,\r\n NgxDocViewerModule\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA\r\n ],\r\n providers: [\r\n // { provide: HTTP_INTERCEPTORS, useClass: AuthorizeInterceptor, multi: true },\r\n // { provide: API_BASE_URL, useValue: 'https://insurope-collaboration-platform-dev.azurewebsites.net' },\r\n { provide: API_BASE_URL, useValue: '' },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ErrorCatchingInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: MSALInstanceFactory,\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory,\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: MSALInterceptorConfigFactory,\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n DatePipe,\r\n CookieService\r\n ],\r\n bootstrap: [AppComponent, MsalRedirectComponent],\r\n\r\n})\r\nexport class AppModule { }\r\n","/**\r\n * Enter here the user flows and custom policies for your B2C application\r\n * To learn more about user flows, visit: https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-flow-overview\r\n * To learn more about custom policies, visit: https://docs.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-overview\r\n */\r\nexport const b2cPolicies = {\r\n names: {\r\n signUpSignIn: 'B2C_1_signupSignin',\r\n editProfile: '',\r\n },\r\n authorities: {\r\n signUpSignIn: {\r\n authority:\r\n 'https://insuropeb2c2.b2clogin.com/insuropeb2c2.onmicrosoft.com/B2C_1_signupSignin',\r\n },\r\n editProfile: {\r\n authority:\r\n 'https://insuropeb2c2.b2clogin.com/insuropeb2c2.onmicrosoft.com/B2C_1_signin',\r\n },\r\n },\r\n authorityDomain: 'insuropeb2c2.b2clogin.com',\r\n};\r\n\r\n/**\r\n * Enter here the coordinates of your web API and scopes for access token request\r\n * The current application coordinates were pre-registered in a B2C tenant.\r\n */\r\nexport const apiConfig: { scopes: string[]; uri: string } = {\r\n scopes: [\r\n 'https://insuropeb2c2.onmicrosoft.com/919de41c-4399-4183-8334-bd1167d351ad/user-access',\r\n ],\r\n uri: '/',\r\n // uri: 'https://insurope-collaboration-platform-dev.azurewebsites.net',\r\n};\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-file-upload-button',\r\n templateUrl: './file-upload-button.component.html',\r\n styleUrls: ['./file-upload-button.component.scss']\r\n})\r\nexport class FileUploadButtonComponent implements OnInit {\r\n\r\n // needed import params\r\n @Input() fileTypes: string = \"\";\r\n @Input() acceptMultipleFiles: boolean = false;\r\n @ViewChild('uploadInput') uploadInput;\r\n // declare output params\r\n @Output() fileUploaded = new EventEmitter<{ isUploaded: boolean, message: string, files?: File[] }>();\r\n // constructor\r\n constructor() { }\r\n\r\n // oninit\r\n ngOnInit(): void {\r\n }\r\n\r\n // called when uploading files\r\n onFileSelected(event) {\r\n // notify parent if files has been uploaded\r\n if (event.target.files.length > 0) {\r\n let files: File[] = [];\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n files.push(event.target.files[i]);\r\n }\r\n this.fileUploaded.emit({ isUploaded: true, message: event.target.files.length + \" file(s) have been selected\", files: files });\r\n }\r\n else\r\n this.fileUploaded.emit({ isUploaded: false, message: \"no files were selected\" });\r\n this.uploadInput.nativeElement.value = '';\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, QueryList, SimpleChanges, ViewChildren } from '@angular/core';\r\nimport { faDownload } from '@fortawesome/free-solid-svg-icons';\r\nimport { AccountsService } from 'src/app/services/accounts/accounts.service';\r\nimport { ClientsService } from 'src/app/services/clients.service';\r\nimport { ContactsService } from 'src/app/services/contacts/contacts.service';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\nimport { AccountDto, ContactDto, CrmAttachmentDto, ExpansionPlanDto, PaginatedListOfCrmAttachmentDto, PaginatedListOfExpansionPlanDto, TechnicalContact } from 'src/app/web-api-client';\r\nimport * as XLSX from 'xlsx';\r\nimport { NgbdSortableHeaderDirective, SortEvent } from './ngbd-sortable-header.directive';\r\n\r\n@Component({\r\n selector: 'app-clients-detail',\r\n templateUrl: './clients-detail.component.html',\r\n styleUrls: ['./clients-detail.component.scss']\r\n})\r\nexport class ClientsDetailComponent implements OnInit {\r\n\r\n // take the client as input\r\n @Input() client: AccountDto;\r\n\r\n sortColumn: string;\r\n sortDirection: string;\r\n\r\n technicalContact: TechnicalContact;\r\n companyContact: ContactDto;\r\n consultantContact: ContactDto;\r\n loadingContacts: boolean = false;\r\n\r\n expansionPlans: PaginatedListOfExpansionPlanDto;\r\n loadingExpansionPlans: boolean = false;\r\n exportingExpansionPlans: boolean = false;\r\n\r\n // hold the attachments\r\n attachments: PaginatedListOfCrmAttachmentDto;\r\n attachmentsSizes: string[] = [];\r\n loadingAttachments: boolean = false;\r\n \r\n @Input() loadingImportantFiles: boolean = false;\r\n\r\n contractualDocuments: PaginatedListOfCrmAttachmentDto;\r\n contractualDocumentsSizes: string[] = [];\r\n loadingContractualDocuments: boolean = false;\r\n\r\n @Input() latestAnnualReportId: string;\r\n @Input() latestCompositionReportId: string;\r\n @Input() latestDividendPaymentLetterId: string;\r\n\r\n @Output() changeClientViewActiveTab = new EventEmitter();\r\n\r\n // take the sortable headers\r\n @ViewChildren(NgbdSortableHeaderDirective) headers: QueryList;\r\n\r\n // hold the view to display\r\n viewToDisplay: string = 'info';\r\n\r\n // fa icons\r\n faDownload = faDownload;\r\n\r\n sizes: string[] = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\" ];\r\n \r\n pageSize: number = 20;\r\n public expansionPlansPageNumber: number = 1;\r\n public attachmentsPageNumber: number = 1;\r\n public contractualDocumentsPageNumber: number = 1;\r\n\r\n // constructor\r\n constructor(private clientsService: ClientsService,\r\n private accountService: AccountsService,\r\n private popupNotifications: PopupNotificationsService,\r\n private contactsService: ContactsService) { }\r\n\r\n // oninit method\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.client && changes.client.currentValue) { //changes.client check if it has change and changes.client.currentValue check if it's null\r\n this.loadContacts();\r\n this.loadContractualDocuments(); \r\n this.loadAttachments();\r\n this.loadExpansionPlans();\r\n }\r\n }\r\n \r\n // download an attachment\r\n async downloadAttachment(attachmentId: string) {\r\n this.loadingContractualDocuments = true;\r\n this.loadingAttachments = true;\r\n this.loadingImportantFiles = true;\r\n let file = await this.clientsService.downloadAttachment(attachmentId);\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n const blob: any = new Blob([file.data], { type: file.data.type });\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = file.fileName;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n this.loadingContractualDocuments = false;\r\n this.loadingAttachments = false;\r\n this.loadingImportantFiles = false;\r\n }\r\n\r\n // change view method\r\n changeView(view: string) {\r\n this.changeClientViewActiveTab.emit(view);\r\n this.viewToDisplay = view;\r\n }\r\n\r\n async downloadLatestAccountingExcel() {\r\n try {\r\n this.loadingImportantFiles = true;\r\n let file = await this.accountService.getAccountExcelFile(this.client.externalAccountNumber);\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n const blob: any = new Blob([file.data], { type: file.data.type });\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = file.fileName;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n } catch (error) {\r\n if (error.status == 404) {\r\n this.popupNotifications.showMessage(\"There was no excel file found for this account.\", MessageType.Warning);\r\n }\r\n }\r\n this.loadingImportantFiles = false;\r\n }\r\n\r\n async loadExpansionPlans(page?: number) {\r\n this.loadingExpansionPlans = true;\r\n if (page) {\r\n this.expansionPlansPageNumber = page;\r\n }\r\n this.expansionPlans = await this.accountService.getAccountExpansionPlan(this.client.id, this.expansionPlansPageNumber, this.pageSize, this.sortColumn, this.sortDirection);\r\n this.loadingExpansionPlans = false;\r\n }\r\n\r\n async loadAttachments(page?: number) {\r\n this.loadingAttachments = true;\r\n if (page) {\r\n this.attachmentsPageNumber = page;\r\n }\r\n this.attachments = await this.clientsService.getClientContracts(this.client.id, this.attachmentsPageNumber, this.pageSize);\r\n this.attachments.items.forEach(att => {\r\n let order = 0;\r\n let len = att.fileSize;\r\n while (len >= 1024 && order < this.sizes.length - 1) {\r\n order ++;\r\n len = len / 1024;\r\n }\r\n this.attachmentsSizes.push(((order == 0 || order == 1) ? len.toFixed() : len.toFixed(2)) + \" \" + this.sizes[order]);\r\n });\r\n this.loadingAttachments = false;\r\n }\r\n\r\n async loadContacts() {\r\n this.loadingContacts = true;\r\n try {\r\n if (this.client.externalAccountNumber) {\r\n this.technicalContact = await this.clientsService.getTechnicalContact(this.client.externalAccountNumber);\r\n }\r\n } catch (error) {}\r\n\r\n try {\r\n this.companyContact = await this.contactsService.GetPrimaryContactFromAccount(this.client.id);\r\n } catch (error) {\r\n }\r\n \r\n try {\r\n this.consultantContact = await this.contactsService.GetConsultantContactFromAccount(this.client.id);\r\n } catch (error) {\r\n }\r\n this.loadingContacts = false;\r\n }\r\n\r\n async loadContractualDocuments(page?: number) {\r\n this.loadingContractualDocuments = true;\r\n if (page) {\r\n this.contractualDocumentsPageNumber = page;\r\n }\r\n this.contractualDocuments = await this.clientsService.getClientContractualDocuments(this.client.id, this.contractualDocumentsPageNumber, this.pageSize);\r\n this.contractualDocuments.items.forEach(att => {\r\n let order = 0;\r\n let len = att.fileSize;\r\n while (len >= 1024 && order < this.sizes.length - 1) {\r\n order ++;\r\n len = len / 1024;\r\n }\r\n this.contractualDocumentsSizes.push(((order == 0 || order == 1) ? len.toFixed() : len.toFixed(2)) + \" \" + this.sizes[order]);\r\n });\r\n this.loadingContractualDocuments = false;\r\n }\r\n\r\n async exportexcel()\r\n {\r\n if (!this.exportingExpansionPlans)\r\n {\r\n this.exportingExpansionPlans = true;\r\n let elements = (await this.accountService.getAccountExpansionPlan(this.client.id, 1, this.expansionPlans.totalCount, null, null)).items.map(({ id, account, ...item }) => item);\r\n \r\n // create worksheet from the list\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(elements);\r\n \r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Expansion plans');\r\n \r\n /* save to file */\r\n XLSX.writeFile(wb, this.client.accountName + \".xlsx\");\r\n \r\n this.exportingExpansionPlans = false;\r\n }\r\n }\r\n\r\n // method called when sorting header click\r\n async onSort({ column, direction }: SortEvent) {\r\n // reset other headers\r\n this.headers.forEach(header => {\r\n if (header.sortable !== column) {\r\n header.direction = '';\r\n }\r\n });\r\n\r\n this.sortColumn = column;\r\n this.sortDirection = direction;\r\n\r\n await this.loadExpansionPlans(this.expansionPlansPageNumber);\r\n \r\n }\r\n\r\n counter(i: number) {\r\n return new Array(i);\r\n}\r\n\r\n}\r\n","
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Type

\r\n {{ client.type }}\r\n
\r\n \r\n
\r\n

Pooling System

\r\n {{ client.accountX.systems }}\r\n
\r\n \r\n
\r\n

Dividend paid

\r\n {{ client.accountX.dividend }}\r\n
\r\n\r\n
\r\n

Currency

\r\n {{ client.currencyCode }}\r\n
\r\n\r\n
\r\n

Pool starting date

\r\n {{ client.accountX.pooldate | date }}\r\n
\r\n \r\n
\r\n

Comments

\r\n {{ client.accountX.poolComments }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Result

\r\n {{ client.accountX.result | number }} {{ client.currencyCode }}\r\n
\r\n\r\n
\r\n

Carry Forward Result

\r\n {{ client.accountX.carry_forward_result | number }} {{ client.currencyCode }}\r\n
\r\n\r\n
\r\n

Last account

\r\n {{ client.accountX.last_Account }}\r\n
\r\n\r\n
\r\n

Total pooled lives

\r\n {{ client.accountX.lives }}\r\n
\r\n\r\n
\r\n

Total pooled premium - common currency

\r\n {{ client.accountX.premium | number }} {{ client.currencyCode }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Important files\r\n
\r\n

\r\n \r\n
\r\n\r\n
\r\n

Current {{ client.accountX.currentPooledCountries }} Pooled Countries (EP)

\r\n
\r\n \r\n
\r\n

Current {{ client.accountX.currentPRCountries }} Non-Pooled Countries (EP)

\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Acc manager

\r\n
\r\n
\r\n

Name

\r\n {{ client.accountManager.userInfo.userName }}\r\n
\r\n \r\n
\r\n

Phone nr

\r\n {{ client.accountManager.userInfo.phone }}\r\n
\r\n
\r\n

Mobile nr

\r\n {{ client.accountManager.userInfo.mobile }}\r\n
\r\n
\r\n

Region

\r\n {{ client.accountManager.userInfo.region }}\r\n
\r\n
\r\n

Country

\r\n {{ client.accountManager.userInfo.address.country }}\r\n
\r\n
\r\n
\r\n
\r\n

Support

\r\n
\r\n
\r\n

Name

\r\n {{ client.divisionalManager.userInfo.userName }}\r\n
\r\n \r\n
\r\n

Phone nr

\r\n {{ client.divisionalManager.userInfo.phone }}\r\n
\r\n
\r\n

Mobile nr

\r\n {{ client.divisionalManager.userInfo.mobile }}\r\n
\r\n
\r\n

Region

\r\n {{ client.divisionalManager.userInfo.region }}\r\n
\r\n
\r\n

Country

\r\n {{ client.divisionalManager.userInfo.address.country }}\r\n
\r\n
\r\n
\r\n
\r\n

Technical

\r\n
\r\n
\r\n

Name

\r\n {{ technicalContact.name }}\r\n
\r\n
\r\n

Email

\r\n {{ technicalContact.email }}\r\n
\r\n
\r\n

Phone nr

\r\n {{ technicalContact.phone }}\r\n
\r\n
\r\n
\r\n
\r\n

Company

\r\n
\r\n
\r\n

Name

\r\n {{ companyContact.name }}\r\n
\r\n
\r\n

Email

\r\n {{ companyContact.email }}\r\n
\r\n
\r\n

Phone nr

\r\n {{ companyContact.workPhone }}\r\n
\r\n
\r\n
\r\n
\r\n

Consultant

\r\n
\r\n
\r\n

Name

\r\n {{ consultantContact.name }}\r\n
\r\n
\r\n

Email

\r\n {{ consultantContact.email }}\r\n
\r\n
\r\n

Phone nr

\r\n {{ consultantContact.workPhone }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

Contractual documents

\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n

There are no contractual documents.

\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AttachmentUserModified DateSizeDownload
{{ contractualDocument.description }}{{ contractualDocument.createUser.userName }}{{ contractualDocument.modifyDate | date:'d MMM y' }}{{ contractualDocumentsSizes[i] }}
\r\n\r\n
0 && contractualDocuments?.totalPages > 1\">\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

Attachments

\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n

There are no attachments.

\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DescriptionUserAttached DateSizeDownload
{{ attachment.description }}{{ attachment.createUser.userName }}{{ attachment.attachDate | date:'d MMM y' }}{{ attachmentsSizes[i] }}
\r\n\r\n
0 && attachments?.totalPages > 1\">\r\n \r\n
\r\n\r\n
\r\n
\r\n

Expansion plans

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

There are no expansion plans.

\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AccountCountryLocal Company NameStatusPooled since / Renewal DateBenefitsEmployeesPremium in pool currencyCommentsBroker ContactCompany ContactInsurerNetwork
{{ expansionPlan.account.accountName }}{{ expansionPlan.country }}{{ expansionPlan.local_company_name }}{{ expansionPlan.status }}{{ expansionPlan.startDate | date:'dd MMM yyyy' }}{{ expansionPlan.benefits }}{{ expansionPlan.employees }}{{ expansionPlan.premiumPoolCurrency | number }}{{ expansionPlan.comments }}{{ expansionPlan.brokerComtact }}{{ expansionPlan.companyContact }}{{ expansionPlan.insurer }}{{ expansionPlan.insNetwork }}
\r\n
\r\n
0 && expansionPlans?.totalPages > 1\">\r\n \r\n
\r\n\r\n
","import { Directive, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ExpansionPlanDto } from 'src/app/web-api-client';\r\n\r\nexport type SortColumn = keyof ExpansionPlanDto | '';\r\nexport type SortDirection = 'asc' | 'desc' | '';\r\nconst rotate: { [key: string]: SortDirection } = { 'asc': 'desc', 'desc': '', '': 'asc' };\r\n\r\nexport interface SortEvent {\r\n column: SortColumn;\r\n direction: SortDirection;\r\n}\r\n\r\n@Directive({\r\n selector: 'th[sortable]',\r\n host: {\r\n '[class.asc]': 'direction === \"asc\"',\r\n '[class.desc]': 'direction === \"desc\"',\r\n '(click)': 'rotate()'\r\n }\r\n})\r\nexport class NgbdSortableHeaderDirective {\r\n\r\n @Input() sortable: SortColumn = '';\r\n @Input() direction: SortDirection = '';\r\n @Output() sort = new EventEmitter();\r\n\r\n // method to change the direction\r\n rotate() {\r\n this.direction = rotate[this.direction];\r\n this.sort.emit({ column: this.sortable, direction: this.direction });\r\n }\r\n\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { faDownload } from '@fortawesome/free-solid-svg-icons';\r\nimport * as FileSaver from 'file-saver';\r\nimport { BooleanTaskService } from 'src/app/services/boolean-task/boolean-task.service';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\nimport { Attachment, AttachmentDTO } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-attachment-list',\r\n templateUrl: './attachment-list.component.html',\r\n styleUrls: ['./attachment-list.component.scss']\r\n})\r\nexport class AttachmentListComponent implements OnInit {\r\n\r\n // take list of attachments as input\r\n @Input() attachments: Attachment[] = [];\r\n @Input() commentAttachments: AttachmentDTO[] = []\r\n @Input() isSystemAttachment: boolean = false;\r\n @Input() adminDbAttachments: string[];\r\n @Input() illustrationAttachments: string[];\r\n\r\n @Input() service: any;\r\n\r\n // take title as input\r\n @Input() title: string = \"Files\";\r\n\r\n // hold the task id\r\n taskId: string;\r\n\r\n // fa icons\r\n faDownload = faDownload;\r\n\r\n // display the loading indicator or not\r\n downloadingFile: boolean = false;\r\n\r\n // constructor\r\n constructor(private activatedroute: ActivatedRoute, private popupNotificationsService: PopupNotificationsService, private commentService: CommentService, public documentService: DocumentService, private booleanTaskService: BooleanTaskService) { }\r\n\r\n // oninit method\r\n ngOnInit(): void {\r\n // get the task id\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.attachments.sort((a, b) => new Date(b.fileDate).getTime() - new Date(a.fileDate).getTime());\r\n }\r\n\r\n async downloadFileFromPath(filePath: string) {\r\n // downloading started\r\n this.downloadingFile = true;\r\n // get the download string\r\n this.service.downloadFileFromPath(this.taskId, filePath).then((downloadString) => {\r\n let fileName = filePath.split('/').pop();\r\n // download the file from the server\r\n let download = \"data:application/octet-stream;base64,\" + downloadString;\r\n // download the file\r\n var a = document.createElement('a');\r\n a.setAttribute('href', download);\r\n a.setAttribute('download', fileName);\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n\r\n // downloading finished\r\n this.downloadingFile = false;\r\n }).catch((error: { status: number; }) => {\r\n // if the error is forbidden\r\n if (error.status == 403) {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"You are not authorized to download this file, please contact insuropexchange@insurope.com\", MessageType.Warning);\r\n }\r\n // if the error is not found\r\n else if (error.status == 404) {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"File not found\", MessageType.Error);\r\n }\r\n else {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"An error occurred while downloading the file\", MessageType.Error);\r\n }\r\n // downloading finished\r\n this.downloadingFile = false;\r\n });\r\n }\r\n\r\n // method to download the file\r\n async downloadFile(file: Attachment) {\r\n // downloading started\r\n this.downloadingFile = true;\r\n\r\n // get the download string\r\n this.service.downloadFile(this.taskId, file.id, this.isSystemAttachment).then((downloadString) => {\r\n\r\n // download the file from the server\r\n let download = \"data:application/octet-stream;base64,\" + downloadString;\r\n // download the file\r\n var a = document.createElement('a');\r\n a.setAttribute('href', download);\r\n a.setAttribute('download', file.name);\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n\r\n // downloading finished\r\n this.downloadingFile = false;\r\n }).catch((error) => {\r\n // if the error is forbidden\r\n if (error.status == 403) {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"You are not authorized to download this file, please contact insuropexchange@insurope.com\", MessageType.Warning);\r\n }\r\n // if the error is not found\r\n else if (error.status == 404) {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"File not found\", MessageType.Error);\r\n }\r\n else {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"An error occurred while downloading the file\", MessageType.Error);\r\n }\r\n\r\n // downloading finished\r\n this.downloadingFile = false;\r\n });\r\n }\r\n\r\n // method to download the file\r\n async downloadCommentFile(file: AttachmentDTO) {\r\n this.downloadingFile = true;\r\n // download the file from the server\r\n let download = \"data:application/octet-stream;base64,\" + await this.commentService.downloadFile(file.commentId, this.taskId, file.id);\r\n\r\n // download the file\r\n var a = document.createElement('a');\r\n a.setAttribute('href', download);\r\n a.setAttribute('download', file.name);\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n this.downloadingFile = false;\r\n }\r\n\r\n async downloadAdminDbFile(path: string) {\r\n var fileType = path.split(\".\")[1];\r\n\r\n if (fileType != \"docx\" && fileType != \"doc\") {\r\n this.downloadFileFromPath(path);\r\n return;\r\n }\r\n\r\n this.downloadingFile = true;\r\n var file = await this.documentService.getAdminDbDocToPdf(path);\r\n const imageBlob = this.dataURItoBlob(file);\r\n var newPath = this.documentService.sanitizeFileName(path, \".pdf\")\r\n var test = new File([imageBlob], newPath, { type: 'application/pdf' });\r\n FileSaver.saveAs(test)\r\n this.downloadingFile = false;\r\n }\r\n\r\n dataURItoBlob(dataURI) {\r\n const byteString = window.atob(dataURI);\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const int8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < byteString.length; i++) {\r\n int8Array[i] = byteString.charCodeAt(i);\r\n }\r\n const blob = new Blob([int8Array], { type: 'application/pdf' });\r\n return blob;\r\n }\r\n\r\n formatdate(fileDate: Date) {\r\n\r\n if (fileDate.getTime() < new Date('Mon Jan 01 0001 00:17:30 GMT+0017').getTime()) {\r\n return '';\r\n }\r\n else {\r\n return fileDate?.toLocaleDateString('en-US', { month: 'short', day: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit' });\r\n }\r\n\r\n }\r\n}\r\n","
\r\n \r\n
0\" class=\"card d-flex flex-grow-1\" style=\"width: 25%;\">\r\n
\r\n

Attachments\r\n
\r\n Loading...\r\n
\r\n

\r\n
\r\n
    \r\n
  • \r\n {{ this.documentService.sanitizeFileName(file.name) }}\r\n at {{ formatdate(file.fileDate) }}\r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n
0\" class=\"card d-flex flex-grow-1\" style=\"width: 25%;\">\r\n
\r\n

Accounting Attachment\r\n
\r\n Loading...\r\n
\r\n

\r\n
\r\n
    \r\n
  • \r\n {{ this.documentService.sanitizeFileName(filePath) }}\r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n
0\" class=\"card d-flex flex-grow-1\" style=\"width: 25%;\">\r\n
\r\n

Discussion Attachment\r\n
\r\n Loading...\r\n
\r\n

\r\n
\r\n
    \r\n
  • \r\n {{ this.documentService.sanitizeFileName(file?.name) }}\r\n at {{ formatdate(file.fileDate) }}\r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n
0\" class=\"card d-flex flex-grow-1\" style=\"width: 25%;\">\r\n
\r\n

Illustration Attachment\r\n
\r\n Loading...\r\n
\r\n

\r\n
\r\n
    \r\n
  • \r\n {{ this.documentService.sanitizeFileName(filePath) }}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n

No files for this task

\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-confirmation-modal',\r\n templateUrl: './confirmation-modal.component.html',\r\n styleUrls: ['./confirmation-modal.component.scss']\r\n})\r\nexport class ConfirmationModalComponent implements OnInit {\r\n\r\n // input parameters\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() btnOkText: string;\r\n @Input() btnCancelText: string;\r\n\r\n // constructor\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n // on init method\r\n ngOnInit(): void {\r\n }\r\n\r\n // decline method\r\n public decline() {\r\n this.activeModal.close(false);\r\n }\r\n\r\n // accept method\r\n public accept() {\r\n this.activeModal.close(true);\r\n }\r\n\r\n // dismiss method\r\n public dismiss() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","\r\n
\r\n

{{ title }}

\r\n \r\n
\r\n\r\n\r\n
\r\n {{ message }}\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Component({\r\n selector: 'app-cookie-consent',\r\n templateUrl: './cookie-consent.component.html',\r\n styleUrls: ['./cookie-consent.component.scss']\r\n})\r\nexport class CookieConsentComponent implements OnInit {\r\n\r\n acceptedCookies: boolean = false;\r\n\r\n constructor(private cookieService: CookieService) { }\r\n\r\n ngOnInit(): void {\r\n this.checkCookieConsent();\r\n }\r\n\r\n checkCookieConsent(): void {\r\n const cookiesAccepted = this.cookieService.get('cookiesAccepted');\r\n this.acceptedCookies = cookiesAccepted === 'true';\r\n }\r\n\r\n acceptCookies(): void {\r\n this.cookieService.set('cookiesAccepted', 'true', 365, '/'); \r\n this.acceptedCookies = true;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n

By clicking on Accept, you agree to our privacy policy and our use of cookies to enhance your experience \r\n on our website. To learn more about how we use cookies and how you can manage them, \r\n please refer to our cookie policy.

\r\n
\r\n \r\n
\r\n\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { ClientsService } from 'src/app/services/clients.service';\r\nimport { AccountDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-clients-search',\r\n templateUrl: './clients-search.component.html',\r\n styleUrls: ['./clients-search.component.scss']\r\n})\r\nexport class ClientsSearchComponent implements OnInit {\r\n\r\n clickedOnClient: boolean = false;\r\n @Input() isOnClientView: boolean;\r\n @Output() clientEmitter = new EventEmitter();\r\n\r\n searchResult: AccountDto[];\r\n searchingClient: boolean = false;\r\n\r\n @ViewChild('searchClientField', { static: true }) searchInputField: ElementRef;\r\n\r\n constructor(private clientsService: ClientsService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n if (localStorage.getItem('clientName') || localStorage.getItem('clientId')) {\r\n this.searchInputField.nativeElement.value = localStorage.getItem('clientName');\r\n }\r\n\r\n if (this.isOnClientView) {\r\n fromEvent(this.searchInputField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater than 1\r\n filter(res => res.length >= 3),\r\n // Time in milliseconds between key events\r\n debounceTime(200),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.clickedOnClient = false;\r\n this.fetchClients(text);\r\n });\r\n }\r\n else {\r\n fromEvent(this.searchInputField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater than 1\r\n filter(res => res.length >= 4),\r\n // Time in milliseconds between key events\r\n debounceTime(200),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.clickedOnClient = false;\r\n this.loadClientByName(text);\r\n });\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keydown').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n filter(res => res.length < 1),\r\n ).subscribe((text: string) => {\r\n this.clearSearch();\r\n });\r\n }\r\n }\r\n\r\n async fetchClients(term: string) {\r\n if (term === '') {\r\n return this.searchResult = [];\r\n }\r\n this.searchingClient = true;\r\n this.searchResult = await this.clientsService.getClientsByName(term, 0, 10);\r\n this.searchingClient = false;\r\n }\r\n\r\n async loadClientByName(accountName) {\r\n this.clickedOnClient = true;\r\n\r\n localStorage.setItem('clientName', accountName);\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { clientName: accountName },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n this.searchResult = [];\r\n this.searchInputField.nativeElement.value = accountName;\r\n }\r\n\r\n async loadClient(client: AccountDto) {\r\n this.clickedOnClient = true;\r\n this.searchInputField.nativeElement.value = client.accountName;\r\n\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { clientId: client.id },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.searchResult = [];\r\n this.clientEmitter.emit(client);\r\n this.searchInputField.nativeElement.value = client.accountName;\r\n }\r\n\r\n async clearSearch() {\r\n localStorage.removeItem('clientId');\r\n localStorage.removeItem('clientName');\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { clientName: null, clientId: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n this.clientEmitter.emit(null);\r\n this.searchResult = [];\r\n this.searchInputField.nativeElement.value = \"\";\r\n }\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Searching...\r\n
\r\n
    \r\n
  • \r\n

    {{ client.accountName }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-multiple-filter-search',\r\n templateUrl: './multiple-filter-search.component.html',\r\n styleUrls: ['./multiple-filter-search.component.scss']\r\n})\r\nexport class MultipleFilterSearchComponent implements OnInit {\r\n\r\n\r\n filters: Array = new Array(10)\r\n title: string = \"\";\r\n printMessage: boolean;\r\n @Input() isOnOverview: boolean;\r\n isNetworkMember: boolean;\r\n @Input() isOnIllustration: boolean = false;\r\n @Input() isPayments: boolean = false;\r\n @Input() process: string;\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private userService: UserService, private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.changeFilter(0);\r\n this.title = this.getTitle(0);\r\n this.activatedRoute.queryParamMap.subscribe(async (params) => {\r\n if (params.get(\"networkMemberId\") == null && params.get(\"subscriberId\") == null && params.get(\"clientId\") == null) {\r\n this.printMessage = true;\r\n } else {\r\n this.printMessage = false;\r\n }\r\n })\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n\r\n }\r\n\r\n changeFilter(index) {\r\n this.filters = new Array(10);\r\n this.filters[index] = true;\r\n this.title = this.getTitle(index)\r\n this.printMessage = true;\r\n }\r\n\r\n getTitle(index) {\r\n switch (index) {\r\n case 0:\r\n return \"network Member\";\r\n case 1:\r\n return \"subcriber\";\r\n case 2:\r\n return \"client\";\r\n default:\r\n return \"network Member\";\r\n }\r\n }\r\n\r\n get isPaymentsRoute(): boolean {\r\n const currentUrl = this.router.url;\r\n return currentUrl.includes('payments');\r\n }\r\n\r\n}\r\n","
\r\n

Filters

\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { NetworkMembersService } from 'src/app/services/network-members/network-members.service';\r\nimport { AccountDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-network-member-filter',\r\n templateUrl: './network-member-filter.component.html',\r\n styleUrls: ['./network-member-filter.component.scss']\r\n})\r\nexport class NetworkMemberFilterComponent implements OnInit {\r\n\r\n // search indicators\r\n searchingNetworkMembers: boolean = false;\r\n filteredNetworkMembers: AccountDto[] = [];\r\n clickedOnNm: boolean = false;\r\n\r\n @Output() networkMemberEmitter = new EventEmitter();\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n\r\n constructor(private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n public networkMemberService: NetworkMembersService) { }\r\n\r\n async ngOnInit() {\r\n var networkMemberId = this.activatedRoute.snapshot.queryParams['networkMemberId'] ?? localStorage.getItem('networkMemberId');\r\n\r\n if (networkMemberId) {\r\n localStorage.setItem('networkMemberId', networkMemberId);\r\n\r\n var account = await this.networkMemberService.getNetworkMemberById(networkMemberId);\r\n this.searchInputField.nativeElement.value = account.accountName;\r\n }\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater then 1\r\n filter(res => res.length >= 2),\r\n // Time in milliseconds between key events\r\n debounceTime(50),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.clickedOnNm = false;\r\n this.fetchNM(text);\r\n });\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keydown').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n filter(res => res.length < 1),\r\n ).subscribe((text: string) => {\r\n this.clearSearch();\r\n });\r\n }\r\n\r\n async fetchNM(term: string) {\r\n if (term === '') {\r\n return this.filteredNetworkMembers = [];\r\n }\r\n this.searchingNetworkMembers = true;\r\n this.filteredNetworkMembers = await this.networkMemberService.getNetworkMembersByName(term.toLowerCase(), 0, 30);\r\n this.searchingNetworkMembers = false;\r\n }\r\n\r\n async selectNm(nmId: string) {\r\n this.clickedOnNm = true;\r\n\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { networkMemberId: nmId },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.filteredNetworkMembers = [];\r\n\r\n var account = (await this.networkMemberService.getNetworkMemberById(nmId))\r\n localStorage.setItem('networkMemberId', account.id);\r\n\r\n this.searchInputField.nativeElement.value = account.accountName;\r\n }\r\n\r\n async loadNetworkMember(networkMember: AccountDto) {\r\n this.clickedOnNm = true;\r\n this.searchInputField.nativeElement.value = networkMember.accountName;\r\n\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { networkMemberId: networkMember.id },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.filteredNetworkMembers = [];\r\n this.networkMemberEmitter.emit(networkMember);\r\n this.searchInputField.nativeElement.value = networkMember.accountName;\r\n }\r\n\r\n async clearSearch() {\r\n localStorage.removeItem('networkMemberId');\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { networkMemberId: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.filteredNetworkMembers = [];\r\n this.searchInputField.nativeElement.value = \"\";\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
    \r\n
  • \r\n

    {{nm.accountName }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n Searching...\r\n
\r\n
\r\n
\r\n\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { PayToEnum } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-payment-filter',\r\n templateUrl: './payment-filter.component.html',\r\n styleUrls: ['./payment-filter.component.scss']\r\n})\r\nexport class PaymentFilterComponent implements OnInit {\r\n \r\n optionsPay: PayToEnum[] = [null, PayToEnum.Insurope, PayToEnum.Client, PayToEnum.Other];\r\n filteredOptions:PayToEnum []= this.optionsPay;\r\n selectedPayTo: PayToEnum = null; \r\n\r\n @Input() networkMemberId: string = \"\";\r\n @Input() inOverview: boolean = false;\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n @Output() subscriberId = new EventEmitter();\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, public commonService : CommonService) { }\r\n\r\n ngOnInit(): void {\r\n var storagePayTo = localStorage.getItem(\"payTo\");\r\n if (storagePayTo == \"null\") {\r\n this.selectedPayTo = null;\r\n } else {\r\n this.selectedPayTo = parseInt(localStorage.getItem(\"payTo\")) //parseInt(storagePayTo, 10);\r\n }\r\n }\r\n\r\n selectPayTo(event) {\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { payTo: event, },\r\n queryParamsHandling: 'merge', \r\n });\r\n this.selectedPayTo = event; \r\n this.filteredOptions = this.optionsPay;\r\n localStorage.setItem(\"payTo\", event);\r\n //this.subscriberId.emit(event.toString());\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, map } from 'rxjs';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-status-filter',\r\n templateUrl: './status-filter.component.html',\r\n styleUrls: ['./status-filter.component.scss']\r\n})\r\nexport class StatusFilterComponent implements OnInit {\r\n searchingStatus: boolean = false;\r\n options: TasksStatus [] = [TasksStatus.Open, TasksStatus.InProgress, TasksStatus.Finalized,TasksStatus.Closed,null ];\r\n filteredOptions:TasksStatus []= this.options;\r\n selected:TasksStatus = null;\r\n @Input() networkMemberId: string = \"\";\r\n @Input() inOverview: boolean = false;\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n @Output() subscriberId = new EventEmitter();\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, public commonService : CommonService) { }\r\n\r\n async ngOnInit() {\r\n var storageStatus = localStorage.getItem(\"status\");\r\n if(storageStatus == \"null\"){\r\n this.selected = null;\r\n }else{\r\n this.selected = parseInt(localStorage.getItem(\"status\"))\r\n }\r\n \r\n }\r\n selectStatus(event){\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { status: event, },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n this.selected = event;\r\n this.filteredOptions = this.options;\r\n localStorage.setItem(\"status\",event);\r\n \r\n }\r\n\r\n \r\n}","
\r\n \r\n
\r\n \r\n
\r\n
","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { fromEvent, map, filter, debounceTime, distinctUntilChanged, Subscription, Observable } from 'rxjs';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { CommentDto, CommentTagDto } from 'src/app/web-api-client';\r\nimport { faCircleXmark } from \"@fortawesome/free-regular-svg-icons\";\r\n\r\n@Component({\r\n selector: 'app-tag-filter',\r\n templateUrl: './tag-filter.component.html',\r\n styleUrls: ['./tag-filter.component.scss']\r\n})\r\nexport class TagFilterComponent implements OnInit {\r\n searchingTags: boolean = false;\r\n filteredTags: CommentTagDto[] = [];\r\n clickedOnTag: boolean = false;\r\n selectedTags: string[] = [];\r\n\r\n tagSelectedSubscription: Subscription;\r\n\r\n @Input() discussionId: string;\r\n @Input() tagSelected: Observable = new Observable();\r\n @Output() filteredCommentsEventEmitter = new EventEmitter();\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n\r\n faCircleXmark = faCircleXmark;\r\n\r\n constructor(public CommentService: CommentService) { }\r\n\r\n async ngOnInit() {\r\n this.searchInputField.nativeElement.value = \"\";\r\n this.tagSelectedSubscription = this.tagSelected.subscribe((tags: string) => { this.addTag(tags); });\r\n }\r\n\r\n async fetchTags() {\r\n this.clickedOnTag = false;\r\n this.searchingTags = true;\r\n\r\n if (this.selectedTags.length == 0) {\r\n this.filteredTags = [];\r\n this.filteredCommentsEventEmitter.emit(this.CommentService.comments);\r\n this.searchingTags = false;\r\n return;\r\n }\r\n\r\n const filteredComments = this.filterCommentsByTag();\r\n this.filteredCommentsEventEmitter.emit(\r\n filteredComments.sort((a, b) => b.messageSent.getTime() - a.messageSent.getTime())\r\n );\r\n this.searchingTags = false;\r\n }\r\n\r\n async clearSearch() {\r\n this.filteredTags = [];\r\n this.selectedTags = [];\r\n this.searchInputField.nativeElement.value = \"\";\r\n this.fetchTags();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.tagSelectedSubscription.unsubscribe();\r\n }\r\n\r\n //filter with list tags\r\n filterCommentsByTag() {\r\n return this.CommentService.comments.filter(comment =>\r\n this.selectedTags.every(tag =>\r\n comment.tags.some(e => e.tagName.toLowerCase().startsWith(tag.toLowerCase()))\r\n )\r\n );\r\n }\r\n\r\n //add tags to list\r\n addTag(tags?: string) {\r\n var tagName: string;\r\n\r\n if (tags) {\r\n tagName = tags;\r\n }\r\n else {\r\n tagName = this.searchInputField.nativeElement.value.trim();\r\n }\r\n\r\n if (tagName && !this.selectedTags.includes(tagName)) {\r\n this.selectedTags.push(tagName);\r\n this.searchInputField.nativeElement.value = \"\";\r\n this.fetchTags();\r\n }\r\n }\r\n\r\n //Remove tags from list\r\n removeTag(tag: string) {\r\n this.selectedTags = this.selectedTags.filter(t => t !== tag);\r\n this.fetchTags();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{ tag }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Searching...\r\n
\r\n
\r\n
\r\n\r\n\r\n","\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserDto } from 'src/app/web-api-client';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, map } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-users-search',\r\n templateUrl: './users-search.component.html',\r\n styleUrls: ['./users-search.component.scss']\r\n})\r\n\r\nexport class UsersSearchComponent implements OnInit {\r\n // search indicators\r\n searchingUsers: boolean = false;\r\n filteredUsers: UserDto[] = [];\r\n clickedOnUser: boolean = false;\r\n users: UserDto[] = [];\r\n isInternal: boolean = false;\r\n inputGroup: FormGroup;\r\n\r\n @Input() networkMemberId: string = \"\";\r\n @Input() inOverview: boolean = false;\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n @Output() subscriberId = new EventEmitter<{ id: string, user: UserDto }>();\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, public userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.inputGroup = new FormGroup({ search: new FormControl() });\r\n\r\n let selectedUserId = localStorage.getItem('subscriberId');\r\n if (selectedUserId) {\r\n var user = await this.userService.getUserById(selectedUserId);\r\n this.searchInputField.nativeElement.value = user.preferredEmail;\r\n }\r\n\r\n this.isInternal = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n if (this.isInternal) {\r\n if (this.networkMemberId) {\r\n this.users = await this.userService.getAllUsersByNetworkMemberId(this.networkMemberId);\r\n }\r\n }\r\n else {\r\n this.users = await this.userService.getAllUsersByConnectedNetworkMemberId();\r\n }\r\n\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater than 1\r\n filter(res => res.length >= 3),\r\n // Time in milliseconds between key events\r\n debounceTime(50),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.clickedOnUser = false;\r\n this.fetchUser(text);\r\n });\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keydown').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n filter(res => res.length < 1),\r\n ).subscribe((text: string) => {\r\n this.clearSearch();\r\n });\r\n }\r\n\r\n async fetchUser(term: string) {\r\n if (term === '') {\r\n this.filteredUsers = [];\r\n }\r\n\r\n this.searchingUsers = true;\r\n\r\n if (this.isInternal && !this.networkMemberId) {\r\n this.filteredUsers = await this.userService.getAllSubscriber(term)\r\n }\r\n else {\r\n this.filteredUsers = this.users.filter((val) =>\r\n val.preferredEmail.toLowerCase().includes(term.toLowerCase())\r\n );\r\n }\r\n\r\n this.searchingUsers = false;\r\n }\r\n\r\n async selectUser(id: string) {\r\n let user: UserDto = null;\r\n user = this.filteredUsers.find(x => x.id == id);\r\n\r\n // if (!this.isInternal) {\r\n // let currentUser = (await this.userService.getCurrentUser()).networkMemberIds\r\n // user = await this.userService.getUserByIdByNM(id, currentUser);\r\n // } else {\r\n // user = await this.userService.getUserById(id);\r\n // }\r\n\r\n this.searchInputField.nativeElement.value = user.preferredEmail;\r\n localStorage.setItem(\"subscriberId\", user.id);\r\n\r\n this.addSubscriber(id, user);\r\n this.filteredUsers = [];\r\n }\r\n\r\n async clearSearch() {\r\n this.filteredUsers = [];\r\n localStorage.removeItem('subscriberId');\r\n\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { subscriberId: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.filteredUsers = [];\r\n this.searchInputField.nativeElement.value = \"\";\r\n }\r\n\r\n addSubscriber(id: string, user: UserDto) {\r\n\r\n if (this.inOverview) {\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { subscriberId: id, },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n } else {\r\n this.subscriberId.emit({ id, user });\r\n }\r\n }\r\n}\r\n\r\n","
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n

    {{ user?.preferredEmail }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n Searching...\r\n
\r\n
\r\n
","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbAlertModule, NgbDatepickerModule, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { parseDate } from 'ngx-bootstrap/chronos';\r\n\r\n@Component({\r\n selector: 'app-year-filter',\r\n templateUrl: './year-filter.component.html',\r\n styleUrls: ['./year-filter.component.scss']\r\n})\r\nexport class YearFilterComponent implements OnInit {\r\n\tmodel: NgbDateStruct;\r\n dateInput : Date\r\n @ViewChild('yearField', { static: true }) searchInputField: ElementRef;\r\n constructor(private router: Router,\r\n private activatedRoute: ActivatedRoute,) { }\r\n\r\n ngOnInit(): void {\r\n var dateString = localStorage.getItem('dueDate')\r\n if(dateString != null){\r\n this.dateInput = parseDate(dateString+\"-01-01\");\r\n }else{\r\n this.dateInput = null;\r\n }\r\n \r\n }\r\n async clearSearch() {\r\n localStorage.removeItem('dueDate');\r\n this.router.navigate(\r\n [], \r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { dueDate: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n this.searchInputField.nativeElement.value = \"\";\r\n this.dateInput = null;\r\n }\r\n changeDate(event:Date){\r\n var year = event.getFullYear();\r\n localStorage.setItem('dueDate',year.toString())\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { dueDate: year, },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n \r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalComponent } from '../modal/modal.component';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor(private modalService: NgbModal, public documentService: DocumentService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openModal(type: string, title: string) {\r\n let url = '';\r\n if (type === 'privacy') {\r\n url = 'https://insuropestoragedev.blob.core.windows.net/publiccontainer/privacy-notice/Privacy notice.pdf';\r\n } else if (type === 'terms') {\r\n url = 'https://insuropestoragedev.blob.core.windows.net/publiccontainer/terms-and-conditions/Terms and Conditions.pdf';\r\n }\r\n const modalRef = this.modalService.open(ModalComponent, { size: 'lg' });\r\n modalRef.componentInstance.url = url;\r\n modalRef.componentInstance.title = title;\r\n }\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { faBell } from '@fortawesome/free-regular-svg-icons';\r\nimport { faEnvelope } from '@fortawesome/free-regular-svg-icons';\r\nimport { faUser } from '@fortawesome/free-regular-svg-icons';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n faBell = faBell;\r\n faEnvelope = faEnvelope;\r\n faUser = faUser;\r\n userName : string;\r\n user:UserDto;\r\n constructor(public userService : UserService) { }\r\n\r\n async ngOnInit(){\r\n this.userName = await this.userService.getCurrentUserName();\r\n }\r\n}\r\n","
\r\n
\r\n

Hello {{userName}}

\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-message-box',\r\n templateUrl: './message-box.component.html',\r\n styleUrls: ['./message-box.component.scss']\r\n})\r\nexport class MessageBoxComponent implements OnInit {\r\n\r\n // input parameters\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() type: string;\r\n @Input() btnOkText: string;\r\n @Input() btnCancelText: string;\r\n @Input() dismissable: boolean = false;\r\n\r\n // output parameters\r\n @Output() declineEmitter = new EventEmitter();\r\n @Output() acceptEmitter = new EventEmitter();\r\n @Output() closeEmitter = new EventEmitter();\r\n\r\n // constructor\r\n constructor() { }\r\n\r\n // oninit method\r\n ngOnInit(): void {\r\n }\r\n\r\n // decline method\r\n decline() {\r\n this.declineEmitter.emit();\r\n }\r\n\r\n // accept method\r\n accept() {\r\n this.acceptEmitter.emit();\r\n }\r\n\r\n // close method\r\n close() {\r\n this.closeEmitter.emit();\r\n }\r\n\r\n}\r\n","
\r\n \r\n

{{ title }}

\r\n \r\n

{{ message }}

\r\n \r\n

\r\n \r\n \r\n

\r\n\r\n \r\n\r\n
","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport {\r\n ModalDismissReasons,\r\n NgbActiveModal,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { FaqService } from \"src/app/services/faq.service\";\r\nimport { FaqCategoryDto, QuestionDto } from \"src/app/web-api-client\";\r\n\r\n@Component({\r\n selector: \"ngbd-modal-basic\",\r\n templateUrl: \"./modal-basic.component.html\",\r\n})\r\nexport class ModalBasicComponent implements OnInit {\r\n @Input() category: FaqCategoryDto;\r\n @Input() question: QuestionDto;\r\n @Input() isQuestion: boolean;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n public faqService: FaqService\r\n ) {}\r\n closeResult = \"\";\r\n\r\n ngOnInit() {\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return \"by pressing ESC\";\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return \"by clicking on a backdrop\";\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n saveCat() {\r\n this.faqService.updateFaqCateogry(this.category);\r\n this.activeModal.close(false);\r\n }\r\n\r\n deleteCat() {\r\n this.faqService.deleteFaqCategory(this.category.id);\r\n this.activeModal.close(false);\r\n }\r\n\r\n saveQuest() {\r\n this.faqService.updateQuestion(this.category.id, this.question);\r\n this.activeModal.close(false);\r\n }\r\n\r\n deleteQuest() {\r\n this.faqService.deleteQuestion(this.category.id, this.question.id);\r\n this.activeModal.close(true);\r\n }\r\n\r\n close() {\r\n this.activeModal.close(false);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n Update category\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n Update question\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'], \r\n standalone: true, \r\n imports:[NgxDocViewerModule]\r\n})\r\nexport class ModalComponent implements OnInit {\r\n\r\n loading: boolean = true;\r\n @Input() title: string;\r\n url: string;\r\n\r\n constructor(public activeModal: NgbActiveModal ) { }\r\n\r\n async ngOnInit(): Promise {\r\n\r\n this.loading = true;\r\n }\r\n \r\n}\r\n","
\r\n
\r\n

{{ title }}

\r\n \r\n
\r\n
\r\n \r\n
Loading...
\r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons';\r\nimport { faEye } from '@fortawesome/free-regular-svg-icons';\r\nimport { faFile } from '@fortawesome/free-regular-svg-icons';\r\nimport { faHandshake } from '@fortawesome/free-regular-svg-icons';\r\nimport { faCalculator } from '@fortawesome/free-solid-svg-icons';\r\nimport { faCreditCard } from '@fortawesome/free-regular-svg-icons';\r\nimport { faMugHot } from '@fortawesome/free-solid-svg-icons';\r\nimport { faChartLine } from '@fortawesome/free-solid-svg-icons';\r\nimport { faEnvelope } from '@fortawesome/free-regular-svg-icons';\r\nimport { faCircleQuestion } from '@fortawesome/free-regular-svg-icons';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { environment } from 'src/environments/environment'\r\nimport { PowerBiReportDetails, ReportingClient } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.scss']\r\n})\r\nexport class NavMenuComponent {\r\n w = window.innerWidth;\r\n isExpanded: boolean = false;\r\n isDisabled: boolean = true;\r\n // fontawesome\r\n faChevronDown = faChevronDown;\r\n faEye = faEye;\r\n faFile = faFile;\r\n faHandshake = faHandshake;\r\n faCalculator = faCalculator;\r\n faCreditCard = faCreditCard;\r\n faMugHot = faMugHot;\r\n faChartLine = faChartLine;\r\n faEnvelope = faEnvelope;\r\n faCircleQuestion = faCircleQuestion;\r\n isDevelopment: boolean = true;\r\n\r\n // if the current user is a network member or not\r\n isNetworkMember: boolean;\r\n // if the current user is a client or not\r\n isClient: boolean;\r\n isFinancial: boolean;\r\n reportsSubMenuItems: PowerBiReportDetails[] = null;\r\n\r\n toggleNav() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n constructor(private userService: UserService, private reportingClient: ReportingClient) { }\r\n\r\n async ngOnInit() {\r\n this.isDisabled = this.w > 992 ? true : false;\r\n this.isExpanded = this.w > 992 ? true : false;\r\n\r\n // determine if the current user is a network member or not\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n // determine if the current user is a client or not\r\n this.isClient = await this.userService.isUserInRole(UserRoles.Client);\r\n\r\n this.isFinancial = (await this.userService.getCurrentUser()).isFinancial;\r\n this.isDevelopment = environment.production == false\r\n this.createReportsSubMenu();\r\n }\r\n\r\n onResize(event) {\r\n this.w = window.innerWidth;\r\n this.isDisabled = this.w > 992 ? true : false;\r\n this.isExpanded = this.w > 992 ? true : false;\r\n }\r\n\r\n createReportsSubMenu() {\r\n this.reportingClient.getReportsName().subscribe(res => { this.reportsSubMenuItems = res; });\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-refresh-task-view',\r\n templateUrl: './refresh-task-view.component.html',\r\n styleUrls: ['./refresh-task-view.component.scss']\r\n})\r\nexport class RefreshTaskViewComponent implements OnInit {\r\n @Input() cron: string;\r\n @Input() lastModified: string;\r\n\r\n dateModified: string;\r\n\r\n constructor(public datePipe: DatePipe) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if(this.lastModified === undefined){\r\n this.dateModified =\"\";\r\n }else{\r\n this.dateModified = this.datePipe.transform(this.lastModified, \"medium\");\r\n }\r\n \r\n }\r\n}\r\n","Last refresh: {{ this.dateModified }}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loading-spinner',\r\n templateUrl: './loading-spinner.component.html',\r\n styleUrls: ['./loading-spinner.component.scss']\r\n})\r\nexport class LoadingSpinnerComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n Loading ...\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IllustrationService } from 'src/app/services/illustration/illustration.service';\r\nimport { DomSanitizer, Title } from '@angular/platform-browser';\r\nimport { DiscussionDto, IllustrationRequestDto, TaskSubscribersDto, TaskUserSusbscriptionDto } from 'src/app/web-api-client';\r\nimport { revisionOptionMpp } from 'src/app/models/RevisionOptionMpp';\r\nimport * as FileSaver from 'file-saver';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { ProcessIds } from 'src/app/models/enums/processIds';\r\n\r\n@Component({\r\n selector: 'app-illustration-detail',\r\n templateUrl: './illustration-detail.component.html',\r\n styleUrls: ['./illustration-detail.component.scss']\r\n})\r\nexport class IllustrationDetailComponent implements OnInit {\r\n\r\n // hold the illustration id\r\n illustrationId: string;\r\n // hold the illustration\r\n illustration: IllustrationRequestDto;\r\n // hold the uploaded files\r\n uploadedFiles: File[] = [];\r\n loadingMppFile: boolean = false;\r\n revisionOptionMpp: revisionOptionMpp[] = [];\r\n illustrationAttachments: string[] = [];\r\n discussion: DiscussionDto;\r\n processId: string = ProcessIds.illustrations;\r\n\r\n taskSubscribers: TaskSubscribersDto = {\r\n clientSubscribers: [],\r\n networkMemberSubscribers: [],\r\n insuropeSubscribers: []\r\n } as TaskSubscribersDto;\r\n\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public location: Location,\r\n public illustrationService: IllustrationService,\r\n private sanitizer: DomSanitizer,\r\n private titleService: Title,\r\n private router: Router,\r\n public documentService: DocumentService,\r\n private toastrService: ToastrService,\r\n private commentService: CommentService) { }\r\n\r\n // oninit method\r\n ngOnInit(): void {\r\n // get the illustration\r\n this.getIllustration();\r\n }\r\n\r\n // method to get the illustration\r\n async getIllustration() {\r\n // take the parameters from the url\r\n this.illustrationId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n\r\n try {\r\n // get the illustration by id\r\n this.illustration = await this.illustrationService.getIllustrationById(this.illustrationId);\r\n this.commentService.task = this.illustration;\r\n this.discussion = await this.commentService.getDiscussionByTaskId(this.illustration.id);\r\n this.commentService.discussion = this.discussion;\r\n this.commentService.comments = this.commentService.discussion?.comments;\r\n\r\n this.illustration.illustrationRevisions.sort((a, b) => a.revisionNumber >= b.revisionNumber ? -1 : 1).forEach(x => {\r\n let filePathList: string[] = [];\r\n\r\n //Get MPPs filePath\r\n let mppFilePaths = x.illustrationRevisionOptions.filter(t => t.sentToNetworkMemberDate > new Date('1/1/0001 12:00:00 AM') && t.pdfmppPath != null && t.deleted != true)\r\n .map(function (a) { return \"GeneratedMPP/\" + a.id + \"/\" + a.pdfmppName });\r\n filePathList.push(...mppFilePaths);\r\n\r\n //Get MLOCs filePath\r\n let locFilePaths = x.illustrationRevisionOptions.filter(t => t.sentToNetworkMemberDate > new Date('1/1/0001 12:00:00 AM') && t.pdflocPath != null && t.deleted != true)\r\n .map(function (a) { return \"GeneratedMPP/\" + a.id + \"/\" + a.pdflocName });\r\n filePathList.push(...locFilePaths);\r\n\r\n this.revisionOptionMpp.push({ revisionId: x.id, filesPath: filePathList, revisionNumber: x.revisionNumber, finalizedDate: x.finalizedSupportDate })\r\n }\r\n );\r\n\r\n\r\n this.illustration.illustrationRevisions.forEach((rev) => {\r\n rev.illustrationRevisionAttachments.map(att => this.illustrationAttachments.push(att.filePath + \"/\" + att.fileName));\r\n });\r\n\r\n let internalSubscriber: TaskUserSusbscriptionDto = {\r\n active: true,\r\n email: this.illustration.salesRepresentative.mail,\r\n preferredEmail: this.illustration.salesRepresentative.mail\r\n } as TaskUserSusbscriptionDto;\r\n\r\n let networkMemberSubscribers: TaskUserSusbscriptionDto[];\r\n\r\n this.illustration.networkMemberSubscribers.forEach(subscriberEmail => {\r\n let networkMemberSubscriber: TaskUserSusbscriptionDto = {\r\n active: true,\r\n email: subscriberEmail,\r\n preferredEmail: subscriberEmail\r\n } as TaskUserSusbscriptionDto;\r\n\r\n this.taskSubscribers.networkMemberSubscribers.push(networkMemberSubscriber);\r\n });\r\n\r\n this.taskSubscribers.insuropeSubscribers.push(internalSubscriber);\r\n\r\n if (this.illustration.salesRepresentative.mail != this.illustration.supportRepresentative.mail) {\r\n let internalSubscriber: TaskUserSusbscriptionDto = {\r\n active: true,\r\n email: this.illustration.supportRepresentative.mail,\r\n preferredEmail: this.illustration.supportRepresentative.mail\r\n } as TaskUserSusbscriptionDto;\r\n\r\n this.taskSubscribers.insuropeSubscribers.push(internalSubscriber);\r\n }\r\n }\r\n catch (error) {\r\n if (error.status === 404) {\r\n // if the illustration is not found, redirect to the 404 page\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // set the title\r\n this.titleService.setTitle(this.illustration.clientName + \" | Insurope\");\r\n }\r\n\r\n // sanitize the url to download the files\r\n sanitize(url: string) {\r\n // return safe url\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n async downloadMppFile(path: string) {\r\n this.loadingMppFile = true;\r\n try {\r\n var file = await this.documentService.geIllustrationtDocument(path);\r\n } catch (e) {\r\n this.loadingMppFile = false;\r\n this.toastrService.error(\"An error occured during the MPP file downloading\")\r\n }\r\n const imageBlob = this.dataURItoBlob(file);\r\n var newPath = this.documentService.sanitizeFileName(path, \".pdf\");\r\n var test = new File([imageBlob], newPath, { type: 'application/pdf' });\r\n FileSaver.saveAs(test)\r\n this.loadingMppFile = false;\r\n }\r\n\r\n dataURItoBlob(dataURI) {\r\n const byteString = window.atob(dataURI);\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const int8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < byteString.length; i++) {\r\n int8Array[i] = byteString.charCodeAt(i);\r\n }\r\n const blob = new Blob([int8Array], { type: 'application/pdf' });\r\n return blob;\r\n }\r\n}\r\n","\r\n
\r\n\r\n \r\n \r\n\r\n \r\n

{{illustration?.clientName}}

\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Request date

\r\n {{ illustration.illustrationRevisions[0]?.requestDate | date }}\r\n
\r\n\r\n
\r\n

Stage

\r\n {{ illustration.illustrationStage.name }}\r\n
\r\n\r\n
\r\n

Sales representative

\r\n {{ illustration.salesRepresentative?.displayName }}\r\n
\r\n\r\n
\r\n

Support representative

\r\n {{ illustration.supportRepresentative?.displayName }}\r\n
\r\n\r\n
\r\n

Network member

\r\n {{ illustration.networkMember?.accountName }}\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n

Existing Insurope pool

\r\n {{ illustration.insuropeTypeOfBusiness? 'Yes' : 'No' }}\r\n
\r\n\r\n
\r\n

Insurope pooled plan renewal

\r\n {{ illustration.renewal? 'Yes' : 'No' }}\r\n
\r\n\r\n
\r\n

Pooling system

\r\n {{\r\n illustration.illustrationRevisions[0].illustrationRevisionOptions[0].optionGeneralOutput.poolingSystem\r\n }}\r\n
\r\n\r\n
\r\n

Common Currency

\r\n {{ illustration.commonCurrencyId }}\r\n
\r\n\r\n
\r\n

Poolable

\r\n {{ illustration.illustrationRevisions[0].poolable? 'Yes' : 'No' }}\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n

Finalized Mpp

\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
Illustration versionFinalization dateMpp files
\r\n
\r\n {{ revision.revisionNumber}}\r\n
\r\n
\r\n
\r\n {{ revision.finalizedDate | date }}\r\n
\r\n
0\">\r\n \r\n \r\n

No mpp file

\r\n
\r\n
\r\n\r\n \r\n
\r\n

Additional comments

\r\n {{ illustration.statusComment }}\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Location } from \"@angular/common\";\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, ParamMap } from \"@angular/router\";\r\nimport { faBars, faTh } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { IllustrationService } from \"src/app/services/illustration/illustration.service\";\r\nimport { NetworkMembersService } from \"src/app/services/network-members/network-members.service\";\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { AccountDto, IllustrationRequestDto, TasksStatus, } from \"src/app/web-api-client\";\r\nimport * as _ from \"underscore\";\r\n\r\n@Component({\r\n selector: \"app-illustration-list\",\r\n templateUrl: \"./illustration-list.component.html\",\r\n styleUrls: [\"./illustration-list.component.scss\"],\r\n})\r\nexport class IllustrationListComponent implements OnInit {\r\n\r\n // hold the list of the illustrations\r\n illustrations: IllustrationRequestDto[] = [];\r\n\r\n // if the user is a networkmember or not\r\n isNetworkMember: boolean;\r\n isTableView: boolean;\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 30;\r\n\r\n // determine if the filter needs to be shown\r\n @Input() displayFilter: boolean = true;\r\n @Input() onOverview: boolean = false;\r\n @Input() isOnClientView: boolean = false;\r\n @Input() networkmember: AccountDto = null;\r\n // loading indicator\r\n loadingIllustrations: boolean = false;\r\n hideShowMoreBtn: boolean = false;\r\n\r\n params: ParamMap;\r\n clientName: string;\r\n\r\n isTableViewStoredValueKey: string;\r\n faTh = faTh;\r\n faBars = faBars;\r\n // constructor\r\n constructor(\r\n public location: Location,\r\n private illustrationService: IllustrationService,\r\n private userService: UserService,\r\n private activatedroute: ActivatedRoute,\r\n private titleService: Title,\r\n private networkMembersService: NetworkMembersService\r\n ) { }\r\n\r\n // oninit method\r\n async ngOnInit(): Promise {\r\n // determine if the user is a network member\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.titleService.setTitle(\"All Illustrations | Insurope\");\r\n // subscribe to the route params\r\n this.activatedroute.queryParamMap.subscribe(async (params) => this.loadIllustrations(params));\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n\r\n if (this.isTableViewStoredValueKey) {\r\n let isTableView = localStorage.getItem(this.isTableViewStoredValueKey);\r\n var storedValue = JSON.parse(isTableView)\r\n if (isTableView) this.changeIsTableViewValue(storedValue);\r\n // set the title\r\n }\r\n }\r\n\r\n async loadMore() {\r\n if (!this.loadingIllustrations) {\r\n this.page++;\r\n await this.loadIllustrations(null, true);\r\n }\r\n\r\n }\r\n\r\n // method to get the illustrations\r\n async loadIllustrations(params?: any, loadMore?: boolean) {\r\n\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n let newItems;\r\n\r\n // loading started\r\n this.loadingIllustrations = true;\r\n\r\n if (params?.get(\"networkMemberId\") && params.has(\"clientId\")) {\r\n this.networkmember = await this.networkMembersService.getNetworkMemberById(params?.get(\"networkMemberId\"));\r\n }\r\n var nmId = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientName = params?.get(\"clientName\");\r\n var subscriberId = params?.get('subscriberId');\r\n var statusCode = localStorage.getItem('status');\r\n var status = TasksStatus[statusCode];\r\n var dueDate = localStorage.getItem('dueDate');\r\n if (subscriberId) {\r\n var subscriberEmail = (await this.userService.getUserById(subscriberId)).preferredEmail;\r\n }\r\n\r\n\r\n if (!loadMore) {\r\n this.illustrations = [];\r\n this.page = 1\r\n }\r\n\r\n if (this.isNetworkMember) {\r\n // load the illustrations\r\n newItems = await this.illustrationService.getMyOrganizationIllustrationsPaginated(\r\n clientName,\r\n status,\r\n subscriberId,\r\n subscriberEmail,\r\n parseInt(dueDate),\r\n null,\r\n null,\r\n this.page,\r\n this.pageSize\r\n );\r\n }\r\n else {\r\n if (!params.has('networkMemberId')) {\r\n // load the illustrations\r\n let networkMemberIDs: string[] = [];\r\n newItems = await this.illustrationService.getIllustrationsPaginated(\r\n networkMemberIDs,\r\n clientName,\r\n status,\r\n subscriberId,\r\n subscriberEmail,\r\n parseInt(dueDate),\r\n null,\r\n null,\r\n this.page,\r\n this.pageSize\r\n );\r\n }\r\n else {\r\n // load the illustrations\r\n let nmId = params?.get(\"networkMemberId\") ? params?.get(\"networkMemberId\") : localStorage.getItem('networkMemberId');\r\n let networkMemberIDs: string[] = [];\r\n if (!this.clientName && nmId) {\r\n networkMemberIDs.push(nmId);\r\n }\r\n newItems = await this.illustrationService.getIllustrationsPaginated(\r\n networkMemberIDs,\r\n clientName,\r\n status,\r\n subscriberId,\r\n subscriberEmail,\r\n parseInt(dueDate),\r\n null,\r\n null,\r\n this.page,\r\n this.pageSize\r\n );\r\n }\r\n }\r\n\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n\r\n let updatedItems = newItems.map(illustration => {\r\n let updatedIllustration = illustration;\r\n\r\n // if (illustration.illustrationStage.name != \"Finalized\") {\r\n // updatedIllustration.illustrationStage.name = \"In-progress\";\r\n // }\r\n\r\n return updatedIllustration;\r\n });\r\n\r\n this.illustrations = this.illustrations.concat(updatedItems);\r\n\r\n if (this.illustrations.length == 0) {\r\n document.getElementById(\"illustrations-view-btn\")?.classList.add(\"d-none\");\r\n }\r\n else {\r\n document.getElementById(\"illustrations-view-btn\")?.classList.remove(\"d-none\");\r\n }\r\n\r\n // loading finished\r\n this.loadingIllustrations = false;\r\n }\r\n\r\n changeIsTableViewValue(value: boolean) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n\r\n replace(value: string, oldCharacter: string, newCharacter: string) {\r\n if (!value || !oldCharacter || !newCharacter) {\r\n return value;\r\n }\r\n\r\n return value.replace(oldCharacter, newCharacter);\r\n }\r\n\r\n getFinalizedSupportDate(illustration: IllustrationRequestDto): Date {\r\n var maxDate = new Date(_.max(illustration.illustrationRevisions.map(x => x.finalizedSupportDate)));\r\n return maxDate;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n

All illustrations

\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
ClientNetwork MemberCountryPoolableFinalized DateStatus
{{ item.clientName }}{{ item.networkMember?.accountName }}{{ item.countries[0]?.name | titlecase}}{{\".\"}}{{ item.illustrationRevisions[0]?.poolable? 'Yes' : 'No' }}{{ item.illustrationRevisions[0]?.finalizedSupportDate | date }} {{item.illustrationStage.name | replace :'-':' '}}
\r\n
\r\n
\r\n\r\n
There are no illustrations
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Loading...\r\n
\r\n
","import { DatePipe, Location } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { BooleanTaskService } from 'src/app/services/boolean-task/boolean-task.service';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AttachmentDTO, BooleanTaskDto, CommentDto, CommentType } from 'src/app/web-api-client';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { FileParameter } from 'src/app/web-api-client';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\nimport { NotificationFrequency } from 'src/app/models/enums/NotificaionFrequency';\r\nimport { Subscription } from 'rxjs';\r\nimport { NotificationType } from 'src/app/models/enums/NotificationType';\r\n\r\n@Component({\r\n selector: 'app-boolean-task-detail',\r\n templateUrl: './boolean-task-detail.component.html',\r\n styleUrls: ['./boolean-task-detail.component.scss']\r\n})\r\n\r\nexport class BooleanTaskDetailComponent implements OnInit {\r\n dateTime = new Date()\r\n // hold the task id\r\n taskId: string;\r\n attachments: FileParameter[] = [];\r\n // hold the task\r\n task: BooleanTaskDto;\r\n status: string;\r\n process: string;\r\n commentAttachments: AttachmentDTO[] = [];\r\n // fa icons\r\n faCheck = faCheck;\r\n faTimes = faTimes;\r\n isNetworkMember: boolean;\r\n isCollaborator: boolean;\r\n\r\n // loading indicator\r\n loadingTask: boolean = false;\r\n displayTaskAction: boolean = true;\r\n\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n gfg = false;\r\n comments: CommentDto[] = [];\r\n\r\n deletedCommentEventSubscription: Subscription;\r\n commentAttachmentAddedEventSubscription: Subscription;\r\n\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public booleanTaskService: BooleanTaskService,\r\n public location: Location,\r\n private userService: UserService,\r\n private titleService: Title,\r\n public commonService: CommonService,\r\n private commentService: CommentService,\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n // loading started\r\n this.loadingTask = true;\r\n\r\n // get the task id\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n // determine if the user is a network member\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n this.task = this.booleanTaskService.activeBooleanTask;\r\n this.status = this.commonService.getTaskStatusByNumber(this.task.status.value, true);\r\n\r\n this.displayTaskAction = await this.commonService.displayTaskAction(this.task);\r\n\r\n this.process = this.task.processId;\r\n this.comments = this.commentService.discussion?.comments?.filter(x => x.isDeleted == false);\r\n this.commentAttachments = this.getCommentAttachments(this.comments);\r\n\r\n this.deletedCommentEventSubscription = this.commentService.deleteCommentEvent.subscribe((commentId) => { this.filterOutDeletedAttachments(commentId) });\r\n this.commentAttachmentAddedEventSubscription = this.commentService.addCommentAttachmentEvent.subscribe((attachment) => { this.updateAttachmentsList(attachment) });\r\n\r\n // loading finished\r\n this.loadingTask = false;\r\n\r\n // set the title\r\n this.titleService.setTitle(this.task.title + \" | Insurope\");\r\n }\r\n\r\n // method to approve the task\r\n async approveDisaproveTask() {\r\n // change the status\r\n let approvedTask = this.task;\r\n if ((approvedTask.value == false || approvedTask.value == null) ! && this.isNetworkMember) {\r\n approvedTask.value = true;\r\n\r\n if (await this.booleanTaskService.changeTaskBooleanStatus(approvedTask)) {\r\n this.task.value = true;\r\n var commentDto: AddCommentDto = {\r\n taskId: this.taskId,\r\n content: \"

The task has been approved

\",\r\n processName: this.process,\r\n clientName: this.task.title,\r\n networkMemberName: this.task.networkMember.accountName,\r\n country: this.task.country,\r\n files: null,\r\n tags: null,\r\n isDeleted: false,\r\n isEdited: false,\r\n isHtmlText: true,\r\n commentType: CommentType.Comment,\r\n notificationFrequency: NotificationFrequency.Instantly,\r\n notificationType: NotificationType.EmailNotification\r\n }\r\n\r\n await this.commentService.addComment(commentDto);\r\n }\r\n }\r\n else if (approvedTask.value == true && this.isCollaborator) {\r\n approvedTask.value = false;\r\n this.task.value = false;\r\n await this.booleanTaskService.changeTaskBooleanStatus(approvedTask);\r\n }\r\n }\r\n\r\n getButtonName() {\r\n if (this.task.value) {\r\n if (this.isNetworkMember) {\r\n return \"Approved\";\r\n }\r\n else {\r\n return \"Click to Disapprove\";\r\n }\r\n }\r\n\r\n return \"Click to Approve\";\r\n }\r\n\r\n // method to reject the task\r\n async reject() {\r\n var rejectedTask = this.task;\r\n rejectedTask.value = false;\r\n\r\n if (await this.booleanTaskService.changeTaskBooleanStatus(rejectedTask)) {\r\n this.task.value = false;\r\n }\r\n }\r\n\r\n getCommentAttachments(comments: CommentDto[]) {\r\n var attachments = comments?.map(x => x.attachments).flat();\r\n var sortedAttachemnts = attachments?.sort((a, b) => a.fileDate > b.fileDate ? -1 : 1);\r\n return sortedAttachemnts;\r\n }\r\n\r\n getDueDate(booleanTask: BooleanTaskDto) {\r\n return booleanTask.overdueDate == undefined || booleanTask.overdueDate.getFullYear() == 1 ? \"/\" : this.datePipe.transform(booleanTask.overdueDate);\r\n }\r\n\r\n getApprovalDate(booleanTask: BooleanTaskDto) {\r\n return booleanTask.approvalDate == undefined || booleanTask.approvalDate.getFullYear() == 1 ? \"Not approved yet\" : this.datePipe.transform(booleanTask.approvalDate);\r\n }\r\n\r\n formatdate(dateYear: Date) {\r\n var year = dateYear.getFullYear();\r\n if (year === 1) {\r\n return \"/\";\r\n }\r\n return year;\r\n }\r\n\r\n getMetaData(task: BooleanTaskDto) {\r\n if (task.sourceId.startsWith(\"SA\")) {\r\n const parsed = JSON.parse(task.metaData);\r\n const approvalQuestions = parsed.ApprovalQuestions;\r\n\r\n if (approvalQuestions.length > 0) {\r\n const periodEndDate = Date.parse(approvalQuestions[0]?.PeriodEndDate);\r\n\r\n if (!isNaN(periodEndDate)) {\r\n return this.formatdate(new Date(periodEndDate));\r\n }\r\n return \"\";\r\n\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n\r\n }\r\n\r\n filterOutDeletedAttachments(commentId: string) {\r\n var filteredComments = this.comments.filter(x => x.id != commentId);\r\n var attachments = this.getCommentAttachments(filteredComments);\r\n this.commentAttachments = attachments;\r\n }\r\n\r\n updateAttachmentsList(attachment: AttachmentDTO[]) {\r\n this.commentAttachments.push(...attachment);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.deletedCommentEventSubscription.unsubscribe();\r\n this.commentAttachmentAddedEventSubscription.unsubscribe();\r\n }\r\n}","
\r\n \r\n
\r\n \r\n \r\n \r\n

task?.displayDate.getDate() + 3) && (dateTime.getDate() < task?.displayDate.getDate() + 10) ? 'midOverdue' : 'overdue' }}\">{{\r\n task?.title }} {{ getMetaData(task) ? ' - ' + getMetaData(task) : '' }}

\r\n \r\n

{{commonService.getLastModifiedDate([task])}}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{task?.networkMember?.accountName }}(Click for more details...)\r\n Network Member\r\n unknown\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{ task?.title }}

\r\n {{ task?.subTitle }}\r\n
\r\n\r\n
\r\n no content\r\n {{ task?.content }}\r\n
\r\n\r\n
\r\n

Network Member

\r\n {{ task.networkMember.accountName }}\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Status

\r\n {{ status }}\r\n
\r\n
\r\n

Approval Status

\r\n {{ \"Approved\" }}\r\n No approval status for this task yet\r\n
\r\n
\r\n
\r\n
\r\n

Due date

\r\n {{ getDueDate(task) }}\r\n
\r\n
\r\n

Approval date

\r\n {{ getApprovalDate(task) }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n Loading...\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { DatePipe, Location } from \"@angular/common\";\r\nimport { BooleanTaskService } from 'src/app/services/boolean-task/boolean-task.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { BooleanTaskDto, SortOrder, SortingElement, TasksStatus } from 'src/app/web-api-client';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { FilterParameter } from 'src/app/models/FilterPrameter';\r\nimport { parseDate } from 'ngx-bootstrap/chronos';\r\nimport { faSort } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-boolean-task-list',\r\n templateUrl: './boolean-task-list.component.html',\r\n styleUrls: ['./boolean-task-list.component.scss']\r\n})\r\nexport class BooleanTaskListComponent implements OnInit {\r\n\r\n // loading indicator\r\n loadingBooleanTask: boolean = false;\r\n dateTime = new Date()\r\n // take the process as input\r\n @Input() process: string;\r\n // take the title as input\r\n @Input() title: string;\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 30;\r\n @Input() displayFilter: boolean = false;\r\n @Input() onOverview: boolean = false;\r\n\r\n @Input() statusFilter: number = null;\r\n @Input() tableView: boolean;\r\n @Input() headers: { head: string, property: string }[] = [];\r\n // hold the boolean tasks\r\n items: BooleanTaskDto[] = [];\r\n @Input() subscriberId: string;\r\n @Input() isOnClientView: boolean = false;\r\n @Input() networkMemberId: string = \"\";\r\n @Input() sortingElements: SortingElement[] = [];\r\n\r\n isNetworkMember: boolean;\r\n hideShowMoreBtn: boolean = false;\r\n isMuView: boolean = false;\r\n processId: string;\r\n params: ParamMap;\r\n lastRefreshDate: string = \"\"\r\n faSort = faSort\r\n\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n private booleanTaskService: BooleanTaskService,\r\n public location: Location,\r\n private userService: UserService,\r\n public commonService: CommonService,\r\n private datePipe: DatePipe) {\r\n var isMuView = JSON.parse(localStorage.getItem(\"isApprovalMultipoolView\"));\r\n if (isMuView == null) {\r\n isMuView = false;\r\n }\r\n this.updateProcess(isMuView);\r\n this.processId = this.process;\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.processId && this.processId != this.process) {\r\n this.process = this.processId;\r\n }\r\n\r\n await this.checkUserRoles();\r\n this.lastRefreshDate = await this.commonService.getHangfireJobStartDateExecution(this.process);\r\n }\r\n\r\n changeIsMuView(muView: boolean) {\r\n this.updateProcess(muView);\r\n this.updateTitle(muView);\r\n\r\n this.processId = this.process;\r\n this.items = [];\r\n\r\n this.ngOnInit()\r\n }\r\n\r\n updateProcess(muView: boolean) {\r\n this.isMuView = muView\r\n if (muView) {\r\n this.process = \"approval-mu\"\r\n this.headers = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Due date\", property: \"overdueDate\" }, { head: \"Status\", property: \"status?.value\" },]\r\n } else {\r\n this.process = \"approval\"\r\n this.headers = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Approval date\", property: \"approvalDate\" }, { head: \"Due date\", property: \"overdueDate\" }, { head: \"Status\", property: \"status?.value\" },]\r\n }\r\n\r\n localStorage.setItem(\"isApprovalMultipoolView\", JSON.stringify(muView));\r\n }\r\n\r\n updateTitle(muView: boolean) {\r\n if (muView) {\r\n this.title = \"Multipool Approvals\"\r\n } else {\r\n this.title = \"Approvals\"\r\n }\r\n }\r\n\r\n async checkUserRoles() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember)\r\n this.activatedroute.queryParamMap.subscribe(async (params) => await this.loadtasks(params));\r\n }\r\n\r\n async loadMore() {\r\n if (!this.loadingBooleanTask) {\r\n this.page++\r\n await this.loadtasks(null, true);\r\n }\r\n }\r\n\r\n getApprovalDate(booleanTask: BooleanTaskDto) {\r\n return booleanTask.approvalDate == undefined || booleanTask.approvalDate.getFullYear() == 1 ? \"Not approved yet\" : this.datePipe.transform(booleanTask.approvalDate);\r\n }\r\n\r\n getDueDate(booleanTask: BooleanTaskDto) {\r\n return booleanTask.overdueDate == undefined || booleanTask.overdueDate.getFullYear() == 1 ? \"/\" : this.datePipe.transform(booleanTask.overdueDate);\r\n }\r\n\r\n async loadtasks(params?: any, loadMore?: boolean) {\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n if (!loadMore) {\r\n this.items = [];\r\n this.page = 1;\r\n }\r\n\r\n // loading started\r\n this.loadingBooleanTask = true;\r\n\r\n let newItems: BooleanTaskDto[] = [];\r\n\r\n if (this.process) {\r\n var nmId = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientId = params?.get(\"clientId\");\r\n var clientName = params?.get(\"clientName\");\r\n var subscriberId = params?.get('subscriberId');\r\n\r\n var storageStatus = localStorage.getItem('status');\r\n var status: TasksStatus = storageStatus == \"null\" ? null : parseInt(storageStatus);\r\n var storageDueDate = localStorage.getItem('dueDate');\r\n var filterParameter: FilterParameter = {} as FilterParameter;\r\n\r\n filterParameter.NetworkMemberIds = nmId == null ? null : [nmId];\r\n filterParameter.ClientId = clientId;\r\n filterParameter.ClientName = clientName;\r\n filterParameter.SubscriberId = subscriberId;\r\n filterParameter.Status = status\r\n filterParameter.ProcessId = this.process;\r\n filterParameter.OverdueDate = parseInt(storageDueDate);\r\n\r\n //Sort by Status\r\n var sortBystatus = new SortingElement();\r\n sortBystatus.columnName = this.getPropertyName((obj: BooleanTaskDto) => obj.status);\r\n sortBystatus.sortOrder = SortOrder.Ascending\r\n this.sortingElements.push(sortBystatus);\r\n\r\n //Sort by DueDate\r\n var sortByDueDate = new SortingElement();\r\n sortByDueDate.columnName = this.getPropertyName((obj: BooleanTaskDto) => obj.overdueDate);\r\n sortByDueDate.sortOrder = SortOrder.Descending\r\n this.sortingElements.push(sortByDueDate);\r\n\r\n //Sort by Client name\r\n var sortByClient = new SortingElement();\r\n sortByClient.columnName = this.getPropertyName((obj: BooleanTaskDto) => obj.clientId);\r\n sortByClient.sortOrder = SortOrder.Ascending\r\n this.sortingElements.push(sortByClient);\r\n\r\n if (this.isNetworkMember) {\r\n newItems = await this.booleanTaskService.getMyOrganization(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n } else {\r\n if (nmId == null) {\r\n filterParameter.NetworkMemberIds = [];\r\n }\r\n\r\n newItems = await this.booleanTaskService.getTasks(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n }\r\n\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n\r\n var concat = this.items.concat(newItems);\r\n this.items = concat;\r\n }\r\n\r\n this.sortingElements = []\r\n this.loadingBooleanTask = false;\r\n }\r\n\r\n formatdate(dateYear: Date) {\r\n var year = dateYear.getFullYear();\r\n if (year === 1) {\r\n return \"/\";\r\n }\r\n return year;\r\n }\r\n\r\n getMetaData(task: BooleanTaskDto) {\r\n if (task.sourceId.startsWith(\"SA\")) {\r\n const parsed = JSON.parse(task.metaData);\r\n const approvalQuestions = parsed.ApprovalQuestions;\r\n\r\n if (approvalQuestions.length > 0) {\r\n const periodEndDate = Date.parse(approvalQuestions[0]?.PeriodEndDate);\r\n\r\n if (!isNaN(periodEndDate)) {\r\n return this.formatdate(new Date(periodEndDate));\r\n }\r\n return \"\";\r\n\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n getPropertyName(propertyAccessor: (obj: T) => any): string {\r\n const match = propertyAccessor.toString().match(/\\.([a-zA-Z0-9_]+)/);\r\n return match ? match[1] : '';\r\n }\r\n}\r\n\r\n","
\r\n \r\n

{{ title }}

\r\n \r\n

{{lastRefreshDate}}

\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{head.head}}\r\n NM approved
\r\n {{ item?.title }} {{ getMetaData(item) ? ' - ' + getMetaData(item) : '' }}\r\n {{ item?.networkMember?.accountName }}\r\n {{getApprovalDate(item)}}{{ getDueDate(item)}}{{item.country}}{{\r\n commonService.getTaskStatusByNumber(item?.status.value,true) }}\r\n {{item.value==true ? \"Approved\" : \"\"}}\r\n
\r\n
\r\n
\r\n\r\n
There are no outstanding tasks.
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Loading...\r\n
\r\n
","import { Component, EventEmitter, HostListener, Input, OnInit, Output, ViewChild, NgZone } from '@angular/core';\r\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\r\nimport { Observable, OperatorFunction, Subject, Subscription, merge } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { BooleanTaskDto, CommentDto, CommentType, FileParameter } from 'src/app/web-api-client';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { NgbTypeahead } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { faCircleXmark } from '@fortawesome/free-regular-svg-icons';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { QuillEditorComponent } from 'ngx-quill';\r\nimport { TagReplyParameter } from 'src/app/models/TagReplyParameter';\r\nimport { CommentFormDto } from 'src/app/models/CommentFormDto';\r\nimport { ProcessIds } from 'src/app/models/enums/processIds';\r\nimport { NotificationFrequency } from 'src/app/models/enums/NotificaionFrequency';\r\nimport { NotificationType } from 'src/app/models/enums/NotificationType';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-comment-form',\r\n templateUrl: './comment-form.component.html',\r\n styleUrls: ['./comment-form.component.scss']\r\n})\r\n\r\nexport class CommentDetailComponent implements OnInit {\r\n @ViewChild('commentForm') commentForm: NgForm;\r\n //@ViewChild('autosize') autosize: CdkTextareaAutosize;\r\n //@ViewChild('commentField', { static: true }) commentField: ElementRef;\r\n @ViewChild('instance', { static: false }) instance: NgbTypeahead;\r\n @ViewChild('quillEditor', { static: false }) quillEditor: QuillEditorComponent | undefined;\r\n\r\n @Input() isTagSystemApplicable: boolean = false;\r\n\r\n //Emit attachments and content of a comment\r\n @Output() commentEvent: EventEmitter = new EventEmitter();\r\n\r\n accountFile: FileParameter;\r\n showError = false;\r\n showAdminDbError = false;\r\n attachments: FileParameter[] = [];\r\n MAX_FILES_SIZE = 30000000;\r\n valid: boolean = false;\r\n text: string = \"\";\r\n htmlContent = \"\";\r\n error: string;\r\n dragAreaClass: string;\r\n draggedFiles: any;\r\n _ngZone: NgZone;\r\n verifyText: string = \"\"\r\n templateForm: FormGroup;\r\n commentTags: string[] = []\r\n model: any;\r\n tagsToAdd: string[] = []\r\n faCircleXmark = faCircleXmark;\r\n taskId: string = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n allDiscussionTags: string[];\r\n defaultTags: string[];\r\n approval: BooleanTaskDto;\r\n shoudlSendNotification: boolean = false;\r\n commentId: string = \"\";\r\n isEdit: boolean = false;\r\n\r\n isNetworkMember: boolean;\r\n\r\n commentReplyTagsSubscription: Subscription;\r\n clientReplyTagsSubscription: Subscription;\r\n editCommentSubscription: Subscription;\r\n\r\n constructor(public documentService: DocumentService, private commentService: CommentService, private activatedroute: ActivatedRoute, private userService: UserService) {\r\n this.templateForm = new FormGroup({\r\n textEditor: new FormControl(''),\r\n });\r\n }\r\n\r\n allTags: string[];\r\n focus$ = new Subject();\r\n click$ = new Subject();\r\n\r\n async ngOnInit() {\r\n this.allDiscussionTags = this.commentService.discussion?.comments.map(({ tags }) => tags).flat().map(({ tagName }) => tagName);\r\n this.commentReplyTagsSubscription = this.commentService.getCommentReplyTagsList.subscribe((tags) => this.getCommentReplyTags(tags));\r\n this.clientReplyTagsSubscription = this.commentService.getClientReplyTagValue.subscribe((tags) => this.getClientReplyTag(tags));\r\n this.editCommentSubscription = this.commentService.editCommentEvent.subscribe((comment) => this.editComment(comment));\r\n\r\n this.defaultTags = this.commentService.defaultTags?.map(({ tagName }) => tagName)\r\n this.allTags = this.allDiscussionTags?.concat(this.defaultTags);\r\n\r\n this.templateForm.valueChanges.subscribe(x => { this.valid = this.isValid() });\r\n\r\n this.approval = this.commentService.task;\r\n\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n }\r\n\r\n search: OperatorFunction = (text$: Observable) => {\r\n const debouncedText$ = text$.pipe(debounceTime(200), distinctUntilChanged());\r\n const clicksWithClosedPopup$ = this.click$.pipe(filter(() => !this.instance.isPopupOpen()));\r\n const inputFocus$ = this.focus$;\r\n\r\n var distinctTags = [...new Set(this.allTags)];\r\n\r\n return merge(debouncedText$, inputFocus$, clicksWithClosedPopup$).pipe(\r\n map((term) => {\r\n const filteredTags = (term === '' ? distinctTags : distinctTags.filter((v) => v.toLowerCase().indexOf(term.toLowerCase()) > -1));\r\n distinctTags = filteredTags;\r\n // Close the popup if the search term is empty\r\n if (term === '' || term.length === 0) {\r\n this.instance.dismissPopup();\r\n }\r\n return filteredTags.slice(0, 10);\r\n }),\r\n );\r\n };\r\n\r\n getClientReplyTag(tagReplyParameter: TagReplyParameter) {\r\n if (tagReplyParameter != undefined) {\r\n this.commentTags.push(tagReplyParameter.tagName);\r\n var formattedMessage = tagReplyParameter.message.replace(/\\/g, '\\n');\r\n this.fillQuillEditorWithText(formattedMessage, true);\r\n };\r\n }\r\n\r\n getCommentReplyTags(params: TagReplyParameter[]) {\r\n params.forEach(param => {\r\n if (!this.commentTags.includes(param.tagName)) {\r\n this.commentTags.push(param.tagName)\r\n }\r\n });\r\n\r\n var approvalComments = params.map(x => x.message).join('\\n');\r\n this.fillQuillEditorWithText(approvalComments, false);\r\n }\r\n\r\n private fillQuillEditorWithText(messageText: string, isClientReply: boolean) {\r\n // Accessing the native DOM element containing the Quill editor\r\n var quillEditor = this.quillEditor;\r\n if (quillEditor) {\r\n if (isClientReply) {\r\n if (messageText.trim().length > 0) {\r\n var replyTextTitle = \"Insurope Approval Comments:\";\r\n messageText = messageText.replace(\"
\", '\\n');\r\n messageText = `\\n\\n${replyTextTitle}\\n${messageText}`;\r\n\r\n quillEditor.quillEditor.insertText(messageText.length, messageText);\r\n var titleIndex = quillEditor.quillEditor.getText().indexOf(replyTextTitle);\r\n quillEditor.quillEditor.formatText(titleIndex, replyTextTitle.length, 'bold', true);\r\n quillEditor.quillEditor.setSelection(0, 0);\r\n\r\n this.commentTags.push(\"Approval Comments Reply\");\r\n }\r\n }\r\n else {\r\n quillEditor.quillEditor.insertText(messageText.length, messageText);\r\n }\r\n\r\n this.scrollToQuillEditor(quillEditor);\r\n }\r\n }\r\n\r\n private scrollToQuillEditor(quillEditor: QuillEditorComponent) {\r\n const editorElement = quillEditor.elementRef?.nativeElement;\r\n if (editorElement) {\r\n editorElement.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n } else {\r\n console.error('Unable to scroll. Quill editor native element not found.');\r\n }\r\n }\r\n\r\n @HostListener(\"dragover\", [\"$event\"]) onDragOver(event: any) {\r\n this.dragAreaClass = \"droparea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragenter\", [\"$event\"]) onDragEnter(event: any) {\r\n this.dragAreaClass = \"droparea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragend\", [\"$event\"]) onDragEnd(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragleave\", [\"$event\"]) onDragLeave(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"drop\", [\"$event\"]) onDrop(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files) {\r\n let files: File[] = event.dataTransfer.files;\r\n this.fileUploaded({ isUploaded: true, message: \"\", files: files });\r\n }\r\n }\r\n\r\n fileUploaded(response: { isUploaded: boolean, message: string, files?: File[] }) {\r\n var filesSize = 0;\r\n if (response.isUploaded) {\r\n // loop through the files\r\n for (let i = 0; i < response.files.length; i++) {\r\n // add the file to the list\r\n filesSize += response.files[i].size;\r\n\r\n const decodedFileName = decodeURIComponent(response.files[i].name);\r\n const fileNameParts = decodedFileName.split('.');\r\n const extension = fileNameParts.pop();\r\n const cleanedFileName = fileNameParts.join('.').replace(/[^a-zA-Z0-9]+/g, ' ');\r\n const newFileName = cleanedFileName + '.' + extension;\r\n\r\n this.attachments.push({ data: new Blob([response.files[i]]), fileName: newFileName });\r\n\r\n if (filesSize >= this.MAX_FILES_SIZE) {\r\n this.removeFile(this.attachments.length - 1);\r\n filesSize -= response.files[i].size;\r\n this.showFilesError();\r\n }\r\n }\r\n this.valid = this.isValid();\r\n } else {\r\n console.error(response.message);\r\n }\r\n }\r\n\r\n showFilesError() {\r\n this.showError = true;\r\n setTimeout(() => {\r\n this.showError = false\r\n }, 5000)\r\n }\r\n\r\n removeFile(index: number) {\r\n // remove the file\r\n this.attachments.splice(index, 1);\r\n this.valid = this.isValid();;\r\n }\r\n\r\n onClickSubmit() {\r\n var notificationFrequency = this.approval.processId == ProcessIds.multipoolApprovals ? NotificationFrequency.Scheduled : NotificationFrequency.Instantly;\r\n\r\n var commentFormDto: CommentFormDto = {\r\n content: this.templateForm.value.textEditor,\r\n attachments: this.attachments,\r\n commentTags: this.commentTags,\r\n commentType: CommentType.Reply,\r\n notificationFrequency: notificationFrequency,\r\n notificationType: NotificationType.EmailNotification,\r\n isEdit: this.isEdit,\r\n sentNotification: this.shoudlSendNotification,\r\n commentId: this.commentId,\r\n }\r\n\r\n this.commentEvent.emit(commentFormDto);\r\n\r\n this.attachments = [];\r\n this.templateForm.reset();\r\n this.commentTags = []\r\n this.valid = false;\r\n this.isEdit = false;\r\n }\r\n\r\n addTag(event: { preventDefault: () => void; }, tag: string) {\r\n if (!this.isNetworkMember) {\r\n if (this.commentTags.find(x => x == tag) == null) {\r\n this.commentTags.push(tag)\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n tag = '';\r\n this.model = ''\r\n }\r\n\r\n deleteTag(index: number) {\r\n this.commentTags.splice(index, 1);\r\n }\r\n\r\n // triggerResize() {\r\n // // Wait for changes to be applied, then trigger textarea resize.\r\n // this._ngZone.onStable.pipe(take(1)).subscribe(() => this.autosize.resizeToFitContent(true));\r\n // }\r\n\r\n async getAccountFile() {\r\n try {\r\n var fileResponse = await this.documentService.getAdminDbDocument(this.approval.adminDbAttachments[0], [this.approval.networkMemberId]);\r\n this.attachments.push({ data: new Blob([fileResponse.data]), fileName: fileResponse.fileName })\r\n this.valid = Boolean((this.attachments.length > 0 || this.text != \"\") || this.commentForm.valid);\r\n } catch (e) {\r\n this.showAdminDbError = true;\r\n setTimeout(() => {\r\n this.showAdminDbError = false\r\n }, 5000)\r\n }\r\n\r\n }\r\n\r\n isValid() {\r\n return Boolean((this.attachments.length > 0 || !(this.templateForm.value.textEditor == null || this.templateForm.value.textEditor == \"\")) && this.templateForm.valid);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.clientReplyTagsSubscription.unsubscribe();\r\n this.commentReplyTagsSubscription.unsubscribe();\r\n this.editCommentSubscription.unsubscribe();\r\n }\r\n\r\n editComment(comment: CommentDto) {\r\n this.commentId = comment.id;\r\n this.isEdit = true;\r\n var updatedCommentText = \"\";\r\n\r\n if (comment.content?.trim().length > 0) {\r\n var lines = comment.content.split('\\n');\r\n for (let i = 0; i < lines.length; i++) {\r\n var lineText = this.htmlToPlainText(lines[i]);\r\n\r\n if (lines[i].trim().length > 0) {\r\n if (!lines[i].startsWith(\"Edited on\")) {\r\n if (i == lines.length - 1) {\r\n updatedCommentText += lineText;\r\n }\r\n else {\r\n updatedCommentText += lineText + '\\n';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.fillQuillEditorWithText(updatedCommentText, false);\r\n }\r\n\r\n cancelEdit() {\r\n this.commentId = null;\r\n this.isEdit = false;\r\n this.quillEditor.quillEditor.deleteText(0, this.quillEditor.quillEditor.getLength());\r\n }\r\n\r\n htmlToPlainText(html: string): string {\r\n const div = document.createElement('div');\r\n div.innerHTML = html;\r\n\r\n return this.traverseDOM(div);\r\n }\r\n\r\n traverseDOM(node: Node): string {\r\n let text = '';\r\n\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n text += node.textContent;\r\n } else if (node.nodeType === Node.ELEMENT_NODE && node instanceof Element) {\r\n if (node.tagName === 'BR') {\r\n text += '\\n';\r\n } else if (node.tagName === 'LI') {\r\n text += '\\n- ' + node.textContent.trim();\r\n } else {\r\n for (let i = 0; i < node.childNodes.length; i++) {\r\n text += this.traverseDOM(node.childNodes[i]);\r\n }\r\n }\r\n }\r\n\r\n return text;\r\n }\r\n}","\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{tag}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n

No files selected

\r\n
{{ documentService.sanitizeFileName(file.fileName)}}\r\n \r\n
\r\n
\r\n\r\n

No admin db file was found

\r\n

You cannot add more than 30 MB of files. Please verify the size of your\r\n files

\r\n
","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, Renderer2 } from '@angular/core';\r\nimport { faFilePdf } from '@fortawesome/free-solid-svg-icons';\r\nimport { faFileExcel } from '@fortawesome/free-solid-svg-icons';\r\nimport { faFileCsv } from '@fortawesome/free-solid-svg-icons';\r\nimport { faFile } from '@fortawesome/free-solid-svg-icons';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Attachment, CommentDto, CommentTagDto, CommentType } from 'src/app/web-api-client';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { faCircleXmark } from '@fortawesome/free-regular-svg-icons';\r\nimport { NgbTypeahead } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable, OperatorFunction, Subject, debounceTime, distinctUntilChanged, filter, map, merge } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { TagReplyParameter } from 'src/app/models/TagReplyParameter';\r\n\r\n@Component({\r\n selector: 'app-comment-item',\r\n templateUrl: './comment-item.component.html',\r\n styleUrls: ['./comment-item.component.scss']\r\n})\r\n\r\nexport class CommentItemComponent implements OnInit {\r\n @Input() comment?: CommentDto\r\n @Input() discussionId?: string\r\n @Input() isTagSystemApplicable: boolean = false;\r\n @Input() userId: string;\r\n @Input() clientNameList: string[];\r\n\r\n @Output() filterByTagEvent = new EventEmitter();\r\n\r\n @ViewChild('instance', { static: true }) instance: NgbTypeahead;\r\n @ViewChild('contentDiv') contentDiv!: ElementRef;\r\n\r\n attachments: Attachment[] = [];\r\n pseudo: string = \"\";\r\n faFilePdf = faFilePdf;\r\n faFileExcel = faFileExcel;\r\n faFileCsv = faFileCsv;\r\n faFile = faFile;\r\n filesPath: string[] = [];\r\n //commentClass: string = \"comment-item\"\r\n commentTags: CommentTagDto[] = []\r\n faCircleXmark = faCircleXmark;\r\n model: string;\r\n allDiscussionTags: string[];\r\n defaultTags: string[];\r\n allTags: string[];\r\n taskId: string = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n maxLength: number = 300;\r\n onKeyDown: boolean = true;\r\n focus$ = new Subject();\r\n click$ = new Subject();\r\n\r\n isNetworkMember: boolean;\r\n isCollaborator: boolean;\r\n\r\n showMore: boolean = false;\r\n canBeEdited: boolean = false;\r\n canBeDeleted: boolean = false;\r\n\r\n sanitizedText: SafeHtml;\r\n maxCommentElementHeight: string = \"150px\";\r\n isExpanded = false;\r\n showButton = false;\r\n\r\n constructor(private sanitizer: DomSanitizer, private commentService: CommentService, public documentService: DocumentService, private activatedroute: ActivatedRoute, private userService: UserService, private renderer: Renderer2) { }\r\n\r\n async ngOnInit() {\r\n this.attachments = this.comment?.attachments;\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n\r\n if (this.isNetworkMember) {\r\n //no remove characters\r\n this.onKeyDown = false;\r\n //no write\r\n this.maxLength = 0\r\n }\r\n else {\r\n this.maxLength = 300;\r\n this.onKeyDown = true;\r\n }\r\n\r\n var user = await this.userService.getCurrentUser();\r\n\r\n this.canBeEdited = this.comment.commentType != CommentType.Automated && this.comment.userId == user.id;\r\n this.canBeDeleted = this.comment.userId == user.id || this.isCollaborator;\r\n\r\n this.commentTags = this.commentService.comments.filter(x => x.id == this.comment.id).map(x => x.tags).flat();\r\n\r\n let discussionTags = this.commentService.discussion?.comments.map(x => x.tags).flat();\r\n this.allDiscussionTags = [...new Set(discussionTags?.map(({ tagName }) => tagName))];\r\n this.defaultTags = this.commentService.defaultTags?.map(({ tagName }) => tagName);\r\n this.allTags = [...new Set(this.allDiscussionTags?.concat(this.defaultTags).concat(this.clientNameList))];\r\n\r\n this.generateCommentPreview();\r\n\r\n this.getPseudo();\r\n //this.changeClass();\r\n\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.contentDiv.nativeElement.style.maxHeight = this.maxCommentElementHeight;\r\n\r\n setTimeout(() => {\r\n const contentDiv = this.contentDiv.nativeElement;\r\n const scrollingHeight = contentDiv.scrollHeight;\r\n var maxElementHeight = parseInt(this.maxCommentElementHeight.replace(\"px\", \"\"));\r\n\r\n if (scrollingHeight > maxElementHeight) {\r\n this.showButton = true;\r\n }\r\n\r\n }, 0);\r\n }\r\n\r\n search: OperatorFunction = (text$: Observable) => {\r\n const debouncedText$ = text$.pipe(debounceTime(200), distinctUntilChanged());\r\n const clicksWithClosedPopup$ = this.click$.pipe(filter(() => !this.instance?.isPopupOpen()));\r\n const inputFocus$ = this.focus$;\r\n\r\n return merge(debouncedText$, inputFocus$, clicksWithClosedPopup$).pipe(\r\n map((term) =>\r\n (term === '' ? this.allTags : this.allTags.filter((v) => v.toLowerCase().indexOf(term.toLowerCase()) > -1)).slice(0, 10),\r\n ),\r\n );\r\n };\r\n\r\n getPseudo() {\r\n this.pseudo = this.comment.firstName[0] + this.comment.lastName[0];\r\n }\r\n\r\n convertFileType(type: string) {\r\n switch (type) {\r\n case \".pdf\":\r\n return this.faFilePdf;\r\n case \".xsl\":\r\n return this.faFileExcel;\r\n case \".csv\":\r\n return this.faFileCsv;\r\n default:\r\n return this.faFile;\r\n }\r\n }\r\n\r\n sanitize(url: string) {\r\n // return safe url\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n addReplyTags() {\r\n var replyTags = this.commentTags.map(x => x.tagName);\r\n replyTags = replyTags.filter(x => x != \"Handled by Network Member\");\r\n replyTags.push(\"Handled by Insurope\");\r\n\r\n var TagReplyParameter: TagReplyParameter[] = replyTags.map(x => { return { tagName: x, message: \"\" } });\r\n this.commentService.setCommentReplyTagsList.next(TagReplyParameter);\r\n }\r\n\r\n // changeClass() {\r\n // if (this.userId == this.comment?.userId) {\r\n // this.commentClass = \"my-comment comment-item\";\r\n // }\r\n // }\r\n\r\n async deleteTag(id: string) {\r\n var index = this.commentTags.findIndex(x => x.id == id);\r\n this.commentTags.splice(index, 1);\r\n await this.commentService.deleteCommentTags(id, this.discussionId, this.comment.id).then()\r\n }\r\n\r\n async addTag($event: { preventDefault: () => void; }, tag: string) {\r\n if (this.commentTags.find(x => x.tagName == tag) == null && tag != null) {\r\n var commentId = this.comment.id\r\n var newTag = await this.commentService.addCommentTag([tag], this.discussionId, commentId);\r\n this.commentTags = this.commentTags.concat(newTag);\r\n $event.preventDefault();\r\n }\r\n\r\n this.model = \"\"\r\n }\r\n\r\n // method to download the file\r\n async downloadCommentFile(file: Attachment) {\r\n // download the file from the server\r\n let download = \"data:application/octet-stream;base64,\" + await this.commentService.downloadFile(this.comment?.id, this.discussionId, file.id);\r\n // download the file\r\n var a = document.createElement('a');\r\n a.setAttribute('href', download);\r\n a.setAttribute('download', file.name);\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n\r\n filterByTag(tag: string) {\r\n // filter the comments by tag\r\n this.filterByTagEvent.emit(tag);\r\n }\r\n\r\n toggleExpand() {\r\n this.isExpanded = !this.isExpanded;\r\n if (!this.isExpanded) {\r\n this.contentDiv.nativeElement.style.maxHeight = this.maxCommentElementHeight;\r\n }\r\n else {\r\n this.contentDiv.nativeElement.style.maxHeight = \"none\";\r\n }\r\n }\r\n\r\n generateCommentPreview() {\r\n if (this.comment?.content != null && this.comment?.content?.length > 0) {\r\n if (!this.comment.isHtmlText) {\r\n var commentText = this.convertToPlainText(this.comment.content);\r\n this.sanitizedText = this.sanitizer.bypassSecurityTrustHtml(commentText);\r\n }\r\n else {\r\n this.sanitizedText = this.sanitizer.bypassSecurityTrustHtml(this.comment.content);\r\n }\r\n }\r\n }\r\n\r\n expandCollapseComment(shouldExpand: boolean) {\r\n this.showMore = shouldExpand;\r\n }\r\n\r\n // delete a comment\r\n async deleteComment() {\r\n await this.commentService.deleteComment(this.taskId, this.comment.id);\r\n }\r\n\r\n async editeComment() {\r\n this.commentService.editCommentEvent.next(this.comment);\r\n }\r\n\r\n convertToPlainText(text: string): string {\r\n // Create a new DOMParser instance\r\n const parser = new DOMParser();\r\n // Parse the input HTML string into a document\r\n const doc = parser.parseFromString(text, 'text/html');\r\n\r\n // Check if there's a paragraph element that is not empty\r\n const paragraphElements = doc.querySelectorAll('p');\r\n const titleElement = doc.querySelector('b');\r\n const listElement = doc.querySelector('ul');\r\n\r\n // Initialize HTML with an empty string\r\n let html = '';\r\n\r\n // Process paragraph elements if present\r\n paragraphElements.forEach((p) => {\r\n const paragraphText = p.textContent?.trim();\r\n if (paragraphText) {\r\n html += `

${paragraphText}

\\n`; // Add paragraph to HTML\r\n }\r\n });\r\n\r\n if (html.trim().length == 0) {\r\n if (text.trim().length > 0)\r\n html = `

${text}

\\n`;\r\n else {\r\n html = `

\\n`;\r\n }\r\n }\r\n\r\n // If there's a title, add it\r\n if (titleElement) {\r\n html = html.replace(/

.*$/gm, `

${titleElement.textContent?.trim()}
\\n`);\r\n }\r\n\r\n // Process the list if present\r\n if (listElement) {\r\n html += `

    \\n`;\r\n const items = listElement.querySelectorAll('li');\r\n\r\n // Iterate through the list items\r\n items.forEach((item) => {\r\n const lines = item.textContent?.trim().split('\\n').map(line => line.trim()).filter(Boolean) || [];\r\n let mainItem = true; // To track main vs nested items\r\n\r\n // Iterate through the extracted lines\r\n lines.forEach(line => {\r\n if (line.startsWith('-')) {\r\n if (!mainItem) {\r\n html += `
\\n`; // Close the nested list if it was open\r\n mainItem = true; // Reset for the next main item\r\n }\r\n html += `
  • ${line.substring(1).trim()}
  • \\n`; // Add main list item\r\n } else if (line.startsWith('?')) {\r\n if (mainItem) {\r\n html += `
      \\n`; // Open a nested list\r\n mainItem = false; // Switch to nested item mode\r\n }\r\n html += `
    • ${line.substring(1).trim()}
    • \\n`; // Add nested list item\r\n } else {\r\n // If the line doesn't start with a dash or question mark,\r\n // treat it as a main item if it’s the first non-empty line.\r\n if (mainItem) {\r\n html += `
    • ${line}
    • \\n`; // Add it as a main item\r\n }\r\n }\r\n });\r\n\r\n if (!mainItem) {\r\n html += `
    \\n`; // Close the nested list if it was open\r\n }\r\n });\r\n html += `\\n`;\r\n }\r\n\r\n return html;\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{this.pseudo}}\r\n
    \r\n
    \r\n
    \r\n

    {{ comment?.firstName }} {{ comment?.lastName }}, {{ comment?.messageSent |date }}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Tags

    \r\n
    \r\n
    \r\n \r\n {{ tag.tagName }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { DiscussionDto, TaskSubscribersDto, Comment, TasksStatus, CommentDto, TaskUserSusbscriptionDto } from 'src/app/web-api-client';\r\nimport { faTrashCan, faCircleXmark } from \"@fortawesome/free-regular-svg-icons\";\r\nimport jsPDF from 'jspdf';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { NgbTypeahead } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TagReplyParameter } from 'src/app/models/TagReplyParameter';\r\nimport { CommentFormDto } from 'src/app/models/CommentFormDto';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\nimport { ProcessIds } from 'src/app/models/enums/processIds';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { EditCommentDto } from 'src/app/models/EditCommentDto';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\n\r\n@Component({\r\n selector: 'app-comment-list',\r\n templateUrl: './comment-list.component.html',\r\n styleUrls: ['./comment-list.component.scss']\r\n})\r\n\r\nexport class CommentListComponent implements OnInit {\r\n @Input() taskId: string = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n @Input() status: TasksStatus;\r\n @Input() customSubscriberProvider: string = \"\";\r\n @Input() networkMemberId: string;\r\n @Input() networkMemberName: string;\r\n @Input() clientName: string;\r\n @Input() clientNameList: string[];\r\n @Input() country: string;\r\n @Input() periodEnd: string;\r\n @Input() customProcessId: string = \"\";\r\n @Input() illustrationRequestSubscribers: TaskSubscribersDto = {\r\n clientSubscribers: [],\r\n networkMemberSubscribers: [],\r\n insuropeSubscribers: []\r\n } as TaskSubscribersDto;\r\n\r\n @Input() service: any;\r\n @Input() isTagSystemApplicable: boolean = true;\r\n\r\n @Output() commentIdReply = new EventEmitter();\r\n\r\n replyTagsSubject: Subject = new Subject();\r\n tagSelected: Subject = new Subject();\r\n quillEditorSetFocus: Subject = new Subject();\r\n\r\n lastExportedDate: Date;\r\n userId: string;\r\n dateTime = new Date()\r\n discussion: DiscussionDto;\r\n comments: Comment[] = [];\r\n commentId: number = 0;\r\n faTrashCan = faTrashCan;\r\n faCircleXmark = faCircleXmark;\r\n isNetworkMember: boolean;\r\n isClient: boolean;\r\n IsCollaborator: boolean;\r\n searchResult: [];\r\n replyTags: string[] = [];\r\n selectedTag: string = \"\";\r\n processId: string;\r\n filteredComments: Comment[] = [];\r\n isAllToggleShowMoreComplete: boolean = false;\r\n loading: boolean = false;\r\n commentsNodes: Node[] = [];\r\n replyTagsSubscription: Subscription;\r\n commentSubscribersSubscription: Subscription;\r\n\r\n taskSubscribers: TaskSubscribersDto = {\r\n clientSubscribers: [],\r\n networkMemberSubscribers: [],\r\n insuropeSubscribers: []\r\n } as TaskSubscribersDto;\r\n\r\n @ViewChild('discussionTable') discussionTable!: ElementRef;\r\n @ViewChild('searchTagField', { static: true }) searchTagField: ElementRef;\r\n @ViewChild('instance', { static: true }) instance: NgbTypeahead;\r\n\r\n constructor(private commentService: CommentService, private userService: UserService, \r\n private activatedroute: ActivatedRoute, private popupNotificationsService: PopupNotificationsService) { }\r\n\r\n ngOnInit() {\r\n this.processId = this.commentService.task.processId;\r\n if (this.customProcessId != \"\" && (this.processId == \"\" || this.processId == null)) {\r\n this.processId = this.customProcessId;\r\n }\r\n\r\n this.comments = this.commentService.comments;\r\n this.filteredComments = this.comments;\r\n this.discussion = this.commentService.discussion;\r\n\r\n this.commentSubscribersSubscription = this.commentService.updateCommentSubscribers.subscribe((subscribers) => {\r\n this.taskSubscribers = subscribers;\r\n });\r\n\r\n this.getSubscibers()\r\n }\r\n\r\n // Load subscribers from the service\r\n async getSubscibers() {\r\n try {\r\n if (this.customSubscriberProvider.trim() !== \"\") {\r\n this.taskSubscribers = await this.commentService.getIllustrationTaskSubscriber(this.taskId,\r\n this.illustrationRequestSubscribers.clientSubscribers,\r\n this.illustrationRequestSubscribers.insuropeSubscribers,\r\n this.illustrationRequestSubscribers.networkMemberSubscribers\r\n );\r\n }\r\n else {\r\n this.taskSubscribers = this.commentService.taskSubscribers;\r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n // Add a comment at the top of the comments array\r\n async addComment(response: CommentFormDto) {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isClient = await this.userService.isUserInRole(UserRoles.Client);\r\n this.IsCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n var task = this.commentService.task;\r\n\r\n if (response.isEdit) {\r\n let editCommentDto: EditCommentDto = {\r\n TaskId: this.taskId,\r\n CommentId: response.commentId,\r\n Content: response.content,\r\n SendNotification: response.sentNotification,\r\n PeriodEnd: this.periodEnd,\r\n ProcessName: this.processId,\r\n ClientName: this.clientName,\r\n NetworkMemberName: task.networkMemberName,\r\n CustomSubscriberProvider: task.customSubscriberProvider,\r\n Country: this.country,\r\n Title: task.title,\r\n };\r\n\r\n await this.commentService.editComment(editCommentDto);\r\n } else {\r\n let addCommentDto: AddCommentDto = {\r\n taskId: this.taskId,\r\n content: response.content,\r\n tags: response.commentTags,\r\n customSubscriberProvider: this.customSubscriberProvider,\r\n processName: this.processId,\r\n clientName: this.clientName,\r\n networkMemberName: this.networkMemberName,\r\n files: response.attachments,\r\n country: this.country,\r\n periodEnd: this.periodEnd,\r\n commentType: response.commentType,\r\n isDeleted: false,\r\n isEdited: false,\r\n isHtmlText: true,\r\n notificationFrequency: response.notificationFrequency,\r\n notificationType: response.notificationType\r\n };\r\n\r\n var comment = await this.commentService.addComment(addCommentDto).then();\r\n\r\n if (comment != undefined && !(this.processId == ProcessIds.accountInputs || this.processId == ProcessIds.annualReport || this.processId == ProcessIds.illustrations)) {\r\n if ((this.isNetworkMember || this.isClient) && this.status == TasksStatus.Open) {\r\n await this.service.changeTaskStatus(this.taskId, TasksStatus.InProgress);\r\n }\r\n\r\n if (this.IsCollaborator && this.status == TasksStatus.InProgress) {\r\n await this.service.changeTaskStatus(this.taskId, TasksStatus.Open);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // export the discussion\r\n\r\n async exportDiscussion() {\r\n this.loading = true;\r\n const exportCommentBuilder = [];\r\n const imageData: { src: string; x: number; y: number; width: number; height: number }[] = [];\r\n\r\n for (const comment of this.comments) {\r\n if (comment.content?.trim().length < 1) continue;\r\n\r\n const messageHeader = `${comment.firstName} ${comment.lastName} (${comment.messageSent.toDateString()}):`;\r\n //console.log(comment.content);\r\n const { text, images } = await this.htmlToPlainTextWithImages(comment.content);\r\n exportCommentBuilder.push(messageHeader + text);\r\n imageData.push(...images);\r\n }\r\n\r\n await this.generatePDF(\r\n exportCommentBuilder.join(\"\\n\\n\"),\r\n imageData,\r\n `${this.commentService.task.title} - ${this.commentService.task.networkMember?.accountName}.pdf`\r\n );\r\n\r\n this.loading = false;\r\n }\r\n\r\n async htmlToPlainTextWithImages(html: string): Promise<{ text: string; images: { src: string; x: number; y: number; width: number; height: number }[] }> {\r\n const div = document.createElement('div');\r\n div.innerHTML = html;\r\n\r\n const images: { src: string; x: number; y: number; width: number; height: number }[] = [];\r\n const text = await this.traverseDOMWithImages(div, images);\r\n\r\n return { text, images };\r\n }\r\n\r\n async traverseDOMWithImages(node: Node, images: { src: string; x: number; y: number; width: number; height: number }[], depth = 0, maxDepth = 100): Promise {\r\n if (depth > maxDepth) {\r\n console.warn('Maximum depth reached. Stopping traversal to prevent infinite recursion.');\r\n return '';\r\n }\r\n\r\n let text = '';\r\n\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n text += node.textContent || '';\r\n } else if (node.nodeType === Node.ELEMENT_NODE && node instanceof Element) {\r\n if (node.tagName === 'BR') {\r\n text += '\\n';\r\n } else if (node.tagName === 'P') {\r\n text += '\\n' + (await this.traverseChildren(node, images, depth, maxDepth)) + '\\n';\r\n } else if (node.tagName === 'LI') {\r\n text += '\\n- ' + node.textContent.trim();\r\n } else if (node.tagName === 'IMG') {\r\n const imgSrc = node.getAttribute('src');\r\n if (imgSrc) {\r\n const img = new Image();\r\n img.src = imgSrc;\r\n\r\n await new Promise((resolve) => (img.onload = resolve));\r\n\r\n let imgWidth = img.naturalWidth;\r\n let imgHeight = img.naturalHeight;\r\n\r\n const maxWidth = 500; // Adjust as needed\r\n const maxHeight = 500; // Adjust as needed\r\n\r\n if (imgWidth > maxWidth || imgHeight > maxHeight) {\r\n const widthRatio = maxWidth / imgWidth;\r\n const heightRatio = maxHeight / imgHeight;\r\n const scale = Math.min(widthRatio, heightRatio);\r\n\r\n imgWidth *= scale;\r\n imgHeight *= scale;\r\n }\r\n\r\n images.push({ src: imgSrc, x: 0, y: 0, width: imgWidth, height: imgHeight });\r\n text += `\\n[IMAGE]\\n`; // Placeholder for the image\r\n }\r\n } else if (node.tagName === 'BLUE') {\r\n text += `${node.textContent}`;\r\n } else {\r\n text += await this.traverseChildren(node, images, depth, maxDepth);\r\n }\r\n }\r\n return text;\r\n }\r\n\r\n async traverseChildren(node: Node, images: { src: string; x: number; y: number; width: number; height: number }[], depth: number, maxDepth: number): Promise {\r\n let text = '';\r\n\r\n for (const child of Array.from(node.childNodes)) {\r\n const childText = await this.traverseDOMWithImages(child, images, depth + 1, maxDepth);\r\n text += childText;\r\n }\r\n\r\n return text;\r\n }\r\n\r\n\r\n async generatePDF(\r\n text: string,\r\n images: { src: string; x: number; y: number; width?: number; height?: number }[],\r\n fileName: string = 'Document.pdf'\r\n ) {\r\n const doc = new jsPDF();\r\n const margin = 10;\r\n const lineSpacing = 7;\r\n const pageWidth = doc.internal.pageSize.width - margin * 2;\r\n const pageHeight = doc.internal.pageSize.height - margin * 2;\r\n\r\n let y = margin;\r\n let x = margin;\r\n\r\n const lines = text.split('\\n');\r\n\r\n for (const line of lines) {\r\n if (line.startsWith(\"\") && line.endsWith(\"\")) {\r\n doc.setTextColor(55, 138, 192); // Blue text color\r\n const cleanLine = line.replace(\"\", \"\").replace(\"\", \"\");\r\n doc.text(cleanLine, x, y);\r\n } else if (line === \"[IMAGE]\") {\r\n // Handle image placement\r\n if (images.length > 0) {\r\n const image = images.shift();\r\n if (image) {\r\n const imgData = await this.convertImageToBase64(image.src);\r\n\r\n // Get original image dimensions\r\n const originalImg = new Image();\r\n originalImg.src = image.src;\r\n await new Promise((resolve) => (originalImg.onload = resolve));\r\n\r\n let imgWidth = originalImg.width;\r\n let imgHeight = originalImg.height;\r\n\r\n // Only resize if the image is larger than the PDF page\r\n if (imgWidth > pageWidth || imgHeight > pageHeight) {\r\n const widthRatio = pageWidth / imgWidth;\r\n const heightRatio = pageHeight / imgHeight;\r\n const scale = Math.min(widthRatio, heightRatio);\r\n\r\n imgWidth *= scale;\r\n imgHeight *= scale;\r\n }\r\n\r\n // Add image to the PDF without enlarging small images\r\n if (y + imgHeight > doc.internal.pageSize.height - margin) {\r\n // Add a new page if the image doesn't fit\r\n doc.addPage();\r\n y = margin;\r\n }\r\n\r\n doc.addImage(imgData, 'PNG', x, y, imgWidth, imgHeight);\r\n y += imgHeight + lineSpacing; // Adjust Y position after the image\r\n }\r\n }\r\n } else {\r\n doc.setTextColor(0, 0, 0); // Default black text color\r\n doc.text(line, x, y);\r\n }\r\n\r\n y += lineSpacing;\r\n\r\n if (y > doc.internal.pageSize.height - margin) {\r\n doc.addPage();\r\n y = margin;\r\n }\r\n }\r\n\r\n doc.save(fileName);\r\n }\r\n\r\n\r\n // traverseDOMWithImages(\r\n // node: Node,\r\n // images: { src: string; x: number; y: number; width: number; height: number }[],\r\n // depth = 0,\r\n // maxDepth = 100\r\n // ): string {\r\n // if (depth > maxDepth) {\r\n // console.warn('Maximum depth reached. Stopping traversal to prevent infinite recursion.');\r\n // return '';\r\n // }\r\n\r\n // let text = '';\r\n\r\n // if (node.nodeType === Node.TEXT_NODE) {\r\n // text += node.textContent;\r\n // } else if (node.nodeType === Node.ELEMENT_NODE && node instanceof Element) {\r\n // if (node.tagName === 'BR') {\r\n // text += '\\n';\r\n // } else if (node.tagName === 'P') {\r\n // // Add a line break before and after the content of

    \r\n // text += '\\n' + this.traverseChildren(node, images, depth, maxDepth) + '\\n';\r\n // } else if (node.tagName === 'LI') {\r\n // text += '\\n- ' + node.textContent.trim();\r\n // } else if (node.tagName === 'IMG') {\r\n // const imgSrc = node.getAttribute('src');\r\n // const width = 175; // Default width (adjust as needed)\r\n // const height = 100; // Default height (adjust as needed)\r\n // if (imgSrc) {\r\n // images.push({ src: imgSrc, x: 0, y: 0, width, height });\r\n // text += `\\n[IMAGE]\\n`; // Placeholder for the image\r\n // }\r\n // } else if (node.tagName === 'BLUE') {\r\n // text += `${node.textContent}`;\r\n // } else {\r\n // text += this.traverseChildren(node, images, depth, maxDepth);\r\n // }\r\n // }\r\n\r\n // return text;\r\n // }\r\n\r\n async convertImageToBase64(url: string): Promise {\r\n const response = await fetch(url);\r\n const blob = await response.blob();\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n copySubscriberEmail(val: string) {\r\n navigator.clipboard.writeText(val);\r\n }\r\n\r\n getNetworkMemberId() {\r\n return this.networkMemberId;\r\n }\r\n\r\n async addSubscriber(event: { id: string; }) {\r\n var sub = await this.commentService.addSubscriber(this.taskId, event.id, this.processId);\r\n this.taskSubscribers = sub;\r\n }\r\n\r\n async deleteSubscriber(taskSubscribers: TaskSubscribersDto) {\r\n try{\r\n var subs = await this.commentService.deleteSubscriber(this.taskId, taskSubscribers.id);\r\n this.taskSubscribers = subs;\r\n }catch(e){\r\n this.popupNotificationsService.showMessage(\"There must be at least one subscriber per list\",MessageType.Error)\r\n }\r\n }\r\n \r\n isCommentDeletable(comment: Comment) {\r\n var limitDate = comment.messageSent.getDate() + 1;\r\n var deleteComment = true;\r\n\r\n if (comment.userId == this.userId) {\r\n deleteComment = false;\r\n if (comment.attachments?.length > 0 && limitDate < this.dateTime.getDate()) {\r\n deleteComment = true;\r\n }\r\n }\r\n return deleteComment;\r\n }\r\n\r\n async loadTagByName(tagName: string) {\r\n if (tagName == '') {\r\n this.filteredComments = this.comments;\r\n } else {\r\n this.filteredComments = this.comments.filter(comment => comment.tags.some((e) => e.tagName.toLowerCase().startsWith(tagName.toLowerCase())))\r\n this.searchResult = [];\r\n this.selectedTag = tagName;\r\n }\r\n }\r\n\r\n async clearSearch() {\r\n this.searchResult = [];\r\n this.filteredComments = this.comments;\r\n this.searchTagField.nativeElement.value = \"\";\r\n }\r\n\r\n updateCommentList(comments: CommentDto[]) {\r\n this.filteredComments = comments;\r\n }\r\n\r\n updateSelectedTag(tag: string) {\r\n this.tagSelected.next(tag);\r\n }\r\n\r\n setQuillFocusEvent() {\r\n this.quillEditorSetFocus.next();\r\n }\r\n\r\n onNgDestroy() {\r\n this.replyTagsSubscription.unsubscribe();\r\n this.commentSubscribersSubscription.unsubscribe();\r\n }\r\n}\r\n","

    \r\n \r\n
    \r\n

    Discussion

    \r\n \r\n
    0\" class=\"mb-2 d-flex flex-column\">\r\n
    \r\n \r\n
    \r\n {{ taskUserSusbscription.preferredEmail }}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    0\">\r\n
    \r\n \r\n
    \r\n {{ taskUserSusbscription.preferredEmail }}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    No subscribers for this task

    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n Last export: {{ discussion.lastExported | date}}\r\n \r\n
    \r\n\r\n\r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    ","import { Location } from \"@angular/common\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { CommonService } from \"src/app/services/common/common.service\";\r\nimport { FileUploadTaskService } from \"src/app/services/file-upload-task/file-upload-task.service\";\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { Attachment, AttachmentDTO, CommentDto, FileUploadTaskDto } from \"src/app/web-api-client\";\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { CommentService } from \"src/app/services/comment.service\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-file-upload-task-detail\",\r\n templateUrl: \"./file-upload-task-detail.component.html\",\r\n styleUrls: [\"./file-upload-task-detail.component.scss\"],\r\n})\r\nexport class FileUploadTaskDetailComponent implements OnInit {\r\n\r\n dateTime = new Date()\r\n taskId: string;\r\n task: FileUploadTaskDto;\r\n commentAttachments: AttachmentDTO[] = [];\r\n gfg = false;\r\n uploadedFiles: File[] = [];\r\n statusText = \"\";\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n faTrash = faTrash;\r\n isNetworkMember: boolean;\r\n savingLoader = false;\r\n loadingTask: boolean = false;\r\n displayTaskAction: boolean = false;\r\n comments: CommentDto[] = [];\r\n\r\n deletedCommentEventSubscription: Subscription;\r\n commentAttachmentAddedEventSubscription: Subscription;\r\n\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public fileUploadTaskService: FileUploadTaskService,\r\n private sanitizer: DomSanitizer,\r\n public location: Location,\r\n private userService: UserService,\r\n public commonService: CommonService,\r\n private commentService: CommentService\r\n ) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get('id');\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n\r\n this.task = this.fileUploadTaskService.activeFileUploadTask;\r\n this.comments = this.commentService.discussion?.comments?.filter(x => x.isDeleted == false);\r\n this.commentAttachments = this.getCommentAttachments(this.comments);\r\n\r\n this.statusText = this.commonService.getTaskStatusByNumber(this.task.status.value);\r\n this.displayTaskAction = await this.commonService.displayTaskAction(this.task);\r\n\r\n this.deletedCommentEventSubscription = this.commentService.deleteCommentEvent.subscribe((commentId) => { this.filterOutDeletedAttachments(commentId) });\r\n this.commentAttachmentAddedEventSubscription = this.commentService.addCommentAttachmentEvent.subscribe((attachment) => { this.updateAttachmentsList(attachment) });\r\n\r\n this.loadingTask = false;\r\n }\r\n\r\n // when the file is uploaded\r\n fileUploaded(response: {\r\n isUploaded: boolean;\r\n message: string;\r\n files?: File[];\r\n }) {\r\n // if files where uploaded\r\n if (response.isUploaded) {\r\n // loop through the files\r\n for (let i = 0; i < response.files.length; i++) {\r\n // add the file to the list\r\n this.uploadedFiles.push(response.files[i]);\r\n }\r\n }\r\n }\r\n\r\n // method to remove a file\r\n removeFile(index: number) {\r\n // remove the file\r\n this.uploadedFiles.splice(index, 1);\r\n }\r\n\r\n // method to save the changes\r\n async save() {\r\n // saving started\r\n this.savingLoader = true;\r\n // loop through the files\r\n for (let i = 0; i < this.uploadedFiles.length; i++) {\r\n const filePath = await this.fileUploadTaskService.uploadFileToTask(\r\n this.task,\r\n this.uploadedFiles[i],\r\n i === this.uploadedFiles.length - 1 ? true : false\r\n );\r\n const attachment = new Attachment();\r\n attachment.name = this.uploadedFiles[i].name;\r\n attachment.path = filePath;\r\n this.task.attachments.push(attachment);\r\n }\r\n // empty the selection\r\n this.uploadedFiles = [];\r\n this.ngOnInit();\r\n\r\n // saving finished\r\n this.savingLoader = false;\r\n }\r\n\r\n // sanitize the url to download the files\r\n sanitize(url: string) {\r\n // return safe url\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n getCommentAttachments(comments: CommentDto[]) {\r\n var attachments = comments.map(x => x.attachments).flat();\r\n var sortedAttachemnts = attachments?.sort((a, b) => a.fileDate > b.fileDate ? -1 : 1);\r\n return sortedAttachemnts;\r\n }\r\n\r\n filterOutDeletedAttachments(commentId: string) {\r\n var filteredComments = this.comments.filter(x => x.id != commentId);\r\n var attachments = this.getCommentAttachments(filteredComments);\r\n this.commentAttachments = attachments;\r\n }\r\n\r\n updateAttachmentsList(attachment: AttachmentDTO[]) {\r\n this.commentAttachments.push(...attachment);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.deletedCommentEventSubscription.unsubscribe();\r\n this.commentAttachmentAddedEventSubscription.unsubscribe();\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n \r\n \r\n

    task?.displayDate.getDate() + 3) && (dateTime.getDate() < task?.displayDate.getDate() + 10) ? 'midOverdue' : 'overdue' }}\">\r\n {{ task?.title }}

    \r\n \r\n

    {{commonService.getLastModifiedDate([task])}}

    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {{\r\n task?.networkMember?.accountName }}(Click for more\r\n details...)\r\n Network Member\r\n unknown\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n

    {{ task?.title }}

    \r\n {{ task?.subTitle }}\r\n
    \r\n\r\n
    \r\n \r\n {{ task?.content }}\r\n
    \r\n\r\n
    \r\n

    Network member

    \r\n {{ task?.networkMember?.accountName}}\r\n Network Member unknown\r\n
    \r\n\r\n
    \r\n

    Country

    \r\n {{ task.country }}\r\n
    \r\n\r\n
    \r\n
    \r\n

    Status

    \r\n {{statusText}}\r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { FileUploadTaskService } from 'src/app/services/file-upload-task/file-upload-task.service';\r\nimport { FileUploadTaskDto, SortOrder, SortingElement, TasksStatus } from 'src/app/web-api-client';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { OutstandingInput } from 'src/app/models/outstandingInput';\r\nimport { FilterParameter } from 'src/app/models/FilterPrameter';\r\nimport { ApprovalQuestion } from 'src/app/models/approvalQuestion';\r\n\r\nimport { faSort} from '@fortawesome/free-solid-svg-icons';\r\n@Component({\r\n selector: 'app-file-upload-task-list',\r\n templateUrl: './file-upload-task-list.component.html',\r\n styleUrls: ['./file-upload-task-list.component.scss']\r\n})\r\nexport class FileUploadTaskListComponent implements OnInit {\r\n\r\n // loading indicator\r\n loadingUploadTask: boolean = false;\r\n\r\n // take the process as input\r\n @Input() process: string;\r\n\r\n // take the title as input\r\n @Input() title: string;\r\n\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 30;\r\n @Input() onOverview: boolean = false;\r\n // input for back button\r\n @Input() backBtn: boolean = true;\r\n @Input() displayFilter: boolean = false;\r\n\r\n @Input() networkMemberId: string = \"\";\r\n @Input() noResultText: string = \"There are no tasks to display\";\r\n @Input() statusFilter: number = null;\r\n @Input() tableView: boolean;\r\n @Input() headers: { head: string, property: string }[];\r\n // hold the upload file tasks\r\n @Input() isOnClientView: boolean = false;\r\n @Input() sortingElements: SortingElement[] = [];\r\n\r\n dateTime: Date = new Date(Date.now());\r\n items: FileUploadTaskDto[] = [];\r\n isNetworkMember: boolean;\r\n hideShowMoreBtn: boolean = false;\r\n clientIdParam: string;\r\n params: ParamMap;\r\n lastRefreshDate: string = \"\"\r\n outstandingInputs: OutstandingInput[] = [];\r\n nmId: string = \"\"\r\n faSort = faSort\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n private fileUploadTaskService: FileUploadTaskService,\r\n public location: Location,\r\n private userService: UserService,\r\n public commonService: CommonService,\r\n public datePipe: DatePipe) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.lastRefreshDate = await this.commonService.getHangfireJobStartDateExecution(this.process);\r\n // reset the active task\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n this.clientIdParam = this.params?.get('clientId');\r\n\r\n\r\n await this.checkUserRoles();\r\n\r\n if (this.isNetworkMember) {\r\n this.nmId = (await this.userService.getCurrentUser()).networkMemberId\r\n }\r\n }\r\n\r\n async checkUserRoles() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember)\r\n this.activatedroute.queryParamMap.subscribe(async (params) => await this.loadtasks(params));\r\n }\r\n\r\n async loadMore() {\r\n if (!this.loadingUploadTask) {\r\n this.page++\r\n await this.loadtasks(null, true);\r\n }\r\n }\r\n\r\n async loadtasks(params?: any, loadMore?: boolean) {\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n if (!loadMore) {\r\n this.items = [];\r\n this.page = 1\r\n }\r\n\r\n // loading started\r\n this.loadingUploadTask = true;\r\n let newItems: FileUploadTaskDto[] = [];\r\n\r\n if (this.process) {\r\n var nmId : string = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientId = (params?.get(\"clientId\") ?? localStorage.getItem('clientId'));\r\n var clientName = (params?.get(\"clientName\") ?? localStorage.getItem('clientName'));\r\n var subscriberId = params?.get('subscriberId');\r\n\r\n var storageStatus = localStorage.getItem('status');\r\n var status: TasksStatus = storageStatus == \"null\" ? null : parseInt(storageStatus);\r\n\r\n var storageDueDate = localStorage.getItem('dueDate');\r\n var filterParameter: FilterParameter = {} as FilterParameter;\r\n filterParameter.NetworkMemberIds = nmId == null ? null : [nmId];\r\n filterParameter.ClientId = clientId;\r\n filterParameter.ClientName = clientName;\r\n filterParameter.SubscriberId = subscriberId;\r\n filterParameter.Status = status;\r\n filterParameter.ProcessId = this.process;\r\n filterParameter.OverdueDate = parseInt(storageDueDate)\r\n filterParameter.NetworkMemberId = nmId\r\n\r\n //Sort by status\r\n var sortBystatus = new SortingElement();\r\n sortBystatus.columnName = this.getPropertyName((obj: FileUploadTaskDto) => obj.status);\r\n sortBystatus.sortOrder = SortOrder.Ascending;\r\n this.sortingElements.push(sortBystatus);\r\n\r\n if (this.process == \"annual-report\") {\r\n //Sort by created Date\r\n var sortBycreatedDate = new SortingElement();\r\n sortBycreatedDate.columnName = \"MetaData.ApprovalQuestions.SendNMDate\"\r\n sortBycreatedDate.sortOrder = SortOrder.Descending\r\n this.sortingElements.push(sortBycreatedDate);\r\n }\r\n else {\r\n //Sort by Client name\r\n var sortByClient = new SortingElement();\r\n sortByClient.columnName = this.getPropertyName((obj: FileUploadTaskDto) => obj.clientId);\r\n sortByClient.sortOrder = SortOrder.Ascending\r\n this.sortingElements.push(sortByClient);\r\n }\r\n\r\n if (this.isNetworkMember) {\r\n newItems = await this.fileUploadTaskService.getMyOrganization(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n } else {\r\n\r\n if (nmId == null) {\r\n filterParameter.NetworkMemberIds = [];\r\n }\r\n\r\n newItems = await this.fileUploadTaskService.getTasks(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n }\r\n\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n var concat = this.items.concat(newItems);\r\n this.items = concat;\r\n }\r\n this.sortingElements = []\r\n // loading finished\r\n this.loadingUploadTask = false;\r\n }\r\n\r\n getSendNmDate(metadata: string) {\r\n const parsed = JSON.parse(metadata);\r\n\r\n var approvalQuestions: ApprovalQuestion[] = parsed.ApprovalQuestions;\r\n return this.datePipe.transform(approvalQuestions[0].SendNMDate)\r\n }\r\n\r\n getSendClientDate(metaData: string) {\r\n const parsed = JSON.parse(metaData);\r\n var approvalQuestions: ApprovalQuestion[] = parsed.ApprovalQuestions;\r\n return this.datePipe.transform(approvalQuestions[0].SendClientDate)\r\n }\r\n\r\n getPropertyName(propertyAccessor: (obj: T) => any): string {\r\n const match = propertyAccessor.toString().match(/\\.([a-zA-Z0-9_]+)/);\r\n return match ? match[1] : '';\r\n }\r\n}\r\n","
    \r\n \r\n

    {{ title }}

    \r\n \r\n

    {{lastRefreshDate}}

    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n item?.displayDate.getDate() + 3) && (dateTime.getDate() < item?.displayDate.getDate() + 10) ? 'midOverdue' : 'overdue' }}\">\r\n {{ item?.title }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{head.head}}\r\n
    \r\n Network Member unknown\r\n {{item?.networkMember?.accountName}}\r\n {{ item?.subTitle }}\r\n {{item?.country}}{{\r\n commonService.getTaskStatusByNumber(item?.status.value) }}{{getSendNmDate(item?.metaData)}}{{getSendClientDate(item?.metaData)}}
    \r\n
    \r\n
    \r\n\r\n\r\n
    There are no outstanding tasks.
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { InformativeService } from '../../../../services/informative.service';\r\nimport { Location } from '@angular/common';\r\nimport { AttachmentDTO, CommentDto, CommentType, FileParameter, GeneralTaskDto, NotificationFrequency, NotificationType } from 'src/app/web-api-client';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { ProcessIds } from 'src/app/models/enums/processIds';\r\nimport { Subscription } from 'rxjs';\r\nimport { forEach } from 'underscore';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\n\r\n@Component({\r\n selector: 'app-informative-detail',\r\n templateUrl: './informative-detail.component.html',\r\n styleUrls: ['./informative-detail.component.scss']\r\n})\r\nexport class InformativeDetailComponent implements OnInit {\r\n dateTime = new Date()\r\n @Input() displaySubTitle: boolean = true;\r\n commentAttachments: AttachmentDTO[] = [];\r\n informative: GeneralTaskDto = new GeneralTaskDto();\r\n taskId: string;\r\n process:string;\r\n statusText: string = \"\";\r\n isNetworkMember: boolean;\r\n loadingTask: boolean = false;\r\n gfg = false;\r\n comments: CommentDto[] = [];\r\n isCollaborator: boolean;\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n\r\n deletedCommentEventSubscription: Subscription;\r\n commentAttachmentAddedEventSubscription: Subscription;\r\n\r\n constructor(public informativeService: InformativeService, private activatedroute: ActivatedRoute,\r\n public location: Location, private userService: UserService, private titleService: Title, public commonService: CommonService, private commentService: CommentService,private documentService:DocumentService) {\r\n }\r\n\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember)\r\n this.process = this.informative.processId;\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator)\r\n this.informative = this.informativeService.activeTask;\r\n this.statusText = this.commonService.getTaskStatusByNumber(this.informative.status.value);\r\n\r\n this.comments = this.commentService.discussion?.comments?.filter(x => x.isDeleted == false);\r\n this.commentAttachments = this.getCommentAttachments(this.comments);\r\n\r\n this.titleService.setTitle(this.informative.title + \" | Insurope\");\r\n var newDueDate = this.informative.overdueDate;\r\n this.informative.displayDate = newDueDate;\r\n\r\n this.deletedCommentEventSubscription = this.commentService.deleteCommentEvent.subscribe((commentId) => { this.filterOutDeletedAttachments(commentId) });\r\n this.commentAttachmentAddedEventSubscription = this.commentService.addCommentAttachmentEvent.subscribe((attachment) => { this.updateAttachmentsList(attachment) });\r\n\r\n this.loadingTask = false;\r\n }\r\n\r\n getCommentAttachments(comments: CommentDto[]) {\r\n var attachments: AttachmentDTO[] = [];\r\n forEach(comments, (comment) => {\r\n var commentAtt: AttachmentDTO[] = comment.attachments;\r\n commentAtt.map(att => att.commentId = comment.id);\r\n attachments.push(...commentAtt);\r\n });\r\n\r\n var sortedAttachemnts = attachments?.sort((a, b) => a.fileDate > b.fileDate ? -1 : 1);\r\n return sortedAttachemnts;\r\n }\r\n\r\n async doneByNm(){\r\n if ((this.informative.doneByNm == false || this.informative.doneByNm == null) && this.isNetworkMember) { \r\n if (await this.informativeService.ChangeDoneByNm(this.taskId,true)) {\r\n this.informative.doneByNm = true;\r\n let fileList: FileParameter[] = [];\r\n \r\n for (let i = 0; i < this.informative.adminDbAttachments.length; i++) {\r\n var file = await this.documentService.getAdminDbDocument(this.informative.adminDbAttachments[i], [this.informative.networkMemberId]);\r\n fileList.push({ data: new Blob([file.data]), fileName: file.fileName })\r\n }\r\n \r\n var commentDto: AddCommentDto = {\r\n taskId: this.taskId,\r\n content: \"

    The task has been done by NM

    \",\r\n processName: this.process,\r\n clientName: this.informative.title,\r\n networkMemberName: this.informative.networkMember.accountName,\r\n country: null,\r\n files: fileList,\r\n tags: null,\r\n isDeleted: false,\r\n isEdited: false,\r\n isHtmlText: true,\r\n commentType: CommentType.Comment,\r\n notificationFrequency: NotificationFrequency.Instantly,\r\n notificationType: NotificationType.EmailNotification\r\n }\r\n \r\n await this.commentService.addComment(commentDto);\r\n }\r\n }\r\n else if (this.informative.doneByNm == true && this.isCollaborator) {\r\n this.informative.doneByNm = false;\r\n await this.informativeService.ChangeDoneByNm(this.taskId,false);\r\n }\r\n }\r\n getButtonName() {\r\n if (this.informative.doneByNm) {\r\n if (this.isNetworkMember) {\r\n return \"This has been done\";\r\n }\r\n else {\r\n return \"Click to disapprove\";\r\n }\r\n }\r\n return \"This has been done\";\r\n }\r\n\r\n getPayToStatus() {\r\n if (this.informative?.payTo == 2) {\r\n if (this.informative?.payStartedDate) {\r\n const formattedDate = new Date(this.informative.payStartedDate).toLocaleDateString();\r\n return { text: \"Confirmation received for local payment on: \" + formattedDate + \". Ok to continue with the payment.\", class: 'text-success' };\r\n } else {\r\n if (this.informative?.processId != ProcessIds.multipoolPayments) { return { text: \"! Don't pay till you have received confirmation !\", class: 'text-danger' }; }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n filterOutDeletedAttachments(commentId: string) {\r\n var filteredComments = this.comments.filter(x => x.id != commentId);\r\n var attachments = this.getCommentAttachments(filteredComments);\r\n this.commentAttachments = attachments;\r\n }\r\n\r\n updateAttachmentsList(attachment: AttachmentDTO[]) {\r\n this.commentAttachments.push(...attachment);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.deletedCommentEventSubscription.unsubscribe();\r\n this.commentAttachmentAddedEventSubscription.unsubscribe();\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n \r\n \r\n

    = informative?.displayDate?.getDate() + 13) && \r\n (dateTime.getDate() <= informative?.displayDate?.getDate() + 30) ? 'midOverdue' : 'overdue' }}\">{{ informative?.title }}

    \r\n \r\n

    {{commonService.getLastModifiedDate([informative])}}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {{ informative?.networkMember?.accountName}}(Click for more details...)\r\n Network Member unknown\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{ informative?.subTitle }}

    \r\n
    \r\n\r\n
    \r\n

    no content

    \r\n

    {{ informative?.content }}

    \r\n
    \r\n\r\n
    \r\n

    Network Member

    \r\n {{informative?.networkMember?.accountName}}\r\n
    \r\n\r\n
    \r\n {{ getPayToStatus()?.text }}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Due Date

    \r\n {{ informative?.displayDate | date }}\r\n
    \r\n
    \r\n

    Payment To

    \r\n {{ this.commonService.getPayToText(informative?.payTo) }}\r\n
    \r\n
    \r\n\r\n
    \r\n

    Status

    \r\n {{statusText}}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    ","import { Input } from '@angular/core';\r\nimport { TemplateRef } from '@angular/core';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { GeneralTaskDto } from 'src/app/web-api-client';\r\n\r\n\r\n@Component({\r\n selector: 'app-informative-item',\r\n templateUrl: './informative-item.component.html',\r\n styleUrls: ['./informative-item.component.scss']\r\n})\r\nexport class InformativeItemComponent implements OnInit {\r\n\r\n @Input() item: GeneralTaskDto;\r\n @Input() displayNetworkMember:boolean=false;\r\n @Input() status:string;\r\n @Input() displaySubTitle: boolean = true;\r\n dateTime = new Date()\r\n // constuctor\r\n constructor() { }\r\n\r\n // oninit method\r\n ngOnInit() { }\r\n\r\n}\r\n","\r\n\r\n
    \r\n

    = item?.displayDate.getDate() + 13) && (dateTime.getDate() <= item?.displayDate.getDate() + 30) ? 'midOverdue' : 'overdue' }}\">{{item?.title}}

    \r\n

    {{item?.subTitle}}

    \r\n

    {{item?.networkMember?.accountName}}

    \r\n
    \r\n
    \r\n

    Due: {{item?.displayDate | date}}

    \r\n

    {{status}}

    \r\n
    \r\n
    \r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, ParamMap } from \"@angular/router\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { GeneralTaskDto, PayToEnum, SortOrder, SortingElement, TasksStatus } from \"src/app/web-api-client\";\r\nimport { InformativeService } from \"../../../../services/informative.service\";\r\nimport { Location } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/services/common/common.service\";\r\nimport { FilterParameter } from \"src/app/models/FilterPrameter\";\r\nimport { parseDate } from \"ngx-bootstrap/chronos\";\r\nimport { faSort } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n@Component({\r\n selector: \"app-informative-list\",\r\n templateUrl: \"./informative-list.component.html\",\r\n styleUrls: [\"./informative-list.component.scss\"],\r\n})\r\nexport class InformativeListComponent implements OnInit {\r\n\r\n // loading indicator\r\n loadingInformativeTask: boolean = false;\r\n\r\n @Input() process: string;\r\n @Input() title: string;\r\n @Input() onOverview: boolean = false;\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 30;\r\n items: GeneralTaskDto[] = [];\r\n @Input() displayFilter: boolean = false;\r\n\r\n @Input() statusFilter: number = null;\r\n @Input() displaySubTitle: boolean = true;\r\n isNetworkMember: boolean;\r\n hideShowMoreBtn: boolean = false;\r\n @Input() tableView: boolean = false;\r\n @Input() headers: { head: string, property: string }[];\r\n clientIdParam: string;\r\n @Input() searchDateLimit: Date;\r\n @Input() isOnClientView: boolean = false;\r\n @Input() networkMemberId: string = \"\";\r\n @Input() sortingElements: SortingElement[] = [];\r\n\r\n currentDate: Date = new Date(Date.now());\r\n dateTime: Date = new Date(Date.now());\r\n params: ParamMap;\r\n lastRefreshDate: string = \"\";\r\n isMuView: boolean = false;\r\n processId: string;\r\n faSort = faSort\r\n\r\n constructor(\r\n private informativeService: InformativeService,\r\n private activatedroute: ActivatedRoute,\r\n public location: Location,\r\n private userService: UserService,\r\n public commonService: CommonService\r\n ) {\r\n var defaultDate = new Date(Date.now());\r\n this.searchDateLimit = new Date(defaultDate.setFullYear(defaultDate.getFullYear() - 3));\r\n var isMuView = JSON.parse(localStorage.getItem(\"isPaymentMultipoolView\"));\r\n\r\n if (isMuView == null) {\r\n isMuView = false;\r\n }\r\n\r\n this.updateProcess(isMuView);\r\n this.processId = this.process;\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.process == \"payments\" || this.process == \"payments-mu\") {\r\n if (this.processId && this.processId != this.process) {\r\n this.process = this.processId;\r\n }\r\n }\r\n\r\n await this.checkUserRoles();\r\n this.lastRefreshDate = await this.commonService.getHangfireJobStartDateExecution(this.process);\r\n }\r\n\r\n async checkUserRoles() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n if (this.isNetworkMember && this.headers) {\r\n this.headers = this.headers?.filter(x => x.head != \"Network Member\");\r\n }\r\n this.activatedroute.queryParamMap.subscribe(async (params) => await this.loadInformatives(params));\r\n }\r\n\r\n async loadMore() {\r\n if (!this.loadingInformativeTask) {\r\n this.page++\r\n await this.loadInformatives(null, true);\r\n }\r\n }\r\n\r\n async loadInformatives(params?: any, loadMore?: boolean) {\r\n\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n if (!loadMore) {\r\n this.items = [];\r\n this.page = 1\r\n }\r\n\r\n let newItems;\r\n\r\n // loading started\r\n this.loadingInformativeTask = true;\r\n\r\n if (this.process) {\r\n var nmId = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientId = (params?.get(\"clientId\") ?? localStorage.getItem('clientId'));\r\n var clientName = (params?.get(\"clientName\"))\r\n var subscriberId = params?.get('subscriberId');\r\n\r\n var storageStatus = localStorage.getItem('status');\r\n\r\n var status: TasksStatus = storageStatus == \"null\" ? null : parseInt(storageStatus);\r\n\r\n var storageDueDate = localStorage.getItem('dueDate');\r\n var DueDate: Date = storageDueDate == null ? null : parseDate(storageDueDate + \"-01-01\");\r\n\r\n var storagePayTo = localStorage.getItem('payTo');\r\n var payTo: PayToEnum = storagePayTo == null ? null : parseInt(storagePayTo);\r\n\r\n\r\n var filterParameter: FilterParameter = {} as FilterParameter;\r\n filterParameter.NetworkMemberIds = nmId == null ? null : [nmId];\r\n filterParameter.ClientId = clientId;\r\n filterParameter.ClientName = clientName;\r\n filterParameter.SubscriberId = subscriberId;\r\n filterParameter.ProcessId = this.process;\r\n filterParameter.Status = status;\r\n filterParameter.PayTo = payTo;\r\n filterParameter.OverdueDate = parseInt(storageDueDate)\r\n filterParameter.NetworkMemberId = nmId\r\n //Sort by status\r\n var sortBystatus = new SortingElement();\r\n sortBystatus.columnName = this.getPropertyName((obj: GeneralTaskDto) => obj.status);\r\n sortBystatus.sortOrder = SortOrder.Ascending\r\n this.sortingElements.push(sortBystatus);\r\n\r\n //Sort by DueDate\r\n var sortByDueDate = new SortingElement();\r\n sortByDueDate.columnName = this.getPropertyName((obj: GeneralTaskDto) => obj.overdueDate);\r\n sortByDueDate.sortOrder = SortOrder.Descending\r\n this.sortingElements.push(sortByDueDate);\r\n\r\n if (this.isNetworkMember) {\r\n newItems = await this.informativeService.getMyOrganization(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n } else {\r\n if (nmId == null) {\r\n filterParameter.NetworkMemberIds = [];\r\n }\r\n\r\n newItems = await this.informativeService.getTasks(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n }\r\n\r\n newItems.forEach((item: { displayDate: Date; }) => {\r\n var newDueDate = new Date(item.displayDate?.getFullYear(), item.displayDate?.getMonth(), item.displayDate?.getDate() + 30);\r\n item.displayDate = newDueDate;\r\n });\r\n\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n\r\n var concat = this.items.concat(newItems);\r\n this.items = concat;\r\n }\r\n this.sortingElements = []\r\n // loading finished\r\n this.loadingInformativeTask = false;\r\n }\r\n\r\n changeIsMuView(muView: boolean) {\r\n this.updateProcess(muView);\r\n this.updateTitle(muView);\r\n\r\n this.processId = this.process;\r\n this.items = [];\r\n\r\n this.ngOnInit()\r\n }\r\n\r\n updateProcess(muView: boolean) {\r\n this.isMuView = muView\r\n if (muView) {\r\n this.process = \"payments-mu\"\r\n } else {\r\n this.process = \"payments\"\r\n }\r\n\r\n localStorage.setItem(\"isPaymentMultipoolView\", JSON.stringify(muView));\r\n }\r\n\r\n updateTitle(muView: boolean) {\r\n if (muView) {\r\n this.title = \"Multipool Payments\"\r\n } else {\r\n this.title = \"Payments\"\r\n }\r\n }\r\n \r\n getPropertyName(propertyAccessor: (obj: T) => any): string {\r\n const match = propertyAccessor.toString().match(/\\.([a-zA-Z0-9_]+)/);\r\n return match ? match[1] : '';\r\n }\r\n}\r\n","
    \r\n \r\n

    {{ title }}

    \r\n \r\n

    {{lastRefreshDate}}

    \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n = item?.displayDate.getDate() + 13) && (dateTime.getDate() <= item?.displayDate.getDate() + 30) ? 'midOverdue' : 'overdue' }}\">\r\n {{ item?.title }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{head.head}}\r\n
    {{item?.networkMember?.accountName}}{{item?.subTitle }}{{item?.displayDate | date}}{{\r\n commonService.getTaskStatusByNumber(item?.status.value) }}{{ commonService.getPayToText(item?.payTo) }} {{item?.doneByNm ==true ? \"Done\" : \"\"}}
    \r\n
    \r\n
    \r\n\r\n
    There are no outstanding tasks.
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent {\r\n \r\n}\r\n","\r\n

    Collaboration platform

    \r\n\r\n\r\nAccount inputs\r\n
    \r\nPooling permissions\r\n\r\n\r\n

    I'm a h1, I'm only used in the header

    \r\n

    I'm a h2, I'm used as page title.

    \r\n

    I'm a h3, I'm used as a box or card title

    \r\n

    I'm a clickable h3

    \r\n

    I'm a h4, I'm used as a card subtitle

    \r\n\r\n
    \r\n\r\n\r\n

    \r\n .btn .btn-primary .btn-action is used when there is an action\r\n behind the CTA\r\n

    \r\n\r\n

    \r\n .btn .btn-secondary .btn-page is used when, by clicking on this\r\n CTA, you navigate to an other page\r\n

    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n <div class=\"card-table\">  <!-- displays the cards in a grid\r\n -->
    \r\n   <a href=\"#\" class=\"card\">
    \r\n     <div class=\"card-body\">
    \r\n       <h3>Card title</h3>
    \r\n       <h4>Card subtitle</h4>
    \r\n       <p>John Smith</p>
    \r\n     </div>
    \r\n     <div class=\"card-footer\">
    \r\n       <p>04 mar 2022</p>
    \r\n       <p class=\"status\r\n finalized\">Finalized</p>
    \r\n     </div>
    \r\n   </a>
    \r\n </div>
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n

    Welcome to your new single-page application, built with:

    \r\n\r\n

    To help you get started, we've also set up:

    \r\n\r\n
    \r\n\r\n\r\n

    Small sized input used as filter

    \r\n

    \r\n Add .small-form class to the\r\n div.form-group containing each label and/or input\r\n

    \r\n\r\n
    \r\n \r\n \r\n
    \r\n

    Regular sized input used everywhere else

    \r\n

    Add nothing!

    \r\n
    \r\n \r\n \r\n
    \r\n\r\n

    Textarea

    \r\n
    \r\n \r\n \r\n
    \r\n\r\n

    Select

    \r\n
    \r\n \r\n
    \r\n\r\n

    Checkboxes

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n

    Radios

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n

    Switch

    \r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { PopupNotificationsService } from '../services/popup-notifications/popup-notifications.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\n@Injectable()\r\nexport class ErrorCatchingInterceptor implements HttpInterceptor {\r\n\r\n // constructor\r\n constructor(private popupNotifications: PopupNotificationsService, private msalService: MsalService, private router: Router) { }\r\n\r\n // intercept http requests\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n return next.handle(request)\r\n .pipe(map(res => {\r\n return res\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n\r\n if (error.error instanceof ErrorEvent) {\r\n console.log('This is client side error');\r\n console.log(`Error: ${error.error.message}`);\r\n }\r\n else {\r\n console.log('This is server side error');\r\n console.log(`Error Code: ${error.status}, Message: ${error.message}`);\r\n }\r\n if (error.status == 403) {\r\n this.router.navigate([\"unauthorized\"]);\r\n }\r\n else if (error.status == 401) {\r\n setTimeout(() => { this.msalService.logoutRedirect(); }, 3000);\r\n }\r\n else {\r\n return throwError(error);\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { FileParameter } from \"../web-api-client\";\r\n\r\n export class EmbeddedEnvelope {\r\n SignerName: string;\r\n SignerEmail: string;\r\n SignerClientId: string;\r\n ReturnUrl: string;\r\n DocPdf: FileParameter;\r\n };","export enum CommentType {\r\n Comment,\r\n Reply,\r\n Edited,\r\n Automated,\r\n ApprovalLetter\r\n}","export enum NotificationFrequency {\r\n Daily = 1,\r\n Weekly,\r\n Instantly,\r\n Scheduled,\r\n Ignore\r\n}","export enum NotificationType {\r\n EmailNotification,\r\n WebNotification,\r\n SmsNotification\r\n}","export enum ProcessIds {\r\n poolingPermissions = \"pooling-permission\",\r\n illustrationInputs = \"illustration-input\",\r\n accountInputs = \"account-input\",\r\n approvals = \"approval\",\r\n payments = \"payments\",\r\n serviceFees = \"service-fees\",\r\n annualReport = \"annual-report\",\r\n illustrations = \"illustrations\",\r\n multipoolPayments = \"payments-mu\",\r\n multipoolApprovals = \"approval-mu\"\r\n}","export enum UserAction {\r\n Login = \"login\",\r\n Logout = \"Logout\",\r\n NavigateTo = \"NavigateTo\"\r\n}","export enum UserRoles{\r\n Collaborator = \"Collaborator\",\r\n NetworkMember = \"NetworkMember\",\r\n ContentEditor = \"ContentEditor\",\r\n Client = \"Client\"\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { EmbedParamsDTO, ReportingClient, UserDto } from 'src/app/web-api-client';\r\nimport { models, IReportEmbedConfiguration } from 'powerbi-client';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserService } from 'src/app/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.scss']\r\n})\r\n\r\nexport class ReportsComponent implements OnInit {\r\n report: EmbedParamsDTO = null;\r\n firstReportUrl = \"\";\r\n customClass = \"report-info\"\r\n reportType = \"report\";\r\n reportConfig: IReportEmbedConfiguration;\r\n connectedUser: UserDto;\r\n\r\n constructor(private client: ReportingClient, private activatedroute: ActivatedRoute, private router: Router, private userService: UserService) {\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n };\r\n\r\n }\r\n\r\n async ngOnInit() {\r\n var reportName = this.activatedroute.snapshot.paramMap.get('reportName');\r\n this.connectedUser = await this.userService.getCurrentUser();\r\n await this.loadReport(reportName);\r\n }\r\n\r\n async loadReport(reportName: string) {\r\n this.report = await this.client.getToken(reportName).toPromise();\r\n this.firstReportUrl = this.report.embedReport[0].embedUrl;\r\n\r\n this.reportConfig = {\r\n type: \"report\",\r\n id: this.report.embedReport[0].reportId,\r\n embedUrl: this.firstReportUrl,\r\n accessToken: this.report.embedToken.token,\r\n tokenType: models.TokenType.Embed,\r\n settings: {\r\n panes: {\r\n filters: {\r\n expanded: false,\r\n visible: false\r\n }\r\n },\r\n hyperlinkClickBehavior: models.HyperlinkClickBehavior.NavigateAndRaiseEvent,\r\n background: models.BackgroundType.Transparent,\r\n customLayout: {\r\n displayOption: models.DisplayOption.FitToWidth\r\n }\r\n },\r\n };\r\n }\r\n}\r\n","\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { OutstandingInput, } from \"src/app/models/outstandingInput\";\r\nimport { FileUploadTaskService } from \"src/app/services/file-upload-task/file-upload-task.service\";\r\nimport { FileUploadTaskDto, TasksStatus } from \"src/app/web-api-client\";\r\nimport * as XLSX from 'xlsx';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { CommentService } from \"src/app/services/comment.service\";\r\nimport { TagReplyParameter } from \"src/app/models/TagReplyParameter\";\r\n\r\n@Component({\r\n selector: \"app-account-input-detail-page\",\r\n templateUrl: \"./account-input-detail-page.component.html\",\r\n styleUrls: [\"./account-input-detail-page.component.scss\"],\r\n})\r\n\r\nexport class AccountInputDetailPageComponent implements OnInit {\r\n // hold the taskId\r\n taskId: string;\r\n clientId: string;\r\n clientName: string;\r\n country: string;\r\n // hold the list of outstanding inputs\r\n outstandingInputs: OutstandingInput[] = [];\r\n outstandingInputsForExcel: OutstandingInput[] = [];\r\n outstandingInputsToDisplay: OutstandingInput[] = [];\r\n\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 20;\r\n @Input() onOverview: boolean = false;\r\n clientTag: string;\r\n hideShowMoreBtn: boolean = false;\r\n\r\n // loading indicator\r\n loadingTask: boolean = false;\r\n\r\n fileName = 'ExcelSheet.xlsx';\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n isNetworkMember: boolean;\r\n status: TasksStatus;\r\n task: FileUploadTaskDto;\r\n\r\n gfg = false;\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public fileUploadTaskService: FileUploadTaskService,\r\n private titleService: Title,\r\n private userService: UserService,\r\n private commentService: CommentService\r\n ) {\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.clientId = this.activatedroute.snapshot.paramMap.get(\"clientId\");\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n\r\n // if there is no active task\r\n this.task = await this.fileUploadTaskService.getFileUploadTaskByIdAndSetActive(this.taskId);\r\n let networkMember = this.task.networkMember;\r\n this.networkMemberId = networkMember?.id;\r\n this.networkMemberName = networkMember?.accountName;\r\n this.country = this.task?.country\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n this.fileUploadTaskService.processId = this.task.processId;\r\n\r\n this.commentService.task = this.task;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n // set the title\r\n this.titleService.setTitle(this.fileUploadTaskService.activeFileUploadTask.title + \" | Insurope\");\r\n this.initializeMetadatas(this.fileUploadTaskService.activeFileUploadTask)\r\n // get the metadata of the active task\r\n this.getMetaData(1, 20);\r\n\r\n this.loadingTask = false;\r\n }\r\n\r\n getMetaData(page: number, pageSize: number) {\r\n if (this.outstandingInputs.length <= this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n }\r\n\r\n this.outstandingInputsForExcel = this.outstandingInputs;\r\n\r\n // paginate the outstanding inputs\r\n this.outstandingInputsToDisplay = this.outstandingInputs.slice(\r\n (page - 1) * pageSize,\r\n (page - 1) * pageSize + pageSize\r\n );\r\n\r\n }\r\n\r\n addClientNameToTags(clientName: string) {\r\n let tag: TagReplyParameter = { tagName: clientName, message: \"\" };\r\n this.commentService.setClientReplyTagValue.next(tag);\r\n }\r\n\r\n initializeMetadatas(task: FileUploadTaskDto) {\r\n // parse the metadata\r\n const parsed = JSON.parse(task.metaData);\r\n\r\n // save the outstanding inputs\r\n this.outstandingInputs = parsed.OutstandingInputs;\r\n\r\n // filter on client id\r\n if (this.clientId) {\r\n this.outstandingInputs = this.outstandingInputs.filter(c => c.ClientId == this.clientId);\r\n }\r\n var sa = this.outstandingInputs.filter((item) => item.PoolingSystem === \"Stand Alone\");\r\n var mu = this.outstandingInputs.filter((item) => item.PoolingSystem === \"Multipool\");\r\n sa = sa.sort((a, b) => a.DueDate <= b.DueDate ? -1 : 1);\r\n mu = mu.sort((a, b) => a.DueDate < b.DueDate ? -1 : 1);\r\n this.outstandingInputs = sa.concat(mu);\r\n }\r\n\r\n exportexcel(): void {\r\n\r\n //select only the columns we want\r\n const selectedColumns = this.outstandingInputsForExcel.map(item => {\r\n\r\n var xrPrValue = '';\r\n if (item.IsXrcolumn && item.IsPrcolumn) {\r\n xrPrValue = 'XR & PR';\r\n } else if (item.IsPrcolumn && !item.IsXrcolumn) {\r\n xrPrValue = 'PR';\r\n } else if (item.IsXrcolumn && !item.IsPrcolumn) {\r\n xrPrValue = 'XR';\r\n }\r\n\r\n return {\r\n \"Client name\": item.ClientName,\r\n \"Subsidiary name\": item.SubsidiaryName,\r\n \"Country\": item.CountryName,\r\n \"Pooling system\": item.PoolingSystem,\r\n \"Due date\": item.DueDate,\r\n \"XR / PR\": xrPrValue,\r\n \"Approval Comment\": item.ApprovalLetter,\r\n };\r\n });\r\n\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(selectedColumns);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, this.fileUploadTaskService.activeFileUploadTask.networkMember.accountName + \".xlsx\");\r\n }\r\n\r\n loadMore() {\r\n this.getMetaData(this.page, (this.pageSize += 20));\r\n }\r\n}\r\n","\r\n\r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    Client nameCountryPooling systemDue dateXR / PRApproval Comment
    \r\n
    \r\n {{ outstandingInput.ClientName }}\r\n {{ outstandingInput.SubsidiaryName }}\r\n
    \r\n
    {{ outstandingInput.CountryName }}{{\r\n outstandingInput.PoolingSystem\r\n }}{{ outstandingInput.DueDate | date: 'longDate' }}\r\n \r\n XR & PR\r\n \r\n \r\n PR\r\n \r\n \r\n XR\r\n \r\n \r\n
    {{ outstandingInput.ApprovalLetter}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { FileUploadTaskDto } from 'src/app/web-api-client';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\n@Component({\r\n selector: 'app-account-input-list-page',\r\n templateUrl: './account-input-list-page.component.html',\r\n styleUrls: ['./account-input-list-page.component.scss']\r\n})\r\nexport class AccountInputListPageComponent implements OnInit {\r\n\r\n isTableViewStoredValueKey: string;\r\n process = \"account-input\"\r\n items: FileUploadTaskDto[]\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n isTableView: boolean = false;\r\n headers: { head: string, property: string }[] = [{ head: \"Remaining\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Open account inputs\", property: \"subTitle\" },{head:\"Country\",property: \"country\"}, { head: \"Status\", property: \"status\" }]\r\n faTh = faTh;\r\n faBars = faBars;\r\n\r\n constructor(private userService: UserService, private titleService: Title) {\r\n }\r\n\r\n async ngOnInit() {\r\n // set the title\r\n this.titleService.setTitle(\"Account Inputs | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ApprovalQuestion } from 'src/app/models/approvalQuestion';\r\nimport { BooleanTaskService } from 'src/app/services/boolean-task/boolean-task.service';\r\nimport { BooleanTaskDto, TasksStatus, UserDto } from 'src/app/web-api-client';\r\nimport * as XLSX from 'xlsx-js-style';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\nimport { NotificationFrequency } from 'src/app/models/enums/NotificaionFrequency';\r\nimport { NotificationType } from 'src/app/models/enums/NotificationType';\r\nimport { CommentType } from 'src/app/models/enums/CommentType';\r\nimport { UserService } from 'src/app/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-approvals-detail-page',\r\n templateUrl: './approvals-detail-page.component.html',\r\n styleUrls: ['./approvals-detail-page.component.scss']\r\n})\r\n\r\nexport class ApprovalsDetailPageComponent implements OnInit {\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 20;\r\n @Input() onOverview: boolean = false;\r\n\r\n hideShowMoreBtn: boolean = false;\r\n\r\n // hold the task id\r\n taskId: string;\r\n task: BooleanTaskDto;\r\n // hold the list of approval questions\r\n approvalQuestions: ApprovalQuestion[] = [];\r\n clientName: string;\r\n // loading indicator\r\n loadingTask: boolean = false;\r\n country: string;\r\n gfg = false;\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n status: TasksStatus;\r\n isMuTask: boolean = false;\r\n clientNameList: string[] = [];\r\n processId: string;\r\n periodEnd: string;\r\n handledByNetworkMemberTag: string = \"Handled by Network Member\";\r\n handledByInsuropeTag: string = \"Handled by Insurope\";\r\n user: UserDto;\r\n isNetworkMember: boolean;\r\n\r\n constructor(private activatedroute: ActivatedRoute, public booleanTaskService: BooleanTaskService, private commentService: CommentService, private userService: UserService, private router: Router) {\r\n this.booleanTaskService.activeBooleanTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n // loading started\r\n this.loadingTask = true;\r\n\r\n this.user = await this.userService.getCurrentUser();\r\n this.isNetworkMember = this.user.roles.includes(\"NetworkMember\");\r\n\r\n // get the task id\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n\r\n try {\r\n // get the task by id\r\n this.task = await this.booleanTaskService.getBooleanTaskById(this.taskId);\r\n this.commentService.task = this.task;\r\n this.isMuTask = this.task.processId == \"approval-mu\";\r\n this.clientName = this.task?.title;\r\n\r\n let networkMembers = this.task.networkMember;\r\n this.networkMemberId = networkMembers?.id;\r\n this.networkMemberName = networkMembers?.accountName;\r\n\r\n this.status = this.task.status.value;\r\n this.processId = this.task.processId;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.defaultTags = await this.commentService.getDefaultTags();\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n }\r\n catch (error) {\r\n if (error.status === 404) {\r\n // if the illustration is not found, redirect to the 404 page\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // loading finished\r\n this.loadingTask = false;\r\n\r\n // get the metadata of the active task\r\n this.getMetaData(this.task, 1, 20);\r\n this.commentService.upsertDefaultTag(this.handledByNetworkMemberTag);\r\n this.commentService.upsertDefaultTag(this.handledByInsuropeTag);\r\n }\r\n\r\n getMetaData(task: BooleanTaskDto, page: number, pageSize: number) {\r\n // parse the metadata\r\n const parsed = JSON.parse(task.metaData);\r\n // save the approval questions\r\n this.approvalQuestions = parsed.ApprovalQuestions.filter((x: ApprovalQuestion) => x.Approved == false);\r\n this.clientNameList = this.approvalQuestions.map(x => x.ClientName);\r\n this.periodEnd = this.isMuTask ? \"\" : this.approvalQuestions[0]?.PeriodEndDate?.toString().split('-')[0];\r\n\r\n if (this.approvalQuestions.length <= this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n }\r\n\r\n this.approvalQuestions.forEach(question => {\r\n question.ApprovalLetter = question.ApprovalLetter?.replace(/\\r\\n \\?/g, '
        •  ').replace(/\\r\\n/g, '
    ');\r\n });\r\n\r\n // sort the approval questions by client name\r\n this.approvalQuestions = this.approvalQuestions.sort((a, b) => a.ClientName.toLowerCase() <= b.ClientName.toLowerCase() ? -1 : 1);\r\n // paginate the approval questions\r\n this.approvalQuestions = this.approvalQuestions.slice(\r\n (page - 1) * pageSize,\r\n (page - 1) * pageSize + pageSize\r\n );\r\n }\r\n\r\n exportexcel(): void {\r\n //Get table element by id\r\n let element = document.getElementById('excel-table');\r\n\r\n // Convert the table to a worksheet, filtering rows based on header values\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element);\r\n // Get the worksheet range\r\n const filteredData = this.filterOutTheColumnsWithoutHeaders(worksheet);\r\n\r\n // Create a new worksheet from filtered data\r\n const filteredWorksheet = XLSX.utils.aoa_to_sheet(filteredData);\r\n // Get the filtered range of the new worksheet\r\n const filteredRange = XLSX.utils.decode_range(filteredWorksheet['!ref']!);\r\n\r\n // Add formatting to the new worksheet\r\n this.addFormatting(filteredRange, filteredWorksheet);\r\n\r\n // Generate workbook and add the worksheet\r\n const workBook: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workBook, filteredWorksheet, 'Sheet1');\r\n\r\n // Save to file\r\n XLSX.writeFile(workBook, this.task.networkMember.accountName + \".xlsx\");\r\n }\r\n\r\n private filterOutTheColumnsWithoutHeaders(worksheet: XLSX.WorkSheet) {\r\n const range = XLSX.utils.decode_range(worksheet['!ref']!);\r\n\r\n // Get headers from the first row\r\n let headers = [];\r\n for (let C = range.s.c; C <= range.e.c; ++C) {\r\n const cellAddress = { c: C, r: range.s.r };\r\n const cellRef = XLSX.utils.encode_cell(cellAddress);\r\n const cell = worksheet[cellRef];\r\n headers.push(cell ? cell.v : null);\r\n }\r\n\r\n // Filter out columns where headers are empty\r\n const nonEmptyColumns = headers.map((header, index) => header ? index : null).filter(index => index !== null);\r\n\r\n // Create a new worksheet with filtered data\r\n const filteredData = [];\r\n for (let R = range.s.r; R <= range.e.r; ++R) {\r\n const row = [];\r\n for (let C of nonEmptyColumns) {\r\n const cellAddress = { c: C, r: R };\r\n const cellRef = XLSX.utils.encode_cell(cellAddress);\r\n row.push(worksheet[cellRef]?.v || '');\r\n }\r\n filteredData.push(row);\r\n }\r\n return filteredData;\r\n }\r\n\r\n private addFormatting(range: XLSX.Range, worksheet: XLSX.WorkSheet) {\r\n const colWidths: number[] = new Array(range.e.c - range.s.c + 1).fill(0);\r\n const rowCount = range.e.r\r\n const columnCount = range.e.c\r\n\r\n for (let row = 0; row <= rowCount; row++) {\r\n for (let col = 0; col <= columnCount; col++) {\r\n const cellRef = XLSX.utils.encode_cell({ r: row, c: col });\r\n const cell = worksheet[cellRef];\r\n\r\n //Set the width of the cell based on the content length\r\n const cellContentLength = cell?.v ? cell.v.toString().length : 0;\r\n let maxColumnWidth = Math.max(colWidths[col], cellContentLength);\r\n colWidths[col] = Math.min(maxColumnWidth, 40) + 0.1;\r\n\r\n // Add this format to every cell\r\n cell.s = {\r\n alignment: {\r\n vertical: \"top\",\r\n wrapText: true,\r\n },\r\n };\r\n\r\n // Format headers bold\r\n if (row === 0) {\r\n cell.s = {\r\n //spreads in previous cell settings\r\n ...cell.s,\r\n font: { bold: true },\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Set the width of each column based on the calculated maximum content length\r\n worksheet['!cols'] = colWidths.map(width => ({ wch: width + 2 }));\r\n }\r\n\r\n loadMore() {\r\n // get the metadata of the active task\r\n this.getMetaData(this.task, this.page, this.pageSize += 20);\r\n }\r\n\r\n Reply(clientName: string, ApprovalLetter: string) {\r\n var tagReplyParameter = { tagName: clientName, message: ApprovalLetter };\r\n this.commentService.setClientReplyTagValue.next(tagReplyParameter);\r\n }\r\n\r\n async ApproveDisapproveClient(approvalQuestion: ApprovalQuestion) {\r\n // Set the approval date and approved by network member to true and update the task\r\n var approvedByNetworkMember = approvalQuestion.ApprovedByNetworkMember;\r\n\r\n if (!approvedByNetworkMember) {\r\n approvedByNetworkMember = true;\r\n approvalQuestion.networkMemberApprovalDate = new Date(new Date().getUTCDate());\r\n\r\n var commentMessage = \"Approved by Network Member: \" + approvalQuestion.ClientName + \" \" + approvalQuestion.SubsidiaryLabel;\r\n if (approvalQuestion.ApprovalLetter && approvalQuestion.ApprovalLetter.trim().length > 0) {\r\n commentMessage += \"


    Approval Comment:
    \" + approvalQuestion.ApprovalLetter + \"

    \";\r\n }\r\n\r\n // Add a new comment\r\n var tags: string[] = [approvalQuestion.ClientName, this.handledByNetworkMemberTag];\r\n\r\n var CommentParameter: AddCommentDto = {\r\n taskId: this.taskId,\r\n content: commentMessage,\r\n tags: tags,\r\n customSubscriberProvider: \"\",\r\n processName: this.processId,\r\n clientName: this.clientName,\r\n networkMemberName: this.networkMemberName,\r\n files: null,\r\n country: this.country,\r\n periodEnd: this.periodEnd,\r\n commentType: CommentType.Reply,\r\n isDeleted: false,\r\n isEdited: false,\r\n isHtmlText: false,\r\n notificationFrequency: NotificationFrequency.Scheduled,\r\n notificationType: NotificationType.EmailNotification\r\n }\r\n\r\n await this.commentService.addComment(CommentParameter).then();\r\n }\r\n else {\r\n approvedByNetworkMember = false;\r\n }\r\n\r\n approvalQuestion.ApprovedByNetworkMember = approvedByNetworkMember;\r\n this.task.metaData = JSON.stringify({ ApprovalQuestions: this.approvalQuestions });\r\n await this.booleanTaskService.updateTask(this.task);\r\n }\r\n\r\n loadAll() {\r\n // get the metadata of the active task\r\n this.getMetaData(this.task, 1, 300);\r\n this.hideShowMoreBtn = true;\r\n }\r\n\r\n GetButtonName(isApproveByNetworkMember: boolean) {\r\n if (isApproveByNetworkMember) {\r\n if (this.isNetworkMember) {\r\n return \"Approved\";\r\n }\r\n else {\r\n return \"Disapprove\";\r\n }\r\n }\r\n\r\n return \"Approve\";\r\n }\r\n}\r\n","\r\n\r\n\r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    CountrySubsidiary LabelClient nameApproval Letter
    \r\n {{approvalQuestion.CountryName}}\r\n {{ approvalQuestion.SubsidiaryLabel }}{{ approvalQuestion.ClientName }}\r\n

    {{ approvalQuestion.ExternalPoolComment }}


    \r\n

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\n@Component({\r\n selector: 'app-approvals-list-page',\r\n templateUrl: './approvals-list-page.component.html',\r\n styleUrls: ['./approvals-list-page.component.scss']\r\n})\r\nexport class ApprovalsListPageComponent implements OnInit {\r\n\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isTableView: boolean = false;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n //headers: string[] = [\"Client\", \"Network Member\", \"Approval date\", \"Due date\", \"Status\",]\r\n headers: { head: string, property: string }[] = [];\r\n isTableViewStoredValueKey: string;\r\n faTh = faTh;\r\n faBars = faBars;\r\n\r\n // constructor\r\n constructor(private userService: UserService,\r\n private titleService: Title) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n // determine if the user is a collaborator\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Approvals | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey));\r\n\r\n this.changeIsTableViewValue(storedValue);\r\n this.changeIsMultipoolViewValue();\r\n }\r\n\r\n changeIsTableViewValue(value: boolean) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n\r\n changeIsMultipoolViewValue() {\r\n var isMultipoolViewValue = JSON.parse(localStorage.getItem(\"isApprovalMultipoolView\"));\r\n\r\n if (isMultipoolViewValue == null) {\r\n isMultipoolViewValue = this.isTableView;\r\n }\r\n\r\n if (isMultipoolViewValue) {\r\n this.headers = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Due date\", property: \"overdueDate\" },{head:\"Country\",property: \"country\"}, { head: \"Status\", property: \"status?.value\" },]\r\n }\r\n else {\r\n this.headers = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Approval date\", property: \"approvalDate\" }, { head: \"Due date\", property: \"overdueDate\" },{head:\"Country\",property: \"country\"}, { head: \"Status\", property: \"status?.value\" },]\r\n }\r\n\r\n localStorage.setItem(\"isApprovalMultipoolView\", JSON.stringify(isMultipoolViewValue));\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-login-failed',\r\n templateUrl: './login-failed.component.html',\r\n styleUrls: ['./login-failed.component.scss']\r\n})\r\nexport class LoginFailedComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

    login-failed works!

    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { AccountsService } from 'src/app/services/accounts/accounts.service';\r\nimport { ClientsService } from 'src/app/services/clients.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AccountDto, CrmAttachmentDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-clients',\r\n templateUrl: './clients.component.html',\r\n styleUrls: ['./clients.component.scss']\r\n})\r\nexport class ClientsComponent implements OnInit {\r\n\r\n client: AccountDto;\r\n\r\n isNetworkMember: boolean = false;\r\n isClient: boolean = false;\r\n showDashboard: boolean = true;\r\n clientName: string = \"\";\r\n // hold the attachments\r\n importantFiles: CrmAttachmentDto[] = [];\r\n importantFilesSizes: string[] = [];\r\n loadingImportantFiles: boolean = false;\r\n isInternal: boolean = false;\r\n latestAnnualReportId: string;\r\n latestCompositionReportId: string;\r\n latestDividendPaymentLetterId: string;\r\n\r\n constructor(private accountService: AccountsService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private userService: UserService,\r\n private clientsService: ClientsService) { }\r\n\r\n async ngOnInit() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isClient = await this.userService.isUserInRole(UserRoles.Client);\r\n this.isInternal = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.client = JSON.parse(localStorage.getItem(\"client\"))\r\n this.activatedRoute.queryParamMap.subscribe(async (params) => {\r\n if (params.has('networkMemberId')) {\r\n await this.getClientSearchResponse(await this.accountService.getAccountById(params?.get('networkMemberId')));\r\n }\r\n });\r\n\r\n if (this.isClient || this.isInternal) {\r\n let clientId = (await this.userService.getCurrentUser()).clientId;\r\n this.client = await this.accountService.getAccountById(clientId);\r\n }\r\n\r\n }\r\n\r\n async getClientSearchResponse(response: AccountDto) {\r\n this.client = null;\r\n this.latestAnnualReportId = \"\";\r\n this.latestCompositionReportId = \"\";\r\n this.latestDividendPaymentLetterId = \"\";\r\n\r\n this.client = response;\r\n localStorage.setItem('client', response.toJSON());\r\n\r\n this.router.navigate([],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { clientId: this.client.externalAccountNumber },\r\n queryParamsHandling: 'merge',\r\n });\r\n\r\n this.loadingImportantFiles = true;\r\n this.latestAnnualReportId = (await this.clientsService.getClientImportantDocuments(this.client.id, \"LAR\"))?.id;\r\n this.latestCompositionReportId = (await this.clientsService.getClientImportantDocuments(this.client.id, \"LCR\"))?.id;\r\n this.latestDividendPaymentLetterId = (await this.clientsService.getClientImportantDocuments(this.client.id, \"LSDPL\"))?.id;\r\n this.loadingImportantFiles = false;\r\n }\r\n\r\n changeClientViewActiveTab(tabName: string) {\r\n this.showDashboard = (tabName == \"info\");\r\n }\r\n\r\n}\r\n\r\n\r\n","

    {{client?.accountName}}

    \r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EmbeddedEnvelope } from 'src/app/models/EmbeddedEnvelope';\r\nimport { ESignatureService } from 'src/app/services/e-signature/e-signature.service';\r\nimport { FileParameter } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-esignature',\r\n templateUrl: './esignature.component.html',\r\n styleUrls: ['./esignature.component.scss']\r\n})\r\nexport class EsignatureComponent implements OnInit {\r\n embeddedSigningUrl: string;\r\n uploadedFile:FileParameter;\r\n\r\n constructor(private eSignatureService: ESignatureService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n startSigning() {\r\n var embeddedEnvelopQuery = new EmbeddedEnvelope();\r\n embeddedEnvelopQuery.DocPdf= this.uploadedFile,\r\n embeddedEnvelopQuery.ReturnUrl= \"\";\r\n embeddedEnvelopQuery.SignerClientId= \"\";\r\n embeddedEnvelopQuery.SignerEmail= \"\";\r\n embeddedEnvelopQuery.SignerName= \"\";\r\n\r\n this.eSignatureService.getEmbeddedUrl(embeddedEnvelopQuery).then(url => this.embeddedSigningUrl = url);\r\n }\r\n\r\n fileUploaded(response: { isUploaded: boolean, message: string, files?: File[] }) {\r\n let fileParameter: FileParameter = { data: response.files[0], fileName: response.files[0].name };\r\n this.uploadedFile = fileParameter;\r\n\r\n }\r\n}\r\n","\r\n\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FaqService } from \"src/app/services/faq.service\";\r\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FaqCategoryDto, QuestionDto } from \"src/app/web-api-client\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ModalBasicComponent } from \"src/app/components/common/modal-basic/modal-basic.component\";\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: \"app-faq-categories\",\r\n templateUrl: \"./faq-categories.component.html\",\r\n styleUrls: [\"./faq-categories.component.scss\"],\r\n})\r\nexport class FaqCategoriesComponent implements OnInit {\r\n faqCategories: FaqCategoryDto[] = [];\r\n questions: QuestionDto[] = [];\r\n activeCategory: number;\r\n newCategory: string;\r\n newQuestionTitle: string;\r\n newQuestionAnswer: string;\r\n selectCategory: FaqCategoryDto;\r\n\r\n // if the current user is a network member or not\r\n isContentEditor: boolean;\r\n\r\n // fontawesome\r\n faChevronDown = faChevronDown;\r\n\r\n // constructor\r\n constructor(private faqService: FaqService, private modalService: NgbModal, private userService: UserService) { }\r\n\r\n // OnInit\r\n async ngOnInit() {\r\n // permet d'afficher toutes les catégories\r\n // assigne à l'array faqCategories (initialisé plus haut) la méthode getCategories() définie dans le Service\r\n this.faqCategories = await this.faqService.getFaqCategories();\r\n\r\n // determine if the current user is a network member or not\r\n this.isContentEditor = await this.userService.isUserInRole(UserRoles.ContentEditor);\r\n\r\n //display the list of questions\r\n this.questions = this.faqService.getQuestionsOfCategory(\r\n this.faqCategories[0]?.id\r\n );\r\n }\r\n\r\n // assigne à l'array faqs (initialisé plus haut) la liste des FAQs correspondant à l'id de la catégorie sélectionnée\r\n getCategoryID(category: FaqCategoryDto) {\r\n this.questions = this.faqService.getQuestionsOfCategory(category.id);\r\n this.selectCategory = category;\r\n }\r\n\r\n addFaqCategory() {\r\n this.faqService.addFaqCategory(this.newCategory);\r\n this.faqCategories = this.faqService.faqCategories;\r\n this.newCategory = \"\";\r\n }\r\n\r\n updateFaqCategory(updateCategory) {\r\n this.faqService.updateFaqCateogry(updateCategory);\r\n }\r\n\r\n // Pop up category\r\n openCat(category: FaqCategoryDto) {\r\n const modalRef = this.modalService.open(ModalBasicComponent);\r\n modalRef.componentInstance.category = category;\r\n modalRef.componentInstance.isQuestion = false;\r\n modalRef.result.then(() => {\r\n this.faqCategories = this.faqService.faqCategories;\r\n });\r\n }\r\n\r\n addQuestion() {\r\n this.faqService.addQuestion(this.selectCategory.id, this.newQuestionTitle, this.newQuestionAnswer);\r\n this.questions = this.faqService.questions;\r\n this.newQuestionTitle = \"\";\r\n this.newQuestionAnswer = \"\";\r\n }\r\n\r\n updateQuestion(updateQuestion) {\r\n this.faqService.updateQuestion(this.selectCategory.id, updateQuestion);\r\n }\r\n\r\n deleteQuestion(categoryId, deleteQuestion) {\r\n this.faqService.deleteQuestion(categoryId, deleteQuestion);\r\n }\r\n\r\n //Pop up question\r\n openQuestion(question: QuestionDto) {\r\n const modalRef = this.modalService.open(ModalBasicComponent);\r\n modalRef.componentInstance.category = this.selectCategory;\r\n modalRef.componentInstance.question = question;\r\n modalRef.componentInstance.isQuestion = true;\r\n modalRef.result.then(result => {\r\n if (result) {\r\n this.questions = this.questions.filter(c => c.id != question.id);\r\n }\r\n });\r\n }\r\n\r\n deleteQuest(questionId: string) {\r\n const modalRef = this.modalService.open(ModalBasicComponent);\r\n modalRef.componentInstance.questionId = questionId;\r\n }\r\n}\r\n","
    0\">\r\n
      \r\n
    • \r\n \r\n \r\n
    • \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    0\">\r\n
      \r\n
    • \r\n \r\n\r\n
      \r\n
      {{ question.answer }}
      \r\n \r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n

    There are no FAQ categories yet.

    \r\n\r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { Location } from \"@angular/common\";\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-faq',\r\n templateUrl: './faq.component.html',\r\n styleUrls: ['./faq.component.scss']\r\n})\r\nexport class FaqComponent implements OnInit {\r\n\r\n // constructor\r\n constructor(\r\n public location: Location,\r\n private titleService: Title\r\n ) { }\r\n\r\n // OnInit\r\n ngOnInit(): void {\r\n // set the title\r\n this.titleService.setTitle(\"FAQ | Insurope\");\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n \r\n

    Frequently Asked Questions

    \r\n
    \r\n\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { OutstandingInput, } from \"src/app/models/outstandingInput\";\r\nimport { FileUploadTaskService } from \"src/app/services/file-upload-task/file-upload-task.service\";\r\nimport { FileUploadTaskDto } from \"src/app/web-api-client\";\r\nimport { WorkSheet, utils, WorkBook, writeFile } from 'xlsx';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { CommentService } from \"src/app/services/comment.service\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { TagReplyParameter } from \"src/app/models/TagReplyParameter\";\r\n\r\n@Component({\r\n selector: \"app-finalized-accounts-detail-page\",\r\n templateUrl: \"./finalized-accounts-detail-page.component.html\",\r\n styleUrls: [\"./finalized-accounts-detail-page.component.scss\"],\r\n})\r\n\r\nexport class FinalizedAccountsDetailPageComponent implements OnInit {\r\n // hold the taskId\r\n taskId: string;\r\n clientId: string;\r\n clientName: string;\r\n // hold the list of outstanding inputs\r\n outstandingInputs: OutstandingInput[] = [];\r\n outstandingInputsForExcel: OutstandingInput[] = [];\r\n outstandingInputsToDisplay: OutstandingInput[] = [];\r\n\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 20;\r\n @Input() onOverview: boolean = false;\r\n\r\n hideShowMoreBtn: boolean = false;\r\n\r\n // loading indicator\r\n loadingTask: boolean = false;\r\n\r\n fileName = 'ExcelSheet.xlsx';\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n isNetworkMember: boolean;\r\n task: FileUploadTaskDto;\r\n\r\n gfg = false;\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public fileUploadTaskService: FileUploadTaskService,\r\n private titleService: Title,\r\n private userService: UserService,\r\n private commentService: CommentService\r\n ) {\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n }\r\n\r\n // oninit methodW\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n // take the task id\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.clientId = this.activatedroute.snapshot.paramMap.get(\"clientId\");\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n // if there is no active task\r\n this.task = await this.fileUploadTaskService.getFileUploadTaskByIdAndSetActive(this.taskId);\r\n this.clientName = this.task.title;\r\n this.fileUploadTaskService.processId = this.task.processId;\r\n\r\n let networkMember = this.task.networkMember;\r\n this.networkMemberId = networkMember?.id;\r\n this.networkMemberName = networkMember?.accountName;\r\n\r\n this.commentService.task = this.task;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n // set the title\r\n this.titleService.setTitle(this.fileUploadTaskService.activeFileUploadTask.title + \" | Insurope\");\r\n this.initializeMetadatas(this.fileUploadTaskService.activeFileUploadTask)\r\n // get the metadata of the active task\r\n this.getMetaData(1, 20);\r\n\r\n this.loadingTask = false;\r\n }\r\n\r\n getMetaData(page: number, pageSize: number) {\r\n if (this.outstandingInputs.length <= this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n }\r\n\r\n this.outstandingInputsForExcel = this.outstandingInputs;\r\n\r\n // paginate the outstanding inputs\r\n this.outstandingInputsToDisplay = this.outstandingInputs.slice(\r\n (page - 1) * pageSize,\r\n (page - 1) * pageSize + pageSize\r\n );\r\n }\r\n\r\n initializeMetadatas(task: FileUploadTaskDto) {\r\n // parse the metadata\r\n const parsed = JSON.parse(task.metaData);\r\n\r\n // save the outstanding inputs\r\n this.outstandingInputs = parsed.ApprovalQuestions;\r\n\r\n // filter on client id\r\n if (this.clientId) {\r\n this.outstandingInputs = this.outstandingInputs.filter(c => c.ClientId == this.clientId);\r\n }\r\n }\r\n\r\n exportexcel(): void {\r\n\r\n //select only the columns we want\r\n const selectedColumns = this.outstandingInputsForExcel.map(item => {\r\n return {\r\n \"Client name\": item.ClientName,\r\n \"Country\": item.CountryName,\r\n \"Pooling system\": item.PoolingSystem,\r\n \"Due date\": item.DueDate,\r\n \"Total input still outstanding for this client(also input from other insurers)\": item.XRReqCount\r\n };\r\n });\r\n\r\n const ws: WorkSheet = utils.json_to_sheet(selectedColumns);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: WorkBook = utils.book_new();\r\n utils.book_append_sheet(wb, ws, 'Sheet1');\r\n\r\n /* save to file */\r\n writeFile(wb, this.fileUploadTaskService.activeFileUploadTask.networkMember.accountName + \".xlsx\");\r\n }\r\n\r\n loadMore() {\r\n this.getMetaData(this.page, (this.pageSize += 20));\r\n }\r\n\r\n addClientNameToTags(clientName: string) {\r\n let tag: TagReplyParameter = { tagName: clientName, message: \"\" };\r\n this.commentService.setClientReplyTagValue.next(tag);\r\n }\r\n}\r\n","\r\n\r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    Client nameCountryPooling systemDue dateSend Network Member dateSend Client date
    \r\n
    \r\n {{ outstandingInput.ClientName }}\r\n {{ outstandingInput.SubsidiaryName }}\r\n
    \r\n
    {{ outstandingInput.CountryName }}{{\r\n outstandingInput.PoolingSystem\r\n }}{{ outstandingInput.DueDate | date: 'longDate' }}{{ outstandingInput.SendNMDate| date }}{{ outstandingInput.SendClientDate | date}}
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-finalized-accounts-list-page',\r\n templateUrl: './finalized-accounts-list-page.component.html',\r\n styleUrls: ['./finalized-accounts-list-page.component.scss']\r\n})\r\n\r\nexport class FinalizedAccountsListPageComponent implements OnInit {\r\n isTableViewStoredValueKey: string;\r\n process = \"annual-report\"\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n isTableView: boolean = false;\r\n //headers: string[] = [\"Client\", \"Network Member\", \"Status\", \"created Date\", \"Sent NM Date\"];\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Status\", property: \"status.value\" }, { head: \"Sent NM Date\", property: \"metadata\" }, { head: \"Sent Client Date\", property: \"metadata\" }]\r\n faTh = faTh;\r\n faBars = faBars;\r\n\r\n constructor(private userService: UserService, private titleService: Title) {\r\n }\r\n\r\n async ngOnInit() {\r\n // set the title\r\n this.titleService.setTitle(\"Annual Reports | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { FileUploadTaskService } from 'src/app/services/file-upload-task/file-upload-task.service';\r\nimport { FileUploadTaskDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-illustration-input-detail-page',\r\n templateUrl: './illustration-input-detail-page.component.html',\r\n styleUrls: ['./illustration-input-detail-page.component.scss']\r\n})\r\nexport class IllustrationInputDetailPageComponent implements OnInit {\r\n\r\n // hold the taskId\r\n taskId: string;\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n clientName: string;\r\n status: TasksStatus;\r\n loadingTask: boolean = false;\r\n task: FileUploadTaskDto;\r\n\r\n constructor(private titleService: Title, private activatedroute: ActivatedRoute, public fileUploadTaskService: FileUploadTaskService, private commentService: CommentService) {\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.fileUploadTaskService.getFileUploadTaskByIdAndSetActive(this.taskId);\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n this.fileUploadTaskService.processId = this.task.processId;\r\n\r\n let networkMembers = this.task.networkMember;\r\n this.networkMemberId = networkMembers?.id;\r\n this.networkMemberName = networkMembers?.accountName;\r\n\r\n this.commentService.task = this.task;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Illustration input | Insurope\");\r\n\r\n this.loadingTask = false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-illustration-input-list-page',\r\n templateUrl: './illustration-input-list-page.component.html',\r\n styleUrls: ['./illustration-input-list-page.component.scss']\r\n})\r\nexport class IllustrationInputListPageComponent implements OnInit {\r\n isTableView: boolean = false;\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Country\", property: \"country\" }, { head: \"Status\", property: \"status.value\" }]\r\n // hold the process id\r\n process = \"illustration-input\"\r\n isTableViewStoredValueKey: string;\r\n // determine if the user is a collaborator\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n faTh = faTh;\r\n faBars = faBars;\r\n\r\n // constructor\r\n constructor(private userService: UserService,\r\n private titleService: Title) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n\r\n // determine if the user is a collaborator\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Illustration-input | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n}","
    \r\n \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-messages',\r\n templateUrl: './messages.component.html',\r\n styleUrls: ['./messages.component.scss']\r\n})\r\nexport class MessagesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

    messages works!

    \r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport { faEye } from '@fortawesome/free-regular-svg-icons';\r\n\r\n@Component({\r\n selector: \"app-not-found\",\r\n templateUrl: \"./not-found.component.html\",\r\n styleUrls: [\"./not-found.component.scss\"],\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n constructor(public location: Location) {}\r\n\r\n faEye = faEye;\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
    \r\n \r\n \r\n \r\n

    Woops, something's missing

    \r\n
    \r\n\r\n
    \r\n

    This page is missing or you assembled the link incorrectly.

    \r\n Overview\r\n
    \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { NetworkMembersService } from 'src/app/services/network-members/network-members.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AccountDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-overview',\r\n templateUrl: './overview.component.html',\r\n styleUrls: ['./overview.component.scss']\r\n})\r\n\r\nexport class OverviewComponent implements OnInit {\r\n\r\n isFinancial: boolean = false;\r\n isNetworkMember: boolean = true;\r\n isCollaborator: boolean = false;\r\n @Input() searchNetworkMember: boolean = true;\r\n @Input() title: string;\r\n @Input() hideServiceFees: boolean = false;\r\n @Input() client: AccountDto;\r\n @Input() isOnClientView: boolean = false;\r\n @Input() clientId: string;\r\n\r\n @Input() networkMemberId: string;\r\n networkMemberName: string = \"\";\r\n\r\n constructor(private userService: UserService,\r\n private router: Router,\r\n public networkMembersService: NetworkMembersService,\r\n private activatedRoute: ActivatedRoute,\r\n public commonService: CommonService,\r\n private titleService: Title) { }\r\n\r\n async ngOnInit() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n this.isFinancial = await this.userService.isFinancial();\r\n\r\n \r\n this.activatedRoute.queryParamMap.subscribe(async (params) => {\r\n\r\n if (params.has('networkMemberId')) {\r\n this.networkMemberId = params.get('networkMemberId');\r\n }\r\n else {\r\n this.networkMemberId = localStorage.getItem('networkMemberId');\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { networkMemberId: this.networkMemberId },\r\n queryParamsHandling: 'merge',\r\n });\r\n }\r\n\r\n this.networkMemberName = \"\";\r\n if (this.networkMemberId) {\r\n var account = (await this.networkMembersService.getNetworkMemberById(this.networkMemberId))\r\n this.networkMemberName = account.accountName\r\n }\r\n\r\n });\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Overview | Insurope\");\r\n\r\n }\r\n}\r\n","

    Dashboard of {{networkMemberName}}

    \r\n\r\n\r\n
    \r\n \r\n

    Your dashboard

    \r\n
    \r\n \r\n

    {{ title }}

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    ","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { InformativeService } from 'src/app/services/informative.service';\r\nimport { GeneralTaskDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-payments-detail-page',\r\n templateUrl: './payments-detail-page.component.html',\r\n styleUrls: ['./payments-detail-page.component.scss']\r\n})\r\nexport class PaymentsDetailPageComponent implements OnInit {\r\n\r\n // hold the taskId\r\n taskId: string;\r\n clientName: string;\r\n metaData: string[] = [];\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n status: TasksStatus;\r\n isLoading: boolean = false;\r\n task: GeneralTaskDto;\r\n\r\n // contructor\r\n constructor(private activatedroute: ActivatedRoute, public informativeTaskService: InformativeService, private commentService: CommentService) {\r\n this.informativeTaskService.activeTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.isLoading = true;\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.informativeTaskService.getInformative(this.taskId);\r\n this.commentService.task = this.task;\r\n this.metaData = JSON.parse(this.task.metaData);\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n\r\n let networkMembers = this.task.networkMember;\r\n this.networkMemberId = networkMembers?.id;\r\n this.networkMemberName = networkMembers?.accountName;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.task.id);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n this.isLoading = false;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { GeneralTaskDto } from 'src/app/web-api-client';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-payments-list-page',\r\n templateUrl: './payments-list-page.component.html',\r\n styleUrls: ['./payments-list-page.component.scss']\r\n})\r\nexport class PaymentsListPageComponent implements OnInit {\r\n process = \"payments\"\r\n items: GeneralTaskDto[]\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n isTableView: boolean = false;\r\n //headers:string[]=[\"Client\",\"Network Member\",\"Due date\",\"Status\", \"Payment\"]\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Due date\", property: \"overdueDate\" }, { head: \"Status\", property: \"status.value\" }, {head:\"Payment to\", property:\"payTo\"}, {head: \"Done by NM\", property:\"doneByNm\"}]\r\n isTableViewStoredValueKey: string;\r\n statusFilter: number;\r\n faTh = faTh;\r\n faBars = faBars;\r\n constructor(private userService: UserService,\r\n private titleService: Title) { }\r\n\r\n async ngOnInit() {\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Payments | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n\r\n this.changeIsTableViewValue(storedValue);\r\n this.changeIsMultipoolViewValue();\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n\r\n changeIsMultipoolViewValue() {\r\n var isMultipoolViewValue = JSON.parse(localStorage.getItem(\"isPaymentMultipoolView\"));\r\n\r\n if (isMultipoolViewValue == null) {\r\n isMultipoolViewValue = this.isTableView;\r\n }\r\n\r\n localStorage.setItem(\"isPaymentMultipoolView\", JSON.stringify(isMultipoolViewValue));\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { FileUploadTaskService } from 'src/app/services/file-upload-task/file-upload-task.service';\r\nimport { FileUploadTaskDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-pooling-permissions-detail-page',\r\n templateUrl: './pooling-permissions-detail-page.component.html',\r\n styleUrls: ['./pooling-permissions-detail-page.component.scss']\r\n})\r\nexport class PoolingPermissionsDetailPageComponent implements OnInit {\r\n // hold the taskId\r\n taskId: string;\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n clientName: string;\r\n status: TasksStatus;\r\n loadingTask: boolean = false;\r\n task: FileUploadTaskDto;\r\n\r\n // constructor\r\n constructor(private titleService: Title, private activatedroute: ActivatedRoute, public fileUploadTaskService: FileUploadTaskService, private commentService: CommentService) {\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n }\r\n\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.fileUploadTaskService.getFileUploadTaskByIdAndSetActive(this.taskId);\r\n this.status = this.task.status.value;\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n this.fileUploadTaskService.processId = this.task.processId;\r\n\r\n let networkMember = this.task.networkMember;\r\n this.networkMemberId = networkMember?.id;\r\n this.networkMemberName = networkMember?.accountName;\r\n\r\n this.commentService.task = this.task;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Pooling Permission | Insurope\");\r\n\r\n this.loadingTask = false;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { FileUploadTaskDto } from 'src/app/web-api-client';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-pooling-permissions-list-page',\r\n templateUrl: './pooling-permissions-list-page.component.html',\r\n styleUrls: ['./pooling-permissions-list-page.component.scss']\r\n})\r\nexport class PoolingPermissionsListPageComponent implements OnInit {\r\n\r\n process = \"pooling-permission\"\r\n items: FileUploadTaskDto[]\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n isTableView: boolean = false;\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Country\", property: \"country\" }, { head: \"Status\", property: \"status\" }]\r\n isTableViewStoredValueKey: string;\r\n faTh = faTh;\r\n faBars = faBars;\r\n constructor(private userService: UserService,\r\n private titleService: Title) { }\r\n\r\n async ngOnInit() {\r\n\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Pooling Permissions | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n\r\n\r\n}\r\n","
    \r\n \r\n
    \r\n","import { Component, ElementRef, HostListener, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { IllustrationService } from 'src/app/services/illustration/illustration.service';\r\nimport { DOCUMENT, Location } from \"@angular/common\";\r\nimport { AccountDto, CountryDto, CustomFile, IllustrationRequestDto, SubscriberConfigDto, UserDto } from 'src/app/web-api-client';\r\nimport { fromEvent, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { AccountsService } from 'src/app/services/accounts/accounts.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { NetworkMembersService } from 'src/app/services/network-members/network-members.service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\nimport { faCircleXmark } from '@fortawesome/free-regular-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { defaultDayOfMonthOrdinalParse } from 'ngx-bootstrap/chronos/locale/locale.class';\r\n\r\n@Component({\r\n selector: 'app-request-illustration',\r\n templateUrl: './request-illustration.component.html',\r\n styleUrls: ['./request-illustration.component.scss']\r\n})\r\n\r\nexport class RequestIllustrationComponent implements OnInit, OnDestroy {\r\n\r\n // hold list of clients\r\n filteredClients: AccountDto[] = [];\r\n\r\n // hold list of countries\r\n filteredCountries: CountryDto[] = [];\r\n\r\n // determine if list needs to be shown\r\n showClients: boolean = false;\r\n\r\n // hold the selected client\r\n selectedClient: AccountDto;\r\n\r\n // hold the uploaded files\r\n uploadedFiles: CustomFile[] = [];\r\n\r\n // hold the selected country\r\n selectedCountry: CountryDto;\r\n\r\n // boolean if it's a new client\r\n checkIsProspect: boolean = false;\r\n\r\n // search indicators\r\n searchingClient: boolean = false;\r\n searchingCountry: boolean = false;\r\n\r\n // new client boolean\r\n newClient: boolean = false;\r\n // sending request boolean\r\n sendingRequest: boolean = false;\r\n\r\n // show the warning message or not\r\n showWarningMessage: boolean = false;\r\n faCircleXmark = faCircleXmark;\r\n clickedOnClient = false;\r\n isCollaborator: boolean = false;\r\n displaySubs: UserDto[] = []\r\n illustrations: IllustrationRequestDto[] = [];\r\n currentUserId: string\r\n dragAreaClass: string;\r\n draggedFiles: any;\r\n // take the search field as input\r\n @ViewChild('searchClientField', { static: true }) searchInputClientField: ElementRef;\r\n @ViewChild('searchCountryField', { static: true }) searchInputCountryField: ElementRef;\r\n\r\n // hold list of subscriptions\r\n subscriptions: Subscription[] = [];\r\n\r\n // declare the form\r\n illustrationForm = new UntypedFormGroup({\r\n ClientName: new UntypedFormControl('', [Validators.required]),\r\n AdditionalComment: new UntypedFormControl('', [Validators.required]),\r\n InsuropeTypeOfBusiness: new UntypedFormControl('', [Validators.required]),\r\n Country: new UntypedFormControl('', [Validators.required])\r\n });\r\n params: ParamMap;\r\n loadingIllustrations: boolean;\r\n networkMember: AccountDto;\r\n page: number;\r\n isNetworkMember: boolean;\r\n pageSize: number;\r\n hideShowMoreBtn: boolean;\r\n networkMemberId;\r\n insuropeSubscribers: SubscriberConfigDto[] = []\r\n networkMemberSubscribers: SubscriberConfigDto[] = []\r\n // constructor\r\n constructor(private accountsService: AccountsService,\r\n private illustrationService: IllustrationService,\r\n public location: Location,\r\n private router: Router,\r\n private userService: UserService,\r\n @Inject(DOCUMENT) private document: Document,\r\n private networkMemberService: NetworkMembersService,\r\n private titleService: Title,\r\n private popupNotificationsService: PopupNotificationsService,\r\n private activatedroute: ActivatedRoute,\r\n private networkMembersService: NetworkMembersService) { }\r\n\r\n ngAfterViewInit() {\r\n\r\n // body onclick event\r\n this.document.getElementsByTagName('body')[0].onclick = (event) => {\r\n // if the target is not the search client input\r\n if (event.target != this.document.getElementById('searchClientName')) {\r\n this.filteredClients = [];\r\n this.newClient = true;\r\n }\r\n // if the target is not the search country input\r\n if (event.target != this.document.getElementById('searchCountryName')) {\r\n this.filteredCountries = [];\r\n }\r\n };\r\n\r\n }\r\n\r\n // oninit method\r\n async ngOnInit(): Promise {\r\n\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n // set the title\r\n this.titleService.setTitle('Illustration Request | Insurope');\r\n this.activatedroute.queryParamMap.subscribe(async (params) => this.loadIllustrations(params));\r\n // get the connected user networkmember id\r\n this.networkMemberId = (await this.userService.getCurrentUser()).networkMemberIds;\r\n var currentUser = (await this.userService.getCurrentUser())\r\n this.currentUserId = currentUser.id\r\n this.displaySubs.push(currentUser)\r\n // get tht network member from the id\r\n const networkMember = await this.networkMemberService.getNetworkMemberById(this.networkMemberId[0]);\r\n this.networkMember = networkMember\r\n // if the network memeber has only one country\r\n if (networkMember.countries.length == 1) {\r\n // set the selected country\r\n this.selectedCountry = networkMember.countries[0]\r\n // set the country name in the field\r\n this.illustrationForm.controls.Country.setValue(networkMember.countries[0].name);\r\n }\r\n\r\n this.subscriptions.push(fromEvent(this.searchInputClientField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater then 2\r\n filter(res => res.length > 2),\r\n // Time in milliseconds between key events\r\n debounceTime(100),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.fetchClient(text);\r\n this.selectedClient = null;\r\n this.clickedOnClient = false;\r\n }));\r\n\r\n\r\n this.subscriptions.push(fromEvent(this.searchInputCountryField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // Time in milliseconds between key events\r\n debounceTime(100),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.fetchCountry(text);\r\n }));\r\n\r\n }\r\n\r\n @HostListener(\"dragover\", [\"$event\"]) onDragOver(event: any) {\r\n this.dragAreaClass = \"droparea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragenter\", [\"$event\"]) onDragEnter(event: any) {\r\n this.dragAreaClass = \"droparea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragend\", [\"$event\"]) onDragEnd(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragleave\", [\"$event\"]) onDragLeave(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"drop\", [\"$event\"]) onDrop(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files) {\r\n let files: File[] = event.dataTransfer.files;\r\n this.fileUploaded({ isUploaded: true, message: \"\", files: files });\r\n }\r\n }\r\n\r\n // on destroy method\r\n ngOnDestroy() {\r\n // unsubscribe from subscriptions\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n\r\n async loadClientByName(accountName) {\r\n this.clickedOnClient = true;\r\n\r\n localStorage.setItem('clientName', accountName);\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedroute,\r\n queryParams: { clientName: accountName },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.searchInputClientField.nativeElement.value = accountName;\r\n }\r\n\r\n async loadIllustrations(params?: any, loadMore?: boolean) {\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n let newItems;\r\n\r\n // loading started\r\n this.loadingIllustrations = true;\r\n\r\n if (params?.get(\"networkMemberId\") && params.has(\"clientId\")) {\r\n this.networkMember = await this.networkMembersService.getNetworkMemberById(params?.get(\"networkMemberId\"));\r\n }\r\n var nmId = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientName = params?.get(\"clientName\");\r\n var subscriberId = params?.get('subscriberId');\r\n if (subscriberId) {\r\n var subscriberEmail = (await this.userService.getUserById(subscriberId)).preferredEmail;\r\n }\r\n\r\n\r\n if (!loadMore) {\r\n this.illustrations = [];\r\n this.page = 1\r\n }\r\n\r\n if (this.isNetworkMember) {\r\n // load the illustrations\r\n newItems = await this.illustrationService.getMyOrganizationIllustrationsPaginated(\r\n clientName,\r\n null,\r\n subscriberId,\r\n subscriberEmail,\r\n null,\r\n null,\r\n null,\r\n this.page,\r\n this.pageSize\r\n );\r\n }\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n\r\n let updatedItems = newItems.map(illustration => {\r\n let updatedIllustration = illustration;\r\n\r\n if (illustration.illustrationStage.name != \"Finalized\") {\r\n updatedIllustration.illustrationStage.name = \"In-progress\";\r\n }\r\n\r\n return updatedIllustration;\r\n });\r\n\r\n this.illustrations = this.illustrations.concat(updatedItems);\r\n\r\n if (this.illustrations.length == 0) {\r\n document.getElementById(\"illustrations-view-btn\")?.classList.add(\"d-none\");\r\n }\r\n else {\r\n document.getElementById(\"illustrations-view-btn\")?.classList.remove(\"d-none\");\r\n }\r\n\r\n // loading finished\r\n this.loadingIllustrations = false;\r\n\r\n }\r\n\r\n async clearSearch() {\r\n localStorage.removeItem('clientId');\r\n localStorage.removeItem('clientName');\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedroute,\r\n queryParams: { clientName: null, clientId: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n }\r\n\r\n async addSubscriber(event: { id: string, user: UserDto }) {\r\n this.displaySubs.push(event.user);\r\n }\r\n\r\n // when searching for a user\r\n async fetchClient(term: string) {\r\n if (term === '') {\r\n return this.filteredClients = [];\r\n }\r\n this.newClient = false;\r\n this.searchingClient = true;\r\n this.filteredClients = await this.accountsService.getPooledAndProspectAccountsByName(term.toLowerCase(), 0, 10);\r\n this.searchingClient = false;\r\n }\r\n\r\n // when searching for a country\r\n async fetchCountry(term: string) {\r\n if (term === '')\r\n return this.filteredCountries = [];\r\n this.searchingCountry = true;\r\n console.log(this.networkMember);\r\n\r\n this.filteredCountries = this.networkMember.countries.filter(x => x.name.toLowerCase().includes(term.toLowerCase()));\r\n this.searchingCountry = false;\r\n }\r\n\r\n // called when selecting a client\r\n selectClient(client: AccountDto) {\r\n // hold the selected client\r\n this.selectedClient = client;\r\n // empty the list of clients\r\n this.filteredClients = [];\r\n if (client) {\r\n // set the client name\r\n this.searchInputClientField.nativeElement.value = client.accountName;\r\n this.illustrationForm.controls.ClientName.setValue(client.accountName);\r\n this.loadClientByName(client.accountName)\r\n this.newClient = false;\r\n }\r\n else {\r\n this.newClient = true;\r\n }\r\n }\r\n\r\n // called when selecting a country\r\n selectCountry(country: CountryDto) {\r\n // hold the selected country\r\n this.selectedCountry = country;\r\n // empty the list of countries\r\n this.filteredCountries = [];\r\n // set the country name\r\n this.searchInputCountryField.nativeElement.value = country.name;\r\n this.illustrationForm.controls.Country.setValue(country.name);\r\n }\r\n\r\n // when the file is uploaded\r\n fileUploaded(response: {\r\n isUploaded: boolean;\r\n message: string;\r\n files?: File[];\r\n }) {\r\n // if files where uploaded\r\n if (response.isUploaded) {\r\n // loop through the files\r\n for (let i = 0; i < response.files.length; i++) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(response.files[i]);\r\n reader.onload = () => {\r\n // create new file\r\n let file = new CustomFile();\r\n file.fileName = response.files[i].name;\r\n file.file = reader.result.toString().split(\"base64,\")[1];\r\n // add the file to the list\r\n this.uploadedFiles.push(file);\r\n };\r\n }\r\n }\r\n }\r\n\r\n // method to remove a file\r\n removeFile(index: number) {\r\n // remove the file\r\n this.uploadedFiles.splice(index, 1);\r\n }\r\n\r\n // method to save the illustration\r\n save() {\r\n\r\n if (this.uploadedFiles.length == 0) {\r\n this.showWarningMessage = true;\r\n }\r\n else {\r\n this.showWarningMessage = false;\r\n this.createIllustration();\r\n }\r\n\r\n }\r\n\r\n deleteSubscriber(email) {\r\n var index = this.displaySubs.indexOf(email)\r\n this.displaySubs.splice(index, 1)\r\n }\r\n\r\n async createIllustration() {\r\n // hide message\r\n this.showWarningMessage = false;\r\n\r\n // start the sending\r\n this.sendingRequest = true;\r\n\r\n // take the data from the form\r\n let data = this.illustrationForm.getRawValue();\r\n\r\n // list of countries\r\n let countriesId: string[] = [this.selectedCountry.iso2];\r\n\r\n let networkMemberId = (await this.userService.getCurrentUser()).networkMemberId;\r\n\r\n for (let index = 0; index < this.displaySubs.length; index++) {\r\n let subConfig = new SubscriberConfigDto();\r\n subConfig.id = this.displaySubs[index].id;\r\n subConfig.isManuallyAdded = true;\r\n\r\n if (this.displaySubs[index].roles.includes(\"Collaborator\")) {\r\n this.insuropeSubscribers.push(subConfig);\r\n }\r\n\r\n if (this.displaySubs[index].roles.includes(\"NetworkMember\")) {\r\n this.networkMemberSubscribers.push(subConfig)\r\n }\r\n }\r\n // create the illustration\r\n this.illustrationService.createIllustration(this.selectedClient?.id, data[\"ClientName\"], data[\"AdditionalComment\"], data[\"InsuropeTypeOfBusiness\"], countriesId, networkMemberId, this.uploadedFiles, this.insuropeSubscribers, this.networkMemberSubscribers).then(response => {\r\n // if the response is successful\r\n if (response.status == 200) {\r\n // show the success message\r\n this.popupNotificationsService.showMessage(\"Illustration sent successfully!\", MessageType.Success);\r\n // redirect to the dashboard\r\n this.router.navigate(['']);\r\n }\r\n else {\r\n console.error(response);\r\n }\r\n // stop the sending\r\n this.sendingRequest = false;\r\n });\r\n\r\n // clear the form\r\n this.illustrationForm.reset();\r\n this.clearSearch();\r\n this.uploadedFiles = [];\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n

    Upload a Manual Illustration Request

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Upload your illustration files\r\n

    \r\n \"upload\"\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {{ file?.fileName }}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
      \r\n
    • The client I search for is not found?

    • \r\n
    • \r\n

      {{ client.accountName }}

      \r\n
    • \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Searching...\r\n
    \r\n
    \r\n

    Please type part of the client's headquarters/parent name to search for the client. If nothing is found, please type the full HQ client's name (not the subsidiary name here).

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    0\" class=\"mb-2 d-flex flex-column\">\r\n
    \r\n \r\n \r\n {{ user.email }}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
      0\">\r\n
    • \r\n

      {{ cty.name }}

      \r\n
    • \r\n
    \r\n searching...\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n

    Existing illustrations:

    \r\n
    \r\n no illustrations for this client\r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n {{ illustration.clientName }}\r\n -\r\n {{ illustration.countries[0]?.name | titlecase }}\r\n

    \r\n

    \r\n {{ illustration.illustrationRevisions[0]?.finalizedSupportDate | date }}\r\n

    \r\n

    \r\n {{ illustration.networkMember?.accountName }}\r\n

    \r\n
    \r\n \r\n \r\n \r\n\r\n ","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { InformativeService } from 'src/app/services/informative.service';\r\nimport { GeneralTaskDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-service-fees-detail-page',\r\n templateUrl: './service-fees-detail-page.component.html',\r\n styleUrls: ['./service-fees-detail-page.component.scss']\r\n})\r\nexport class ServiceFeesDetailPageComponent implements OnInit {\r\n\r\n // hold the taskId\r\n taskId: string;\r\n networkMemberId: any;\r\n networkMemberName: string;\r\n clientName: string;\r\n status: TasksStatus;\r\n isLoading: boolean = false;\r\n task: GeneralTaskDto;\r\n\r\n // constructor\r\n constructor(private activatedroute: ActivatedRoute, public informativeTaskService: InformativeService, private commentService: CommentService) {\r\n this.informativeTaskService.activeTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.isLoading = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.informativeTaskService.getInformative(this.taskId);\r\n this.commentService.task = this.task;\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n\r\n let networkMembers = this.task.networkMember;\r\n this.networkMemberId = networkMembers?.id;\r\n this.networkMemberName = networkMembers?.accountName;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.task.id);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n this.isLoading = false;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { GeneralTaskDto } from 'src/app/web-api-client';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n@Component({\r\n selector: 'app-service-fees-list-page',\r\n templateUrl: './service-fees-list-page.component.html',\r\n styleUrls: ['./service-fees-list-page.component.scss']\r\n})\r\nexport class ServiceFeesListPageComponent implements OnInit {\r\n\r\n process = \"service-fees\"\r\n items: GeneralTaskDto[]\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n isTableView: boolean = false;\r\n isTableViewStoredValueKey: string\r\n faTh = faTh;\r\n faBars = faBars;\r\n headers: { head: string, property: string }[] = [{ head: \"Bill\", property: \"title\" }, { head: \"Network Member\", property: \"title\" }, { head: \"Due date\", property: \"overdueDate\" }, { head: \"Status\", property: \"status\" },{head: \"Done by NM\", property:\"doneByNm\"}]\r\n constructor(private userService: UserService, private titleService: Title) { }\r\n\r\n async ngOnInit() {\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Service Fees | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-supporting-files',\r\n templateUrl: './supporting-files.component.html',\r\n styleUrls: ['./supporting-files.component.scss']\r\n})\r\nexport class SupportingFilesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

    supporting-files works!

    \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Consent } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-terms-and-conditions',\r\n templateUrl: './terms-and-conditions.component.html',\r\n styleUrls: ['./terms-and-conditions.component.scss'],\r\n})\r\nexport class TermsAndConditionsComponent implements OnInit {\r\n\r\n redirectTo: string = \"\";\r\n acceptBtn: HTMLButtonElement;\r\n acceptCheckbox:HTMLInputElement;\r\n constructor(private userservice: UserService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n //var approveAllConsentsCheckBox = document.getElementById(\"approveAllCheckBox\");\r\n //approveAllConsentsCheckBox = document.getElementById(\"approveAllCheckBox\");\r\n //approveAllConsentsCheckBox.addEventListener('change',(e)=>{this.allConsentsAreApproved = approveAllConsentsCheckBox.checked;})\r\n\r\n // Get the modal\r\n const modal = document.getElementById(\"myModal\") as HTMLDivElement;\r\n // Get the accept button\r\n this.acceptBtn = document.getElementById(\"acceptBtn\") as HTMLButtonElement;\r\n // Get the accept checkbox\r\n this.acceptCheckbox = document.getElementById(\"acceptCheckbox\") as HTMLInputElement;\r\n\r\n // When the page loaded, open the modal \r\n modal.style.display = \"block\";\r\n // When the user checks/unchecks the checkbox, toggle accept button\r\n this.acceptCheckbox.addEventListener('change',()=>{this.acceptBtn.disabled = !this.acceptCheckbox.checked;});\r\n\r\n // Initially disable the accept button\r\n\r\n }\r\n\r\n async acceptTermsAndCondtions() {\r\n let timeNow = new Date(new Date().toUTCString());\r\n\r\n var consent = new Consent();\r\n consent.approved = true;\r\n consent.approvedDate = timeNow;\r\n\r\n var userId = await this.userservice.getCurrentUserId();\r\n var newUser = await this.userservice.upsertUser(userId, consent, consent);\r\n\r\n if (localStorage.getItem(\"RedirectUrl\")) {\r\n this.redirectTo = localStorage.getItem(\"RedirectUrl\");\r\n localStorage.removeItem(\"RedirectUrl\");\r\n }\r\n\r\n this.router.navigateByUrl(this.redirectTo);\r\n }\r\n\r\n refuseTermsAndCondtions() {\r\n this.userservice.logout();\r\n }\r\n}\r\n\r\n\r\n\r\n","
    \r\n
    \r\n

    Terms and Conditions

    \r\n\r\n

    Privacy notice

    \r\n

    Terms & Conditions

    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from 'src/app/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-unauthorized',\r\n templateUrl: './unauthorized.component.html',\r\n styleUrls: ['./unauthorized.component.scss']\r\n})\r\nexport class UnauthorizedComponent implements OnInit {\r\n\r\n // constructor\r\n constructor(public userService: UserService) { }\r\n\r\n // oninit method\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
    \r\n

    Hello, You are not authorized to access this page, please contact insuropexchange@insurope.com to continue.

    \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\nimport { AccountsClient } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountsService {\r\n\r\n // constructor\r\n constructor(private accountsClient: AccountsClient) { }\r\n\r\n // get account by Id\r\n async getAccountById(id: string) {\r\n return await this.accountsClient.getAccountById(id).toPromise();\r\n }\r\n\r\n // get the accounts by name\r\n async getAccountsByName(name: string, page: number, pageSize: number)\r\n {\r\n return await this.accountsClient.findAccountsByName(name, page, pageSize).toPromise();\r\n }\r\n\r\n // get the pooled and prospect accounts by name\r\n async getPooledAndProspectAccountsByName(name: string, page: number, pageSize: number)\r\n {\r\n return await this.accountsClient.findPooledAndProspectAccountsByName(name, page, pageSize).toPromise();\r\n }\r\n\r\n // get account excel file\r\n async getAccountExcelFile(accountNumber: string) {\r\n return await this.accountsClient.getAccountExcelFile(accountNumber).toPromise();\r\n }\r\n \r\n // get account expansion plan\r\n async getAccountExpansionPlan(accountNumber: string, page: number, pageSize: number, sortColumn: string, sortDirection: string) {\r\n return await this.accountsClient.getAccountExpansionPlan(accountNumber, sortDirection, sortColumn, page, pageSize).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BooleanTaskClient, BooleanTaskDto, SortingElement, UpdateBooleanTaskDto } from 'src/app/web-api-client';\r\nimport { MessageType, PopupNotificationsService } from '../popup-notifications/popup-notifications.service';\r\nimport { FilterParameter } from 'src/app/models/FilterPrameter';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class BooleanTaskService {\r\n\r\n // hold the active task\r\n activeBooleanTask: BooleanTaskDto;\r\n\r\n // constructor\r\n constructor(private booleanTaskClient: BooleanTaskClient, private router: Router, private notificationPopupService: PopupNotificationsService) { }\r\n\r\n // get the tasks per process\r\n async getMyOrganization(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n // get the tasks by process\r\n return await this.booleanTaskClient.getMyOrganization(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields, page, pageSize).toPromise();\r\n }\r\n\r\n // get a task by Id\r\n async getBooleanTaskById(id: string) {\r\n try {\r\n // get the task\r\n this.activeBooleanTask = await this.booleanTaskClient.getBooleanTaskById(id).toPromise();\r\n // return the task\r\n return this.activeBooleanTask;\r\n }\r\n catch (error) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n async getTasks(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n return this.booleanTaskClient.getTasks(\r\n filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize).toPromise();\r\n //return this.booleanTaskClient.getTasks( ,sortingFields, page, pageSize).toPromise();\r\n }\r\n\r\n // method to change the status\r\n async changeTaskBooleanStatus(task: BooleanTaskDto): Promise {\r\n try {\r\n // adapt the task's status\r\n await this.booleanTaskClient.update(task).toPromise();\r\n return true;\r\n }\r\n catch (error) {\r\n if (error.status == 404) {\r\n this.notificationPopupService.showMessage(\"The task you are trying to change does not exist.\", MessageType.Error);\r\n return false\r\n }\r\n }\r\n }\r\n\r\n async downloadFile(taskId: string, fileId: string, systemAttachment: boolean) {\r\n return await this.booleanTaskClient.downloadFile(taskId, fileId).toPromise();\r\n }\r\n\r\n async getSubscribersEmails(taskId: string) {\r\n return this.booleanTaskClient.getTaskSubscribersByTaskId(taskId).toPromise();\r\n }\r\n\r\n async changeTaskStatus(id: string, status: number) {\r\n return await this.booleanTaskClient.changeTaskStatus(id, status).toPromise()\r\n }\r\n\r\n async downloadFileFromPath(taskId: string, filePath: string) {\r\n return await this.booleanTaskClient.downloadFileFromPath(taskId, filePath).toPromise();\r\n }\r\n\r\n async updateTask(task: UpdateBooleanTaskDto) {\r\n return await this.booleanTaskClient.update(task).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountsClient, CrmAttachmentsClient } from '../web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClientsService {\r\n \r\n // constructor\r\n constructor(private accountsClient: AccountsClient, private crmAttachmentsClient: CrmAttachmentsClient) { }\r\n\r\n // get the clients by name\r\n async getClientsByName(name: string, pageNumber: number, pageSize: number) {\r\n return await this.accountsClient.findAccountXesByName(name, pageNumber, pageSize).toPromise();\r\n }\r\n\r\n // get the clients by name\r\n async getClientByName(clientName: string, clientId : string) {\r\n return await this.accountsClient.findAccountByName(clientId,clientName).toPromise();\r\n }\r\n\r\n // get the technical contact by external account number\r\n async getTechnicalContact(externalAccountNumber: string) {\r\n return await this.accountsClient.getTechnicalContactByExternalAccountNumber(externalAccountNumber).toPromise();\r\n }\r\n\r\n // get the contracts of the client\r\n async getClientContracts(accountId: string, pageNumber?: number, pageSize?: number) {\r\n return await this.crmAttachmentsClient.getCrmAccountAttachments(accountId, pageNumber, pageSize).toPromise();\r\n }\r\n \r\n // get the contractual documents of the client\r\n async getClientContractualDocuments(accountId: string, pageNumber?: number, pageSize?: number) {\r\n return await this.crmAttachmentsClient.getCrmAccountContractualAttachments(accountId, pageNumber, pageSize).toPromise();\r\n }\r\n \r\n // get the contractual documents of the client\r\n async getClientImportantDocuments(accountId: string, type: string) {\r\n return await this.crmAttachmentsClient.getCrmAccountImportantAttachments(accountId, type).toPromise();\r\n }\r\n\r\n // download an attachment\r\n async downloadAttachment(attachmentId: string) {\r\n return await this.crmAttachmentsClient.downloadCrmAttachment(attachmentId).toPromise();\r\n }\r\n async getClientById(clientId:string){\r\n return await this.accountsClient.getAccountById(clientId).toPromise();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AttachmentDTO, CommentDto, CommentsClient, CommentTagDto, DiscussionDto, TaskSubscribersDto, TaskUserSusbscriptionDto } from '../web-api-client';\r\nimport { Subject } from 'rxjs';\r\nimport { AddCommentDto } from '../models/AddCommentDto';\r\nimport { TagReplyParameter } from '../models/TagReplyParameter';\r\nimport { EditCommentDto } from '../models/EditCommentDto';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommentService {\r\n setClientReplyTagValue = new Subject();\r\n getClientReplyTagValue = this.setClientReplyTagValue.asObservable();\r\n setCommentReplyTagsList = new Subject();\r\n getCommentReplyTagsList = this.setCommentReplyTagsList.asObservable();\r\n\r\n deleteCommentEvent = new Subject();\r\n addCommentAttachmentEvent = new Subject();\r\n editCommentEvent = new Subject();\r\n updateCommentSubscribers = new Subject();\r\n\r\n discussion: DiscussionDto;\r\n comments: CommentDto[] = []\r\n taskSubscribers: TaskSubscribersDto\r\n task: any;\r\n defaultTags: CommentTagDto[];\r\n\r\n constructor(private commentsClient: CommentsClient) {\r\n }\r\n\r\n async getDiscussionByTaskId(taskId: string) {\r\n this.discussion = await this.commentsClient.get(taskId).toPromise();\r\n this.comments = this.discussion.comments.reverse().filter(x => x.isDeleted == false);\r\n return this.discussion;\r\n }\r\n\r\n async getTaskSubescribersByDiscussionId(discussionId: string) {\r\n return await this.commentsClient.getDiscussionTaskSubscribers(discussionId).toPromise();\r\n }\r\n\r\n async getIllustrationTaskSubscriber(discussionId: string, clientSubscribers: TaskUserSusbscriptionDto[], insuropeSubscribers: TaskUserSusbscriptionDto[], networkMemberSubscribers: TaskUserSusbscriptionDto[]) {\r\n return await this.commentsClient.getIllustrationTaskSubscribers(discussionId, clientSubscribers, insuropeSubscribers, networkMemberSubscribers).toPromise();\r\n }\r\n\r\n async addComment(commentParams: AddCommentDto) {\r\n var comment = await this.commentsClient.create(commentParams.taskId,\r\n commentParams.customSubscriberProvider,\r\n commentParams.processName,\r\n commentParams.clientName,\r\n commentParams.networkMemberName,\r\n commentParams.country,\r\n commentParams.periodEnd,\r\n commentParams.files,\r\n commentParams.content,\r\n commentParams.tags,\r\n commentParams.isDeleted,\r\n commentParams.isEdited,\r\n commentParams.isHtmlText,\r\n commentParams.commentType,\r\n commentParams.notificationFrequency,\r\n commentParams.notificationType).toPromise()\r\n\r\n if (comment) {\r\n this.taskSubscribers = await this.addCurrentUserToSubscriber(commentParams.taskId);\r\n }\r\n\r\n if (comment.attachments?.length > 0) {\r\n this.addCommentAttachmentEvent.next(comment.attachments);\r\n }\r\n\r\n this.comments.splice(0, 0, comment);\r\n return comment;\r\n }\r\n\r\n async downloadFile(taskId: string, discussionId: string, fileId: string) {\r\n return await this.commentsClient.downloadFile(taskId, discussionId, fileId).toPromise();\r\n }\r\n\r\n async deleteComment(taskId: string, commentId: string) {\r\n await this.commentsClient.delete(taskId, commentId).toPromise();\r\n var index = this.comments.findIndex(x => x.id == commentId);\r\n this.comments.splice(index, 1);\r\n this.deleteCommentEvent.next(commentId);\r\n }\r\n\r\n async editDiscussion(taskId: string, lastExportedDate: Date) {\r\n return await this.commentsClient.update(taskId, lastExportedDate).toPromise();\r\n }\r\n\r\n async addCurrentUserToSubscriber(taskId: string) {\r\n var updatedSubscibersList = await this.commentsClient.addCurrentUserToSubscribers(taskId).toPromise();\r\n this.updateCommentSubscribers.next(updatedSubscibersList);\r\n return updatedSubscibersList;\r\n }\r\n\r\n async addSubscriber(taskId: string, subscriberId: string, processId: string) {\r\n return await this.commentsClient.addSubscriber(taskId, subscriberId, processId).toPromise();\r\n }\r\n\r\n async deleteSubscriber(taskId: string, subscriberId: string) {\r\n return await this.commentsClient.deleteSubscriber(taskId, subscriberId).toPromise();\r\n }\r\n\r\n async getAllAttachments(taskId: string) {\r\n return await this.commentsClient.getAllAttachments(taskId).toPromise();\r\n }\r\n\r\n async addCommentTag(tagNames: string[], taskId: string, commentId: string) {\r\n return await this.commentsClient.addCommentTags(tagNames, taskId, commentId).toPromise();\r\n }\r\n\r\n async getCommentTags(taskId: string, commentId: string) {\r\n return await this.commentsClient.getCommentTags(taskId, commentId).toPromise();\r\n }\r\n\r\n async deleteCommentTags(tagId: string, taskId: string, commentId: string) {\r\n return await this.commentsClient.deleteCommentTags(tagId, taskId, commentId).toPromise();\r\n }\r\n\r\n async getDefaultTags() {\r\n if (!this.defaultTags) {\r\n this.defaultTags = await this.commentsClient.getDefaultTags().toPromise();\r\n return this.defaultTags;\r\n }\r\n }\r\n\r\n async upsertDefaultTag(tagName: string) {\r\n return await this.commentsClient.upsertDefaultTag(tagName).toPromise();\r\n }\r\n\r\n async getDiscussionTags(taskId: string, tagName: string) {\r\n return await this.commentsClient.getDiscussionTags(taskId, tagName).toPromise();\r\n }\r\n\r\n async filterCommentsByTag(taskId: string, tagName: string) {\r\n return await this.commentsClient.filterCommentsByTag(taskId, tagName).toPromise();\r\n }\r\n\r\n async editComment(editComment: EditCommentDto) {\r\n var editedComment = await this.commentsClient.editComment(editComment.TaskId,\r\n editComment.CommentId,\r\n editComment.Content,\r\n editComment.SendNotification,\r\n editComment.PeriodEnd,\r\n editComment.ProcessName,\r\n editComment.ClientName,\r\n editComment.NetworkMemberName,\r\n editComment.CustomSubscriberProvider,\r\n editComment.Country,\r\n editComment.Title, null).toPromise();\r\n\r\n let commentIndex = this.comments.findIndex(x => x.id == editedComment.id);\r\n this.comments.splice(commentIndex, 1, editedComment);\r\n return editedComment;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { AssignedTo, HangfireJobClient, PayToEnum } from 'src/app/web-api-client';\r\nimport { UserService } from '../user.service';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\r\n // constructor\r\n constructor(private userService: UserService, private datePipe: DatePipe, private hangfireJobExecutionService: HangfireJobClient) { }\r\n\r\n // get task status text from number\r\n getTaskStatusByNumber(n: number, isApproval: boolean = false) {\r\n\r\n switch (n) {\r\n case 0:\r\n return \"Open\";\r\n case 1:\r\n if (!isApproval) {\r\n return \"Closed\";\r\n } else {\r\n return \"Approved\"\r\n }\r\n\r\n case 4:\r\n return \"Deleted\"\r\n case 5:\r\n return \"Hidden\"\r\n case 6:\r\n return \"Finalized\"\r\n case 7:\r\n return \"In-progress\"\r\n case null:\r\n return \"All status\"\r\n default:\r\n return \"Open\";\r\n }\r\n }\r\n\r\n getPayToText(value: PayToEnum) {\r\n switch (value) {\r\n case null:\r\n return \"All payments\"\r\n case 1:\r\n return 'Insurope';\r\n case 2:\r\n return 'Client';\r\n case 3:\r\n return 'Other';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n async displayTaskAction(task: any): Promise {\r\n let currentUser = await this.userService.getCurrentUser();\r\n let displayActions = true;\r\n switch (task.assignedTo) {\r\n case AssignedTo.NetworkMember:\r\n if (!(await this.userService.isUserInRole(UserRoles.NetworkMember) && currentUser.networkMemberIds.includes(task.networkMemberId)))\r\n displayActions = false;\r\n break;\r\n case AssignedTo.Internal:\r\n if (!await this.userService.isUserInRole(UserRoles.Collaborator))\r\n displayActions = false;\r\n break;\r\n case AssignedTo.Client:\r\n if (!(await this.userService.isUserInRole(UserRoles.Client) && currentUser.clientId == task.clientId))\r\n displayActions = false;\r\n break;\r\n }\r\n return displayActions;\r\n }\r\n\r\n getLastModifiedDate(items: any) {\r\n\r\n var lastModifiedDate = items.reduce((item, curr) => {\r\n return item.lastModified < curr.lastModified ? curr : item;\r\n }).lastModified;\r\n\r\n return \"Last refresh : \" + this.datePipe.transform(lastModifiedDate, \"medium\");\r\n }\r\n\r\n async getHangfireJobStartDateExecution(processName) {\r\n var lastModifiedDate = (await this.hangfireJobExecutionService.getJobInfo(processName).toPromise()).endDate;\r\n return \"Last refresh : \" + this.datePipe.transform(lastModifiedDate, \"medium\")\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ContactsClient } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContactsService {\r\n\r\n // constructor\r\n constructor(private contactsClient: ContactsClient) { }\r\n\r\n // get primary contact from account\r\n async GetPrimaryContactFromAccount(accountId: string) {\r\n return this.contactsClient.getPrimaryContactFromAccount(accountId).toPromise();\r\n }\r\n \r\n // get consultant contact from account\r\n async GetConsultantContactFromAccount(accountId: string) {\r\n return this.contactsClient.getConsultantContactFromAccount(accountId).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DocumentsClient } from '../web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentService {\r\n\r\n constructor(private documentClient: DocumentsClient) { }\r\n\r\n async getDocumentByPath(path: string) {\r\n return await this.documentClient.getDocumentByPath(path).toPromise();\r\n }\r\n async getAdminDbDocument(path: string, networkMemberIds: string[]) {\r\n return await this.documentClient.downloadFile(path, networkMemberIds).toPromise();\r\n }\r\n async geIllustrationtDocument(path: string) {\r\n return await this.documentClient.getIllustrationFile(path).toPromise();\r\n }\r\n async getAdminDbDocToPdf(path: string) {\r\n return await this.documentClient.getAdminDbDocumentInPdf(path).toPromise();\r\n }\r\n\r\n sanitizeFileName(path: string, fileType?: string) {\r\n var pathSplited = path.split('/');\r\n var path = pathSplited[pathSplited.length - 1];\r\n\r\n if (fileType) {\r\n path = path.split('.').slice(0, -1).join('.') + fileType\r\n }\r\n else {\r\n if (path.split('.')[1] == 'docx') {\r\n path = path.split('.').slice(0, -1).join('.') + '.pdf'\r\n }\r\n }\r\n return path;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { EmbeddedEnvelope } from 'src/app/models/EmbeddedEnvelope';\r\nimport { DocuSignClient } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ESignatureService {\r\n\r\n // constructor\r\n constructor(private docuSignClient: DocuSignClient) {\r\n }\r\n\r\n async getEmbeddedUrl(embeddedEnvelop: EmbeddedEnvelope) {\r\n\r\n let embeddedUrl = await this.docuSignClient.getDocumentToSignUrl(embeddedEnvelop.SignerName, embeddedEnvelop.SignerEmail, embeddedEnvelop.SignerClientId,\r\n embeddedEnvelop.ReturnUrl, embeddedEnvelop.DocPdf).toPromise();\r\n return embeddedUrl;\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport {\r\n FaqCategoriesClient,\r\n FaqCategoryDto,\r\n QuestionClient,\r\n QuestionDto,\r\n UpdateFaqCommand,\r\n UpdateQuestionCommand,\r\n} from \"../web-api-client\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FaqService {\r\n\r\n faqCategories: FaqCategoryDto[] = [];\r\n questions: QuestionDto[] = [];\r\n\r\n constructor(\r\n private faqCategoriesClient: FaqCategoriesClient,\r\n private questionClient: QuestionClient\r\n ) {}\r\n\r\n async getFaqCategories(): Promise {\r\n this.faqCategories = await this.faqCategoriesClient\r\n .getFaqCategories()\r\n .toPromise();\r\n return this.faqCategories;\r\n }\r\n\r\n async addFaqCategory(categoryName: string) {\r\n let newCategory = new FaqCategoryDto();\r\n newCategory.id = await this.faqCategoriesClient.addFaqCategory(categoryName, this.faqCategories.length + 1).toPromise();\r\n newCategory.name = categoryName;\r\n newCategory.sortOrder = this.faqCategories.length + 1;\r\n newCategory.questions = [];\r\n this.faqCategories.push(newCategory);\r\n }\r\n\r\n async updateFaqCateogry(command: FaqCategoryDto) {\r\n await this.faqCategoriesClient.updateFaqCategory(command).toPromise();\r\n }\r\n\r\n getQuestionsOfCategory(categoryId: string) {\r\n return this.faqCategories.find((c) => c.id == categoryId)?.questions;\r\n }\r\n\r\n async deleteFaqCategory(categoryId: string) {\r\n this.faqCategories = this.faqCategories.filter(c => c.id != categoryId);\r\n await this.faqCategoriesClient.deleteFaqCategory(categoryId).toPromise();\r\n }\r\n\r\n async getQuestions(): Promise {\r\n this.questions = await this.questionClient.getQuestions().toPromise();\r\n return this.questions;\r\n }\r\n\r\n async addQuestion(catId: string, title: string, answer: string) {\r\n let question = new QuestionDto();\r\n question.id = await this.faqCategoriesClient.addFaqQuestion(catId, title, answer).toPromise();\r\n question.title = title;\r\n question.answer = answer;\r\n this.questions.push(question);\r\n }\r\n\r\n async updateQuestion(categoryId: string, question: QuestionDto) {\r\n let command = new UpdateQuestionCommand();\r\n command.categoryId = categoryId;\r\n command.question = question;\r\n await this.questionClient.updateQuestion(command).toPromise();\r\n }\r\n\r\n async deleteQuestion(categoryId: string, questionId: string) {\r\n await this.questionClient.deleteQuestion(categoryId, questionId).toPromise();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FilterParameter } from \"src/app/models/FilterPrameter\";\r\nimport { FileParameter, FileUploadTaskDto, FileUploadTasksClient, SortingElement } from \"src/app/web-api-client\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\n\r\nexport class FileUploadTaskService {\r\n // hold the active task\r\n activeFileUploadTask: FileUploadTaskDto;\r\n processId: string;\r\n\r\n // constructor\r\n constructor(private fileUploadTaskClient: FileUploadTasksClient, private router: Router) { }\r\n\r\n // get the tasks per process for NETWORK MEMBER\r\n async getMyOrganization(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n // get the tasks by process\r\n return await this.fileUploadTaskClient\r\n .getMyOrganization(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize)\r\n .toPromise();\r\n }\r\n\r\n // get a task by Id\r\n async getFileUploadTaskById(id: string): Promise {\r\n if (!id) {\r\n return null;\r\n }\r\n\r\n try {\r\n // return the task\r\n return await this.fileUploadTaskClient.getById(id).toPromise();\r\n }\r\n catch (error) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // get a task by Id and set as active\r\n async getFileUploadTaskByIdAndSetActive(id: string): Promise {\r\n if (!id) {\r\n return null;\r\n }\r\n\r\n try {\r\n // save the task\r\n this.activeFileUploadTask = await this.fileUploadTaskClient.getById(id).toPromise();\r\n // return the task\r\n return this.activeFileUploadTask;\r\n }\r\n catch (error) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // upload a file\r\n async uploadFileToTask(task: FileUploadTaskDto, file: File, submit: boolean): Promise {\r\n let $parameter: FileParameter;\r\n\r\n //configure paramater\r\n $parameter = { data: new Blob([file]), fileName: file.name };\r\n //upload file\r\n var filePath = await this.fileUploadTaskClient\r\n .uploadFile(task.id, task.processId, submit, $parameter)\r\n .toPromise();\r\n return filePath;\r\n }\r\n\r\n async downloadFile(taskId: string, fileId: string, systemAttachment: boolean) {\r\n return await this.fileUploadTaskClient.downloadFile(taskId, fileId, systemAttachment).toPromise();\r\n }\r\n\r\n async downloadFileFromPath(taskId: string, filePath: string) {\r\n return await this.fileUploadTaskClient.downloadFileFromPath(taskId, filePath).toPromise();\r\n }\r\n\r\n async getTasks(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n return this.fileUploadTaskClient.getTasks(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize)\r\n .toPromise();\r\n }\r\n\r\n async getSubscribersEmails(taskId: string) {\r\n return this.fileUploadTaskClient.getTaskSubscribersByTaskId(taskId).toPromise();\r\n }\r\n async changeTaskStatus(id: string, status: number) {\r\n return await this.fileUploadTaskClient.changeTaskStatus(id, status).toPromise()\r\n }\r\n\r\n // remove a file\r\n /**\r\n removeFile(task: FileUploadTask, file: string | ArrayBuffer) {\r\n // get the files of the task\r\n let files = this.fileUploadTasks.find(t => t.Id == task.Id).Files;\r\n // remove the file from the list and save to the files of the task\r\n this.fileUploadTasks.find(t => t.Id == task.Id).Files = files.filter(f => f.content != file);\r\n }*/\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Attachment, CreateIllustrationCommand, CustomFile, IllustrationRequestDto, IllustrationRevisionDto, IllustrationsClient, SubscriberConfigDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IllustrationService {\r\n\r\n // constructor\r\n constructor(private illustrationsClient: IllustrationsClient, private router: Router) { }\r\n\r\n // get the illustrations of my organization\r\n async getMyOrganizationIllustrationsPaginated(clientName: string, status: TasksStatus,subscriberId: string, subscriberEmail:string, dueDate:number, startDate: Date, endDate: Date, pageNumber: number, pageSize: number): Promise {\r\n return await this.illustrationsClient.getMyOrganization(clientName, status, subscriberId, subscriberEmail,dueDate,startDate, endDate, pageNumber, pageSize).toPromise();\r\n }\r\n\r\n // get the illustrations with networkmemberId\r\n async getIllustrationsPaginated(networkMemberIds: string[], clientName: string, status: TasksStatus, subscriberId: string, subscriberEmail:string, dueDate : number, startDate: Date, endDate: Date, pageNumber: number, pageSize: number): Promise {\r\n return await this.illustrationsClient.findIllustration(networkMemberIds, clientName, status, subscriberId, subscriberEmail, dueDate, startDate, endDate, pageNumber, pageSize).toPromise();\r\n }\r\n\r\n // get the illustration by id\r\n async getIllustrationById(id: string): Promise {\r\n try {\r\n // return the illustration\r\n return await this.illustrationsClient.getIllustrationById(id).toPromise();\r\n }\r\n catch (error) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // method to create an illustration\r\n async createIllustration(ClientId: string | null,\r\n ClientName: string | null,\r\n AdditionalComment: string,\r\n InsuropeTypeOfBusiness: string,\r\n CountriesId: string[],\r\n NetworkMemberId:string,\r\n Files: CustomFile[],\r\n InsuropeSubscribers:SubscriberConfigDto[],\r\n NetworkMemberSubscribers:SubscriberConfigDto[]\r\n ) {\r\n // create the command\r\n let command = new CreateIllustrationCommand();\r\n command.clientId = ClientId;\r\n command.clientName = ClientName;\r\n command.additionalComment = AdditionalComment;\r\n command.insuropeTypeOfBusiness = InsuropeTypeOfBusiness;\r\n command.countriesId = CountriesId;\r\n command.networkMemberId = NetworkMemberId\r\n command.files = Files;\r\n command.networkMemberSubscribers = NetworkMemberSubscribers\r\n command.insuropeSubscribers = InsuropeSubscribers\r\n\r\n \r\n // create the illustration\r\n return await this.illustrationsClient.create(command).toPromise();\r\n }\r\n\r\n async downloadFileFromPath(taskId: string, filePath: string) {\r\n return await this.illustrationsClient.downloadFileFromPath(taskId, filePath).toPromise();\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GeneralTaskClient, GeneralTaskDto, SortingElement, TasksStatus } from '../web-api-client';\r\nimport { FilterParameter } from '../models/FilterPrameter';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class InformativeService {\r\n informatives: GeneralTaskDto[] = [];\r\n activeTask: GeneralTaskDto;\r\n constructor(private generalTaskClient: GeneralTaskClient, private router: Router) { }\r\n\r\n //network Member\r\n async getMyOrganization(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n return this.generalTaskClient.getMyOrganization(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize).toPromise();\r\n }\r\n\r\n async getMyOrganizationPaginated(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number) {\r\n this.informatives = await this.getMyOrganization(filterParameter, sortingFields, page, pageSize);\r\n this.informatives = this.informatives.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize);\r\n return this.informatives;\r\n }\r\n\r\n async getTasks(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n return this.generalTaskClient.getTasks(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize).toPromise();\r\n }\r\n\r\n async getInformative(id: string): Promise {\r\n try {\r\n this.activeTask = await this.generalTaskClient.getTasksById(id).toPromise();\r\n return this.activeTask;\r\n }\r\n catch (error) {\r\n if (error.status === 404) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n }\r\n\r\n async downloadFile(taskId: string, fileId: string, systemAttachment: boolean) {\r\n return await this.generalTaskClient.downloadFile(taskId, fileId, systemAttachment).toPromise();\r\n }\r\n\r\n async getSubscribersEmails(taskId: string) {\r\n return this.generalTaskClient.getTaskSubscribersByTaskId(taskId).toPromise();\r\n }\r\n\r\n async changeTaskStatus(id: string, status: TasksStatus) {\r\n return await this.generalTaskClient.changeTaskStatus(id, status).toPromise()\r\n }\r\n\r\n async downloadFileFromPath(taskId: string, filePath: string) {\r\n return await this.generalTaskClient.downloadFileFromPath(taskId, filePath).toPromise();\r\n }\r\n async ChangeDoneByNm(id:string, doneByNm:boolean){\r\n return await this.generalTaskClient.changeDoneByNm(id,doneByNm).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountDto, NetworkMembersClient } from 'src/app/web-api-client';\r\nimport * as _ from 'underscore';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NetworkMembersService {\r\n\r\n // constructor\r\n constructor(private networkMembersClient: NetworkMembersClient) { }\r\n\r\n // get the network members by name\r\n async getNetworkMembersByName(name: string, page: number, pageSize: number) {\r\n var networkMemberList: AccountDto[] = await this.networkMembersClient.findNetworkMembersByName(name, page, pageSize).toPromise();\r\n let sortedNetworkMemberList = _.sortBy(_.sortBy(networkMemberList, 'accountName'), 'isAdl');\r\n return sortedNetworkMemberList\r\n }\r\n\r\n // get the network member by id\r\n async getNetworkMemberById(id: string) {\r\n return await this.networkMembersClient.findNetworkMemberById(id).toPromise();\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nexport enum MessageType {\r\n Error,\r\n Success,\r\n Information,\r\n Warning,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PopupNotificationsService {\r\n\r\n constructor(private toastr: ToastrService) {}\r\n\r\n showMessage(\r\n message: string,\r\n type: MessageType,\r\n duration = 10000\r\n ): void {\r\n switch (type) {\r\n case MessageType.Error:\r\n this.toastr.error(message, \"Error\", {\r\n timeOut: duration\r\n });\r\n break;\r\n case MessageType.Warning:\r\n this.toastr.warning(message, \"Warning\", {\r\n timeOut: duration\r\n });\r\n break;\r\n case MessageType.Success:\r\n this.toastr.success(message, \"Success\", {\r\n timeOut: duration\r\n });\r\n break;\r\n default:\r\n this.toastr.info(message, \"Info\", {\r\n timeOut: duration\r\n });\r\n break;\r\n }\r\n }\r\n\r\n showServerErrorNotification(\r\n error: any\r\n ): void {\r\n switch (error.status) {\r\n case 0:\r\n this.showMessage('The connection to the server has failed, please contact insuropexchange@insurope.com if the error persists.', MessageType.Error);\r\n break;\r\n case 401:\r\n this.showMessage('An error occured on the authentication, please contact insuropexchange@insurope.com if the error persists.', MessageType.Error);\r\n break;\r\n case 400:\r\n this.showMessage('A validation error occured, please contact insuropexchange@insurope.com if the error persists.'.concat(error.message), MessageType.Error);\r\n break;\r\n case 404:\r\n case 504:\r\n this.showMessage(error.error.detail, MessageType.Error);\r\n break;\r\n case 403:\r\n this.showMessage('You are not authorized to perform this action, please contact insuropexchange@insurope.com if the error persists.', MessageType.Error);\r\n break;\r\n default:\r\n this.showMessage('An unexpected error occured, please contact insuropexchange@insurope.com if the error persists.', MessageType.Error);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { IdTokenClaims } from '@azure/msal-common';\r\nimport { Consent, UpdateUserConsentsCommand, UserDto, UsersClient } from '../web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n isUnauthorized: boolean = false;\r\n loadedUser: boolean = false;\r\n\r\n constructor(private userController: MsalService, private userClient: UsersClient) {\r\n }\r\n\r\n async getCurrentUser(): Promise {\r\n var localStorageUser = localStorage.getItem('user');\r\n if (localStorageUser && (!localStorageUser.includes(\"termsAndConditions\") || !localStorageUser.includes(\"privacyNotices\"))) {\r\n localStorage.removeItem(\"user\");\r\n localStorageUser = null;\r\n }\r\n\r\n var user = JSON.parse(localStorageUser) as UserDto;\r\n if (user && user.email.toLowerCase() != this.getCurrentUserEmail()) {\r\n user = null;\r\n }\r\n\r\n if (!user) {\r\n try {\r\n user = await (this.userClient.getCurrentUser().toPromise());\r\n if (user) {\r\n localStorage.setItem('user', JSON.stringify(user));\r\n this.loadedUser = true;\r\n }\r\n }\r\n catch (error) {\r\n this.isUnauthorized = true;\r\n this.loadedUser = true;\r\n }\r\n }\r\n else {\r\n this.loadedUser = true;\r\n }\r\n\r\n return user;\r\n }\r\n\r\n\r\n getCurrentUserEmail(): string {\r\n var token = this.userController.instance.getActiveAccount()?.idTokenClaims as IdTokenClaims\r\n return token?.emails[0]?.toLowerCase();\r\n }\r\n\r\n async getCurrentUserName() {\r\n var user = await this.getCurrentUser();\r\n return user?.firstName + \" \" + user?.lastName;\r\n }\r\n\r\n async getCurrentUserId() {\r\n var user = await this.getCurrentUser();\r\n return user.id;\r\n }\r\n\r\n async isUserInRole(role: string) {\r\n var user = await this.getCurrentUser();\r\n if (user) {\r\n return (user.roles.findIndex(c => c == role) > -1);\r\n }\r\n return false;\r\n }\r\n\r\n async isFinancial() {\r\n var user = await this.getCurrentUser();\r\n if (user) {\r\n return (user.isFinancial)\r\n }\r\n }\r\n\r\n async logout() {\r\n localStorage.setItem('user', null);\r\n this.userController.logoutRedirect({ account: this.userController.instance.getActiveAccount() });\r\n }\r\n\r\n async getAllUsersByNetworkMemberId(networkMemberId: string) {\r\n return await this.userClient.getUsersByNetworkMemberId(networkMemberId).toPromise();\r\n }\r\n\r\n async getAllUsersByConnectedNetworkMemberId() {\r\n return await this.userClient.getUsersByConnectedNetworkMemberId().toPromise();\r\n }\r\n\r\n async getUserById(id: string) {\r\n return await this.userClient.getUserById(id).toPromise();\r\n }\r\n\r\n async getAllUsers() {\r\n return await this.userClient.getAllUsers().toPromise();\r\n }\r\n\r\n async getPaginatedUsers(pageNumber, pageSize) {\r\n return await this.userClient.getUsers(pageNumber, pageSize).toPromise();\r\n }\r\n\r\n async getUserByIdByNM(id: string, nmIds: string[]) {\r\n return await this.userClient.getUserByIdByNM(id, nmIds).toPromise();\r\n }\r\n\r\n async logUserActivity(userAction: string, userId: string, email: string, path: string) {\r\n return await this.userClient.logUserActivity(userAction, userId, email, path).toPromise();\r\n }\r\n\r\n async getAllSubscriber(email: string) {\r\n return await this.userClient.getAllSubscribeUsers(email).toPromise();\r\n }\r\n\r\n async upsertUser(userId: string, privacyNotices: Consent, TermsAndConditions: Consent) {\r\n var updateConsentCommand = new UpdateUserConsentsCommand();\r\n\r\n updateConsentCommand.userId = userId;\r\n updateConsentCommand.privacyNotice = privacyNotices;\r\n updateConsentCommand.termsAndConditions = TermsAndConditions;\r\n\r\n return await this.userClient.updateUserConsents(updateConsentCommand).toPromise();\r\n }\r\n} \r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.18.2.0 (NJsonSchema v10.8.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 { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\nexport interface INotificationClient {\r\n dailyNotification(notificationFrequency: NotificationFrequency | undefined): Observable;\r\n notifyNm(id: string | undefined, processName: string | null | undefined, userType: string | null | undefined, sourceIds: string[]): Observable;\r\n illustrationNotification(illustrationId: string, emails: EmailContact): Observable;\r\n allNotifications(): Observable;\r\n notificationsByCommentId(notificationType: NotificationType): Observable;\r\n saveNotification(notification: NotificationDto): Observable;\r\n sendEmailNotification(emailMessage: EmailMessageDto): Observable;\r\n sendMultipleEmailNotification(emailMessages: EmailMessageDto[]): Observable;\r\n markNotificationsAsRead(command: UpdateEmailNotificationsStatusCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationClient implements INotificationClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n dailyNotification(notificationFrequency: NotificationFrequency | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/dailyNotification?\";\r\n if (notificationFrequency === null)\r\n throw new Error(\"The parameter 'notificationFrequency' cannot be null.\");\r\n else if (notificationFrequency !== undefined)\r\n url_ += \"notificationFrequency=\" + encodeURIComponent(\"\" + notificationFrequency) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDailyNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDailyNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDailyNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n notifyNm(id: string | undefined, processName: string | null | undefined, userType: string | null | undefined, sourceIds: string[]): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/NotifyUsers?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (processName !== undefined && processName !== null)\r\n url_ += \"processName=\" + encodeURIComponent(\"\" + processName) + \"&\";\r\n if (userType !== undefined && userType !== null)\r\n url_ += \"userType=\" + encodeURIComponent(\"\" + userType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(sourceIds);\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processNotifyNm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processNotifyNm(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processNotifyNm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n illustrationNotification(illustrationId: string, emails: EmailContact): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/IllustrationNotification/{illustrationId}\";\r\n if (illustrationId === undefined || illustrationId === null)\r\n throw new Error(\"The parameter 'illustrationId' must be defined.\");\r\n url_ = url_.replace(\"{illustrationId}\", encodeURIComponent(\"\" + illustrationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(emails);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processIllustrationNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processIllustrationNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processIllustrationNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n allNotifications(): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/AllNotifications\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAllNotifications(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAllNotifications(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAllNotifications(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(NotificationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n notificationsByCommentId(notificationType: NotificationType): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/NotificationsByType/{notificationType}\";\r\n if (notificationType === undefined || notificationType === null)\r\n throw new Error(\"The parameter 'notificationType' must be defined.\");\r\n url_ = url_.replace(\"{notificationType}\", encodeURIComponent(\"\" + notificationType));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processNotificationsByCommentId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processNotificationsByCommentId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processNotificationsByCommentId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(NotificationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveNotification(notification: NotificationDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/SaveNotification\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(notification);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSaveNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n sendEmailNotification(emailMessage: EmailMessageDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/SendEmailNotification\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(emailMessage);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSendEmailNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSendEmailNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSendEmailNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n sendMultipleEmailNotification(emailMessages: EmailMessageDto[]): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/SendMultipleEmailNotification\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(emailMessages);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSendMultipleEmailNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSendMultipleEmailNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSendMultipleEmailNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n markNotificationsAsRead(command: UpdateEmailNotificationsStatusCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/UpdateEmailNotificationsStatusAsync\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processMarkNotificationsAsRead(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processMarkNotificationsAsRead(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processMarkNotificationsAsRead(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IUsersClient {\r\n getUsers(pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n upsertUser(command: UpsertUserCommand): Observable;\r\n getUsersByNetworkMemberId(networkMemberId: string | null | undefined): Observable;\r\n getUsersByConnectedNetworkMemberId(): Observable;\r\n getUserById(id: string): Observable;\r\n getUserByIdByNM(id: string, nmIds: string[] | null | undefined): Observable;\r\n getCurrentUser(): Observable;\r\n updateUserConsents(command: UpdateUserConsentsCommand): Observable;\r\n getAllUsers(): Observable;\r\n logUserActivity(userAction: string | null | undefined, userId: string | null | undefined, email: string | null | undefined, path: string | null | undefined): Observable;\r\n getAllSubscribeUsers(email: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UsersClient implements IUsersClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getUsers(pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users?\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"pageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsertUser(command: UpsertUserCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Users\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsertUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsertUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsertUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUsersByNetworkMemberId(networkMemberId: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/user/getUsersByNetworkMemberId?\";\r\n if (networkMemberId !== undefined && networkMemberId !== null)\r\n url_ += \"networkMemberId=\" + encodeURIComponent(\"\" + networkMemberId) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUsersByNetworkMemberId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsersByNetworkMemberId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUsersByNetworkMemberId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUsersByConnectedNetworkMemberId(): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/user/getUsersByConnectedNetworkMemberId\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUsersByConnectedNetworkMemberId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsersByConnectedNetworkMemberId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUsersByConnectedNetworkMemberId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUserById(id: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/user/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUserById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUserByIdByNM(id: string, nmIds: string[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/userByNM/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (nmIds !== undefined && nmIds !== null)\r\n nmIds && nmIds.forEach(item => { url_ += \"nmIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUserByIdByNM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserByIdByNM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserByIdByNM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCurrentUser(): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/Me\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCurrentUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCurrentUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCurrentUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateUserConsents(command: UpdateUserConsentsCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/updateConsents\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateUserConsents(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateUserConsents(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateUserConsents(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAllUsers(): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/All\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAllUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAllUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAllUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n logUserActivity(userAction: string | null | undefined, userId: string | null | undefined, email: string | null | undefined, path: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/activity?\";\r\n if (userAction !== undefined && userAction !== null)\r\n url_ += \"UserAction=\" + encodeURIComponent(\"\" + userAction) + \"&\";\r\n if (userId !== undefined && userId !== null)\r\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n if (email !== undefined && email !== null)\r\n url_ += \"Email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"Path=\" + encodeURIComponent(\"\" + path) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processLogUserActivity(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLogUserActivity(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processLogUserActivity(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAllSubscribeUsers(email: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/getAllSubscribeUsers?\";\r\n if (email !== undefined && email !== null)\r\n 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 })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAllSubscribeUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAllSubscribeUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAllSubscribeUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IAccountsClient {\r\n getAccountById(id: string | null): Observable;\r\n findAccountsByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findAccountByName(clientId: string | null | undefined, clientName: string | null | undefined): Observable;\r\n findAccountXesByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findPooledAndProspectAccountsByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getTechnicalContactByExternalAccountNumber(externalAccountNumber: string | null | undefined): Observable;\r\n getAccountExcelFile(externalAccountNumber: string | null | undefined): Observable;\r\n getAccountExpansionPlan(accountId: string | undefined, sortOrder: string | null | undefined, sortColumn: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountsClient implements IAccountsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getAccountById(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAccountById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAccountById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAccountById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccountDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findAccountsByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/filter?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindAccountsByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindAccountsByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindAccountsByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findAccountByName(clientId: string | null | undefined, clientName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/findAccountByName?\";\r\n if (clientId !== undefined && clientId !== null)\r\n url_ += \"ClientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n if (clientName !== undefined && clientName !== null)\r\n url_ += \"ClientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindAccountByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindAccountByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindAccountByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccountDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findAccountXesByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/filter/extended?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindAccountXesByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindAccountXesByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindAccountXesByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findPooledAndProspectAccountsByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/pooledandprospect/filter?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindPooledAndProspectAccountsByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindPooledAndProspectAccountsByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindPooledAndProspectAccountsByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTechnicalContactByExternalAccountNumber(externalAccountNumber: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/technicalaccount?\";\r\n if (externalAccountNumber !== undefined && externalAccountNumber !== null)\r\n url_ += \"ExternalAccountNumber=\" + encodeURIComponent(\"\" + externalAccountNumber) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTechnicalContactByExternalAccountNumber(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTechnicalContactByExternalAccountNumber(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTechnicalContactByExternalAccountNumber(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TechnicalContact.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAccountExcelFile(externalAccountNumber: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/excel?\";\r\n if (externalAccountNumber !== undefined && externalAccountNumber !== null)\r\n url_ += \"ExternalAccountNumber=\" + encodeURIComponent(\"\" + externalAccountNumber) + \"&\";\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/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAccountExcelFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAccountExcelFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAccountExcelFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAccountExpansionPlan(accountId: string | undefined, sortOrder: string | null | undefined, sortColumn: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/expansionPlan?\";\r\n if (accountId === null)\r\n throw new Error(\"The parameter 'accountId' cannot be null.\");\r\n else if (accountId !== undefined)\r\n url_ += \"AccountId=\" + encodeURIComponent(\"\" + accountId) + \"&\";\r\n if (sortOrder !== undefined && sortOrder !== null)\r\n url_ += \"SortOrder=\" + encodeURIComponent(\"\" + sortOrder) + \"&\";\r\n if (sortColumn !== undefined && sortColumn !== null)\r\n url_ += \"SortColumn=\" + encodeURIComponent(\"\" + sortColumn) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAccountExpansionPlan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAccountExpansionPlan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAccountExpansionPlan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaginatedListOfExpansionPlanDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IBooleanTaskClient {\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getBooleanTaskById(taskId: string): Observable;\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n upsert(request: UpsertBooleanTaskDto): Observable;\r\n batchUpsert(tasks: UpsertBooleanTaskDto[]): Observable;\r\n update(request: UpdateBooleanTaskDto): Observable;\r\n downloadFile(taskId: string | undefined, fileId: string | undefined): Observable;\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable;\r\n getTaskSubscribersByTaskId(taskId: string): Observable;\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BooleanTaskClient implements IBooleanTaskClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/myOrganization?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMyOrganization(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMyOrganization(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetMyOrganization(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BooleanTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getBooleanTaskById(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/{taskId}\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetBooleanTaskById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBooleanTaskById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetBooleanTaskById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/filter?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTasks(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTasks(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTasks(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BooleanTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsert(request: UpsertBooleanTaskDto): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/upsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n batchUpsert(tasks: UpsertBooleanTaskDto[]): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/batchupsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(tasks);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processBatchUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processBatchUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processBatchUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(request: UpdateBooleanTaskDto): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFile(taskId: string | undefined, fileId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/Download?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/DownloadFromPath?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (attachmentPath !== undefined && attachmentPath !== null)\r\n url_ += \"AttachmentPath=\" + encodeURIComponent(\"\" + attachmentPath) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFileFromPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFileFromPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFileFromPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTaskSubscribersByTaskId(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/{taskId}/tasksubscribers\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTaskSubscribersByTaskId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTaskSubscribersByTaskId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTaskSubscribersByTaskId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/updateTaskStatus?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeTaskStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeTaskStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeTaskStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface ICommentsClient {\r\n create(taskId: string, customSubscriberProvider: string | null | undefined, processName: string | null | undefined, clientName: string | null | undefined, networkMemberName: string | null | undefined, country: string | null | undefined, periodEnd: string | null | undefined, files: FileParameter[] | null | undefined, content: string | null | undefined, tags: string[] | null | undefined, isDeleted: boolean | undefined, isEdited: boolean | undefined, isHtmlText: boolean | undefined, commentType: CommentType | null | undefined, notificationFrequency: NotificationFrequency | undefined, notificationType: NotificationType | undefined): Observable;\r\n get(taskId: string): Observable;\r\n getDiscussionTaskSubscribers(discussionId: string): Observable;\r\n getIllustrationTaskSubscribers(discussionId: string | undefined, clientSubscribers: TaskUserSusbscriptionDto[] | null | undefined, insuropeSubscribers: TaskUserSusbscriptionDto[] | null | undefined, networkMemberSubscribers: TaskUserSusbscriptionDto[] | null | undefined): Observable;\r\n delete(taskId: string | undefined, commentId: string | undefined): Observable;\r\n downloadFile(commentId: string | undefined, discussionId: string | undefined, fileId: string | undefined): Observable;\r\n update(taskId: string | undefined, lastExported: Date | undefined): Observable;\r\n addCurrentUserToSubscribers(taskId: string): Observable;\r\n addSubscriber(taskId: string | undefined, subscriberId: string | undefined, processId: string | null | undefined): Observable;\r\n deleteSubscriber(taskId: string | undefined, userId: string | undefined): Observable;\r\n getAllAttachments(discussionId: string): Observable;\r\n addCommentTags(tagNames: string[] | null | undefined, taskId: string | undefined, commentId: string | undefined): Observable;\r\n deleteCommentTags(tagId: string | undefined, taskId: string | undefined, commentId: string | undefined): Observable;\r\n getCommentTags(taskId: string | undefined, commentId: string | undefined): Observable;\r\n getDefaultTags(): Observable;\r\n upsertDefaultTag(tagName: string | null | undefined): Observable;\r\n getDiscussionTags(taskId: string | undefined, tagName: string | null | undefined): Observable;\r\n filterCommentsByTag(taskId: string | undefined, name: string | null | undefined): Observable;\r\n editComment(taskId: string | undefined, commentId: string | undefined, content: string | null | undefined, sendNotification: boolean | undefined, periodEnd: string | null | undefined, processName: string | null | undefined, clientName: string | null | undefined, networkMemberName: string | null | undefined, customSubscriberProvider: string | null | undefined, country: string | null | undefined, title: string | null | undefined, files: FileParameter[] | null | undefined): Observable;\r\n addExternalComment(externalComment: AddExternalCommentsCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommentsClient implements ICommentsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n create(taskId: string, customSubscriberProvider: string | null | undefined, processName: string | null | undefined, clientName: string | null | undefined, networkMemberName: string | null | undefined, country: string | null | undefined, periodEnd: string | null | undefined, files: FileParameter[] | null | undefined, content: string | null | undefined, tags: string[] | null | undefined, isDeleted: boolean | undefined, isEdited: boolean | undefined, isHtmlText: boolean | undefined, commentType: CommentType | null | undefined, notificationFrequency: NotificationFrequency | undefined, notificationType: NotificationType | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/{taskId}?\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n if (customSubscriberProvider !== undefined && customSubscriberProvider !== null)\r\n url_ += \"customSubscriberProvider=\" + encodeURIComponent(\"\" + customSubscriberProvider) + \"&\";\r\n if (processName !== undefined && processName !== null)\r\n url_ += \"processName=\" + encodeURIComponent(\"\" + processName) + \"&\";\r\n if (clientName !== undefined && clientName !== null)\r\n url_ += \"clientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\r\n if (networkMemberName !== undefined && networkMemberName !== null)\r\n url_ += \"networkMemberName=\" + encodeURIComponent(\"\" + networkMemberName) + \"&\";\r\n if (country !== undefined && country !== null)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n if (periodEnd !== undefined && periodEnd !== null)\r\n url_ += \"periodEnd=\" + encodeURIComponent(\"\" + periodEnd) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (files !== null && files !== undefined)\r\n files.forEach(item_ => content_.append(\"Files\", item_.data, item_.fileName ? item_.fileName : \"Files\") );\r\n if (content !== null && content !== undefined)\r\n content_.append(\"Content\", content.toString());\r\n if (tags !== null && tags !== undefined)\r\n tags.forEach(item_ => content_.append(\"Tags\", item_.toString()));\r\n if (isDeleted === null || isDeleted === undefined)\r\n throw new Error(\"The parameter 'isDeleted' cannot be null.\");\r\n else\r\n content_.append(\"IsDeleted\", isDeleted.toString());\r\n if (isEdited === null || isEdited === undefined)\r\n throw new Error(\"The parameter 'isEdited' cannot be null.\");\r\n else\r\n content_.append(\"IsEdited\", isEdited.toString());\r\n if (isHtmlText === null || isHtmlText === undefined)\r\n throw new Error(\"The parameter 'isHtmlText' cannot be null.\");\r\n else\r\n content_.append(\"IsHtmlText\", isHtmlText.toString());\r\n if (commentType !== null && commentType !== undefined)\r\n content_.append(\"CommentType\", commentType.toString());\r\n if (notificationFrequency === null || notificationFrequency === undefined)\r\n throw new Error(\"The parameter 'notificationFrequency' cannot be null.\");\r\n else\r\n content_.append(\"NotificationFrequency\", notificationFrequency.toString());\r\n if (notificationType === null || notificationType === undefined)\r\n throw new Error(\"The parameter 'notificationType' cannot be null.\");\r\n else\r\n content_.append(\"NotificationType\", notificationType.toString());\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 \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n get(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/{taskId}\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiscussionDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDiscussionTaskSubscribers(discussionId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/{discussionId}/tasksubscribers\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDiscussionTaskSubscribers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDiscussionTaskSubscribers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDiscussionTaskSubscribers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getIllustrationTaskSubscribers(discussionId: string | undefined, clientSubscribers: TaskUserSusbscriptionDto[] | null | undefined, insuropeSubscribers: TaskUserSusbscriptionDto[] | null | undefined, networkMemberSubscribers: TaskUserSusbscriptionDto[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/illustrationTasksubscribers?\";\r\n if (discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' cannot be null.\");\r\n else if (discussionId !== undefined)\r\n url_ += \"DiscussionId=\" + encodeURIComponent(\"\" + discussionId) + \"&\";\r\n if (clientSubscribers !== undefined && clientSubscribers !== null)\r\n clientSubscribers && clientSubscribers.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"ClientSubscribers[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (insuropeSubscribers !== undefined && insuropeSubscribers !== null)\r\n insuropeSubscribers && insuropeSubscribers.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"InsuropeSubscribers[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (networkMemberSubscribers !== undefined && networkMemberSubscribers !== null)\r\n networkMemberSubscribers && networkMemberSubscribers.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"NetworkMemberSubscribers[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetIllustrationTaskSubscribers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetIllustrationTaskSubscribers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetIllustrationTaskSubscribers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n delete(taskId: string | undefined, commentId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"taskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"commentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\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.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFile(commentId: string | undefined, discussionId: string | undefined, fileId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/Download?\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"CommentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\r\n if (discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' cannot be null.\");\r\n else if (discussionId !== undefined)\r\n url_ += \"DiscussionId=\" + encodeURIComponent(\"\" + discussionId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(taskId: string | undefined, lastExported: Date | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/update?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (lastExported === null)\r\n throw new Error(\"The parameter 'lastExported' cannot be null.\");\r\n else if (lastExported !== undefined)\r\n url_ += \"LastExported=\" + encodeURIComponent(lastExported ? \"\" + lastExported.toISOString() : \"\") + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addCurrentUserToSubscribers(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/addCurrentUserToSubscriber/{taskId}\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddCurrentUserToSubscribers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddCurrentUserToSubscribers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddCurrentUserToSubscribers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addSubscriber(taskId: string | undefined, subscriberId: string | undefined, processId: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/addSubscriber?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (subscriberId === null)\r\n throw new Error(\"The parameter 'subscriberId' cannot be null.\");\r\n else if (subscriberId !== undefined)\r\n url_ += \"SubscriberId=\" + encodeURIComponent(\"\" + subscriberId) + \"&\";\r\n if (processId !== undefined && processId !== null)\r\n url_ += \"ProcessId=\" + encodeURIComponent(\"\" + processId) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddSubscriber(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddSubscriber(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddSubscriber(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteSubscriber(taskId: string | undefined, userId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/deleteSubscriber?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\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.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteSubscriber(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteSubscriber(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteSubscriber(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAllAttachments(discussionId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/{discussionId}/allAttchments\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAllAttachments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAllAttachments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAllAttachments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AttachmentDTO.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addCommentTags(tagNames: string[] | null | undefined, taskId: string | undefined, commentId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/addTagsToComment?\";\r\n if (tagNames !== undefined && tagNames !== null)\r\n tagNames && tagNames.forEach(item => { url_ += \"TagNames=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"CommentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddCommentTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddCommentTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddCommentTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentTagDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteCommentTags(tagId: string | undefined, taskId: string | undefined, commentId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/deleteTagsFromComment?\";\r\n if (tagId === null)\r\n throw new Error(\"The parameter 'tagId' cannot be null.\");\r\n else if (tagId !== undefined)\r\n url_ += \"TagId=\" + encodeURIComponent(\"\" + tagId) + \"&\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"CommentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteCommentTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteCommentTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteCommentTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCommentTags(taskId: string | undefined, commentId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/getCommentTags?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"CommentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCommentTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCommentTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCommentTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentTagDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDefaultTags(): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/getDefaultTags\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDefaultTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDefaultTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDefaultTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentTagDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsertDefaultTag(tagName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/upsertDefaultTag?\";\r\n if (tagName !== undefined && tagName !== null)\r\n url_ += \"tagName=\" + encodeURIComponent(\"\" + tagName) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsertDefaultTag(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsertDefaultTag(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsertDefaultTag(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentTagDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDiscussionTags(taskId: string | undefined, tagName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/getDiscussionTags?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (tagName !== undefined && tagName !== null)\r\n url_ += \"TagName=\" + encodeURIComponent(\"\" + tagName) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDiscussionTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDiscussionTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDiscussionTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentTagDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n filterCommentsByTag(taskId: string | undefined, name: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/FilterCommentsByTag?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFilterCommentsByTag(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFilterCommentsByTag(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFilterCommentsByTag(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n editComment(taskId: string | undefined, commentId: string | undefined, content: string | null | undefined, sendNotification: boolean | undefined, periodEnd: string | null | undefined, processName: string | null | undefined, clientName: string | null | undefined, networkMemberName: string | null | undefined, customSubscriberProvider: string | null | undefined, country: string | null | undefined, title: string | null | undefined, files: FileParameter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/updateComment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (taskId === null || taskId === undefined)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else\r\n content_.append(\"TaskId\", taskId.toString());\r\n if (commentId === null || commentId === undefined)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else\r\n content_.append(\"CommentId\", commentId.toString());\r\n if (content !== null && content !== undefined)\r\n content_.append(\"Content\", content.toString());\r\n if (sendNotification === null || sendNotification === undefined)\r\n throw new Error(\"The parameter 'sendNotification' cannot be null.\");\r\n else\r\n content_.append(\"SendNotification\", sendNotification.toString());\r\n if (periodEnd !== null && periodEnd !== undefined)\r\n content_.append(\"PeriodEnd\", periodEnd.toString());\r\n if (processName !== null && processName !== undefined)\r\n content_.append(\"ProcessName\", processName.toString());\r\n if (clientName !== null && clientName !== undefined)\r\n content_.append(\"ClientName\", clientName.toString());\r\n if (networkMemberName !== null && networkMemberName !== undefined)\r\n content_.append(\"NetworkMemberName\", networkMemberName.toString());\r\n if (customSubscriberProvider !== null && customSubscriberProvider !== undefined)\r\n content_.append(\"CustomSubscriberProvider\", customSubscriberProvider.toString());\r\n if (country !== null && country !== undefined)\r\n content_.append(\"Country\", country.toString());\r\n if (title !== null && title !== undefined)\r\n content_.append(\"Title\", title.toString());\r\n if (files !== null && files !== undefined)\r\n files.forEach(item_ => content_.append(\"Files\", item_.data, item_.fileName ? item_.fileName : \"Files\") );\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 \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processEditComment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processEditComment(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processEditComment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addExternalComment(externalComment: AddExternalCommentsCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/AddExternalComment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(externalComment);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddExternalComment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddExternalComment(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddExternalComment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IContactsClient {\r\n getPrimaryContactFromAccount(accountId: string | null): Observable;\r\n getConsultantContactFromAccount(accountId: string | null): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContactsClient implements IContactsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getPrimaryContactFromAccount(accountId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Contacts/Account/{accountId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetPrimaryContactFromAccount(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetPrimaryContactFromAccount(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetPrimaryContactFromAccount(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContactDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getConsultantContactFromAccount(accountId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Contacts/MainConsultant/{accountId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetConsultantContactFromAccount(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetConsultantContactFromAccount(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetConsultantContactFromAccount(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContactDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface ICountriesClient {\r\n getCountries(): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CountriesClient implements ICountriesClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getCountries(): Observable {\r\n let url_ = this.baseUrl + \"/api/Countries\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCountries(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCountries(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCountries(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CountryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface ICrmAttachmentsClient {\r\n getCrmAccountAttachments(accountId: string | null, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getCrmAccountContractualAttachments(accountId: string | null, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getCrmAccountImportantAttachments(accountId: string | null, type: string | null): Observable;\r\n downloadCrmAttachment(attachmentId: string | null): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CrmAttachmentsClient implements ICrmAttachmentsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getCrmAccountAttachments(accountId: string | null, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/CrmAttachments/filter/{accountId}?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCrmAccountAttachments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCrmAccountAttachments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCrmAccountAttachments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaginatedListOfCrmAttachmentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCrmAccountContractualAttachments(accountId: string | null, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/CrmAttachments/filter/{accountId}/contractual?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCrmAccountContractualAttachments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCrmAccountContractualAttachments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCrmAccountContractualAttachments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaginatedListOfCrmAttachmentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCrmAccountImportantAttachments(accountId: string | null, type: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/CrmAttachments/filter/{accountId}/important/{type}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCrmAccountImportantAttachments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCrmAccountImportantAttachments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCrmAccountImportantAttachments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CrmAttachmentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadCrmAttachment(attachmentId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/CrmAttachments/download/{attachmentId}\";\r\n if (attachmentId === undefined || attachmentId === null)\r\n throw new Error(\"The parameter 'attachmentId' must be defined.\");\r\n url_ = url_.replace(\"{attachmentId}\", encodeURIComponent(\"\" + attachmentId));\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/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadCrmAttachment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadCrmAttachment(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadCrmAttachment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IDocumentsClient {\r\n downloadFile(path: string | null | undefined, networkMemberIds: string[] | null | undefined): Observable;\r\n getIllustrationFile(path: string | null | undefined): Observable;\r\n getAdminDbDocumentInPdf(path: string | null | undefined): Observable;\r\n getDocumentByPath(path: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentsClient implements IDocumentsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n downloadFile(path: string | null | undefined, networkMemberIds: string[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Documents/AdminDb?\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"Path=\" + encodeURIComponent(\"\" + path) + \"&\";\r\n if (networkMemberIds !== undefined && networkMemberIds !== null)\r\n networkMemberIds && networkMemberIds.forEach(item => { url_ += \"NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\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/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getIllustrationFile(path: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Documents/getIllustrationFile?\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"path=\" + encodeURIComponent(\"\" + path) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetIllustrationFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetIllustrationFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetIllustrationFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAdminDbDocumentInPdf(path: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Documents/getAdminDbDocumentInPdf?\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"path=\" + encodeURIComponent(\"\" + path) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAdminDbDocumentInPdf(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAdminDbDocumentInPdf(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAdminDbDocumentInPdf(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDocumentByPath(path: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Documents/getDocumentByPath?\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"path=\" + encodeURIComponent(\"\" + path) + \"&\";\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/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDocumentByPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDocumentByPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDocumentByPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IDocuSignClient {\r\n getDocumentToSignUrl(signerName: string | null | undefined, signerEmail: string | null | undefined, signerClientId: string | null | undefined, returnUrl: string | null | undefined, docPdfFile: FileParameter | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocuSignClient implements IDocuSignClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getDocumentToSignUrl(signerName: string | null | undefined, signerEmail: string | null | undefined, signerClientId: string | null | undefined, returnUrl: string | null | undefined, docPdfFile: FileParameter | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/DocuSign?\";\r\n if (signerName !== undefined && signerName !== null)\r\n url_ += \"signerName=\" + encodeURIComponent(\"\" + signerName) + \"&\";\r\n if (signerEmail !== undefined && signerEmail !== null)\r\n url_ += \"signerEmail=\" + encodeURIComponent(\"\" + signerEmail) + \"&\";\r\n if (signerClientId !== undefined && signerClientId !== null)\r\n url_ += \"signerClientId=\" + encodeURIComponent(\"\" + signerClientId) + \"&\";\r\n if (returnUrl !== undefined && returnUrl !== null)\r\n url_ += \"returnUrl=\" + encodeURIComponent(\"\" + returnUrl) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (docPdfFile !== null && docPdfFile !== undefined)\r\n content_.append(\"docPdfFile\", docPdfFile.data, docPdfFile.fileName ? docPdfFile.fileName : \"docPdfFile\");\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 \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDocumentToSignUrl(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDocumentToSignUrl(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDocumentToSignUrl(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IFaqCategoriesClient {\r\n getFaqCategories(): Observable;\r\n addFaqCategory(name: string | null | undefined, sortOrder: number | undefined): Observable;\r\n deleteFaqCategory(id: string | undefined): Observable;\r\n addFaqQuestion(categoryId: string | undefined, title: string | null | undefined, answer: string | null | undefined): Observable;\r\n updateFaqCategory(command: UpdateFaqCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FaqCategoriesClient implements IFaqCategoriesClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getFaqCategories(): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFaqCategories(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFaqCategories(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetFaqCategories(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FaqCategoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addFaqCategory(name: string | null | undefined, sortOrder: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (sortOrder === null)\r\n throw new Error(\"The parameter 'sortOrder' cannot be null.\");\r\n else if (sortOrder !== undefined)\r\n url_ += \"sortOrder=\" + encodeURIComponent(\"\" + sortOrder) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddFaqCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddFaqCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddFaqCategory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteFaqCategory(id: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\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.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteFaqCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteFaqCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteFaqCategory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addFaqQuestion(categoryId: string | undefined, title: string | null | undefined, answer: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories/question?\";\r\n if (categoryId === null)\r\n throw new Error(\"The parameter 'categoryId' cannot be null.\");\r\n else if (categoryId !== undefined)\r\n url_ += \"CategoryId=\" + encodeURIComponent(\"\" + categoryId) + \"&\";\r\n if (title !== undefined && title !== null)\r\n url_ += \"Title=\" + encodeURIComponent(\"\" + title) + \"&\";\r\n if (answer !== undefined && answer !== null)\r\n url_ += \"Answer=\" + encodeURIComponent(\"\" + answer) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddFaqQuestion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddFaqQuestion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddFaqQuestion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateFaqCategory(command: UpdateFaqCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateFaqCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateFaqCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateFaqCategory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IFileUploadTasksClient {\r\n getById(id: string): Observable;\r\n getBySourceId(sourceId: string | null, processId: string | null | undefined): Observable;\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n uploadFile(taskId: string, processId: string | null | undefined, submit: boolean | undefined, file: FileParameter | null | undefined): Observable;\r\n downloadFile(taskId: string | undefined, fileId: string | undefined, systemAttachment: boolean | undefined): Observable;\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable;\r\n upsert(command: UpsertFileUploadTaskCommand): Observable;\r\n batchUpsert(command: UpsertFileUploadTaskCommand[]): Observable;\r\n getTaskSubscribersByTaskId(taskId: string): Observable;\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable;\r\n copyRemainingAccountInputDoublons(accountYear: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileUploadTasksClient implements IFileUploadTasksClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getById(id: string): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/{Id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{Id}\", encodeURIComponent(\"\" + id));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FileUploadTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getBySourceId(sourceId: string | null, processId: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/sourceId/{sourceId}?\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n if (processId !== undefined && processId !== null)\r\n url_ += \"processId=\" + encodeURIComponent(\"\" + processId) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetBySourceId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBySourceId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetBySourceId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FileUploadTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/myOrganization?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMyOrganization(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMyOrganization(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetMyOrganization(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FileUploadTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/filter?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTasks(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTasks(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTasks(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FileUploadTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n uploadFile(taskId: string, processId: string | null | undefined, submit: boolean | undefined, file: FileParameter | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/{taskId}?\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n if (processId !== undefined && processId !== null)\r\n url_ += \"processId=\" + encodeURIComponent(\"\" + processId) + \"&\";\r\n if (submit === null)\r\n throw new Error(\"The parameter 'submit' cannot be null.\");\r\n else if (submit !== undefined)\r\n url_ += \"submit=\" + encodeURIComponent(\"\" + submit) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file !== null && file !== undefined)\r\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\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 \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUploadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUploadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUploadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFile(taskId: string | undefined, fileId: string | undefined, systemAttachment: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/Download?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\r\n if (systemAttachment === null)\r\n throw new Error(\"The parameter 'systemAttachment' cannot be null.\");\r\n else if (systemAttachment !== undefined)\r\n url_ += \"SystemAttachment=\" + encodeURIComponent(\"\" + systemAttachment) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/DownloadFromPath?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (attachmentPath !== undefined && attachmentPath !== null)\r\n url_ += \"AttachmentPath=\" + encodeURIComponent(\"\" + attachmentPath) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFileFromPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFileFromPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFileFromPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsert(command: UpsertFileUploadTaskCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n batchUpsert(command: UpsertFileUploadTaskCommand[]): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/batchUpsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processBatchUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processBatchUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processBatchUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTaskSubscribersByTaskId(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/{taskId}/tasksubscribers\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTaskSubscribersByTaskId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTaskSubscribersByTaskId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTaskSubscribersByTaskId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/updateTaskStatus?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeTaskStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeTaskStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeTaskStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n copyRemainingAccountInputDoublons(accountYear: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/CopyRemainingAccountInputDoublons?\";\r\n if (accountYear !== undefined && accountYear !== null)\r\n url_ += \"accountYear=\" + encodeURIComponent(\"\" + accountYear) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCopyRemainingAccountInputDoublons(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCopyRemainingAccountInputDoublons(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCopyRemainingAccountInputDoublons(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IGeneralTaskClient {\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getTasksById(taskId: string): Observable;\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n downloadFile(taskId: string | undefined, fileId: string | undefined, systemAttachment: boolean | undefined): Observable;\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable;\r\n upsert(command: UpsertGeneralTaskCommand): Observable;\r\n batchUpsert(tasks: UpsertGeneralTaskCommand[]): Observable;\r\n getTaskSubscribersByTaskId(taskId: string): Observable;\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable;\r\n changeDoneByNm(id: string | undefined, doneByNm: boolean | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GeneralTaskClient implements IGeneralTaskClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/myOrganization?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMyOrganization(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMyOrganization(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetMyOrganization(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(GeneralTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTasksById(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/{taskId}\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTasksById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTasksById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTasksById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GeneralTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/filter?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTasks(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTasks(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTasks(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(GeneralTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFile(taskId: string | undefined, fileId: string | undefined, systemAttachment: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/Download?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\r\n if (systemAttachment === null)\r\n throw new Error(\"The parameter 'systemAttachment' cannot be null.\");\r\n else if (systemAttachment !== undefined)\r\n url_ += \"SystemAttachment=\" + encodeURIComponent(\"\" + systemAttachment) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/downloadFromPath?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (attachmentPath !== undefined && attachmentPath !== null)\r\n url_ += \"AttachmentPath=\" + encodeURIComponent(\"\" + attachmentPath) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFileFromPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFileFromPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFileFromPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsert(command: UpsertGeneralTaskCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n batchUpsert(tasks: UpsertGeneralTaskCommand[]): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/batchupsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(tasks);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processBatchUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processBatchUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processBatchUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTaskSubscribersByTaskId(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/{taskId}/tasksubscribers\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTaskSubscribersByTaskId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTaskSubscribersByTaskId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTaskSubscribersByTaskId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/updateTaskStatus?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeTaskStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeTaskStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeTaskStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeDoneByNm(id: string | undefined, doneByNm: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/changeDoneByNm?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (doneByNm === null)\r\n throw new Error(\"The parameter 'doneByNm' cannot be null.\");\r\n else if (doneByNm !== undefined)\r\n url_ += \"DoneByNm=\" + encodeURIComponent(\"\" + doneByNm) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeDoneByNm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeDoneByNm(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeDoneByNm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IHangfireJobClient {\r\n updateJob(command: UpdateHangfireJobCommand): Observable;\r\n getJobInfo(processName: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HangfireJobClient implements IHangfireJobClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n updateJob(command: UpdateHangfireJobCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/HangfireJob/upsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateJob(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateJob(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateJob(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getJobInfo(processName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/HangfireJob/getJobInfo?\";\r\n if (processName !== undefined && processName !== null)\r\n url_ += \"processName=\" + encodeURIComponent(\"\" + processName) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetJobInfo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetJobInfo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetJobInfo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = JobExecutionInfoDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IIllustrationsClient {\r\n getIllustrationById(id: string | null): Observable;\r\n getMyOrganization(clientName: string | null | undefined, status: TasksStatus | null | undefined, subscriberId: string | null | undefined, subscriberEmail: string | null | undefined, dueDate: number | null | undefined, startDate: Date | null | undefined, endDate: Date | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findIllustration(networkMemberIds: string[] | undefined, clientName: string | null | undefined, status: TasksStatus | null | undefined, subscriberId: string | null | undefined, subscriberEmail: string | null | undefined, dueDate: number | null | undefined, startDate: Date | null | undefined, endDate: Date | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n create(command: CreateIllustrationCommand): Observable;\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IllustrationsClient implements IIllustrationsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getIllustrationById(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetIllustrationById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetIllustrationById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetIllustrationById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = IllustrationRequestDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getMyOrganization(clientName: string | null | undefined, status: TasksStatus | null | undefined, subscriberId: string | null | undefined, subscriberEmail: string | null | undefined, dueDate: number | null | undefined, startDate: Date | null | undefined, endDate: Date | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/myOrganization?\";\r\n if (clientName !== undefined && clientName !== null)\r\n url_ += \"ClientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\r\n if (status !== undefined && status !== null)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n if (subscriberId !== undefined && subscriberId !== null)\r\n url_ += \"SubscriberId=\" + encodeURIComponent(\"\" + subscriberId) + \"&\";\r\n if (subscriberEmail !== undefined && subscriberEmail !== null)\r\n url_ += \"SubscriberEmail=\" + encodeURIComponent(\"\" + subscriberEmail) + \"&\";\r\n if (dueDate !== undefined && dueDate !== null)\r\n url_ += \"DueDate=\" + encodeURIComponent(\"\" + dueDate) + \"&\";\r\n if (startDate !== undefined && startDate !== null)\r\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toISOString() : \"\") + \"&\";\r\n if (endDate !== undefined && endDate !== null)\r\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toISOString() : \"\") + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMyOrganization(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMyOrganization(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetMyOrganization(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(IllustrationRequestDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findIllustration(networkMemberIds: string[] | undefined, clientName: string | null | undefined, status: TasksStatus | null | undefined, subscriberId: string | null | undefined, subscriberEmail: string | null | undefined, dueDate: number | null | undefined, startDate: Date | null | undefined, endDate: Date | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/filter?\";\r\n if (networkMemberIds === null)\r\n throw new Error(\"The parameter 'networkMemberIds' cannot be null.\");\r\n else if (networkMemberIds !== undefined)\r\n networkMemberIds && networkMemberIds.forEach(item => { url_ += \"NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (clientName !== undefined && clientName !== null)\r\n url_ += \"ClientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\r\n if (status !== undefined && status !== null)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n if (subscriberId !== undefined && subscriberId !== null)\r\n url_ += \"SubscriberId=\" + encodeURIComponent(\"\" + subscriberId) + \"&\";\r\n if (subscriberEmail !== undefined && subscriberEmail !== null)\r\n url_ += \"SubscriberEmail=\" + encodeURIComponent(\"\" + subscriberEmail) + \"&\";\r\n if (dueDate !== undefined && dueDate !== null)\r\n url_ += \"DueDate=\" + encodeURIComponent(\"\" + dueDate) + \"&\";\r\n if (startDate !== undefined && startDate !== null)\r\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toISOString() : \"\") + \"&\";\r\n if (endDate !== undefined && endDate !== null)\r\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toISOString() : \"\") + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindIllustration(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindIllustration(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindIllustration(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(IllustrationRequestDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n create(command: CreateIllustrationCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/DownloadFromPath?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (attachmentPath !== undefined && attachmentPath !== null)\r\n url_ += \"AttachmentPath=\" + encodeURIComponent(\"\" + attachmentPath) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFileFromPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFileFromPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFileFromPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface INetworkMembersClient {\r\n findNetworkMembersByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findNetworkMemberById(id: string | null): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NetworkMembersClient implements INetworkMembersClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n findNetworkMembersByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/NetworkMembers/filter?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindNetworkMembersByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindNetworkMembersByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindNetworkMembersByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findNetworkMemberById(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/NetworkMembers/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindNetworkMemberById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindNetworkMemberById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindNetworkMemberById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccountDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IQuestionClient {\r\n getQuestions(): Observable;\r\n addQuestion(title: string | null | undefined, answer: string | null | undefined): Observable;\r\n deleteQuestion(categoryId: string | undefined, questionId: string | undefined): Observable;\r\n updateQuestion(command: UpdateQuestionCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuestionClient implements IQuestionClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getQuestions(): Observable {\r\n let url_ = this.baseUrl + \"/api/Question\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetQuestions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetQuestions(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetQuestions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(QuestionDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addQuestion(title: string | null | undefined, answer: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Question?\";\r\n if (title !== undefined && title !== null)\r\n url_ += \"title=\" + encodeURIComponent(\"\" + title) + \"&\";\r\n if (answer !== undefined && answer !== null)\r\n url_ += \"answer=\" + encodeURIComponent(\"\" + answer) + \"&\";\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddQuestion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddQuestion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddQuestion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteQuestion(categoryId: string | undefined, questionId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Question?\";\r\n if (categoryId === null)\r\n throw new Error(\"The parameter 'categoryId' cannot be null.\");\r\n else if (categoryId !== undefined)\r\n url_ += \"CategoryId=\" + encodeURIComponent(\"\" + categoryId) + \"&\";\r\n if (questionId === null)\r\n throw new Error(\"The parameter 'questionId' cannot be null.\");\r\n else if (questionId !== undefined)\r\n url_ += \"QuestionId=\" + encodeURIComponent(\"\" + questionId) + \"&\";\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.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteQuestion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteQuestion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteQuestion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateQuestion(command: UpdateQuestionCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Question/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateQuestion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateQuestion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateQuestion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IReportingClient {\r\n getToken(reportName: string | null | undefined): Observable;\r\n getReportsName(): Observable;\r\n getReportAccessRolesByCategory(category: SettingCategory): Observable;\r\n getSettingsByName(name: string | null): Observable;\r\n createSettings(newReportSettings: NewPowerBiReportSettings): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportingClient implements IReportingClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getToken(reportName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/token?\";\r\n if (reportName !== undefined && reportName !== null)\r\n url_ += \"ReportName=\" + encodeURIComponent(\"\" + reportName) + \"&\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EmbedParamsDTO.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getReportsName(): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/reports\";\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetReportsName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetReportsName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetReportsName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PowerBiReportDetails.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getReportAccessRolesByCategory(category: SettingCategory): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/settings/category/{category}\";\r\n if (category === undefined || category === null)\r\n throw new Error(\"The parameter 'category' must be defined.\");\r\n url_ = url_.replace(\"{category}\", encodeURIComponent(\"\" + category));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetReportAccessRolesByCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetReportAccessRolesByCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetReportAccessRolesByCategory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReportAccessRoles.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getSettingsByName(name: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/settings/name/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name));\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.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetSettingsByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetSettingsByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetSettingsByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportAccessRoles.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createSettings(newReportSettings: NewPowerBiReportSettings): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/settings/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(newReportSettings);\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.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreateSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportAccessRoles.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n/** Represents a void type, since Void is not a valid return type in C#. */\r\nexport class Unit implements IUnit {\r\n\r\n constructor(data?: IUnit) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): Unit {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Unit();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\n/** Represents a void type, since Void is not a valid return type in C#. */\r\nexport interface IUnit {\r\n}\r\n\r\nexport enum NotificationFrequency {\r\n Daily = 1,\r\n Weekly = 2,\r\n Instantly = 3,\r\n Scheduled = 4,\r\n Ignore = 5,\r\n}\r\n\r\nexport class EmailContact implements IEmailContact {\r\n illustrationRevisionId?: string;\r\n toEmails?: string[];\r\n ccEmails?: string[];\r\n\r\n constructor(data?: IEmailContact) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.illustrationRevisionId = _data[\"illustrationRevisionId\"];\r\n if (Array.isArray(_data[\"toEmails\"])) {\r\n this.toEmails = [] as any;\r\n for (let item of _data[\"toEmails\"])\r\n this.toEmails!.push(item);\r\n }\r\n if (Array.isArray(_data[\"ccEmails\"])) {\r\n this.ccEmails = [] as any;\r\n for (let item of _data[\"ccEmails\"])\r\n this.ccEmails!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailContact {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailContact();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"illustrationRevisionId\"] = this.illustrationRevisionId;\r\n if (Array.isArray(this.toEmails)) {\r\n data[\"toEmails\"] = [];\r\n for (let item of this.toEmails)\r\n data[\"toEmails\"].push(item);\r\n }\r\n if (Array.isArray(this.ccEmails)) {\r\n data[\"ccEmails\"] = [];\r\n for (let item of this.ccEmails)\r\n data[\"ccEmails\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailContact {\r\n illustrationRevisionId?: string;\r\n toEmails?: string[];\r\n ccEmails?: string[];\r\n}\r\n\r\nexport abstract class AuditableEntity implements IAuditableEntity {\r\n created?: Date;\r\n createdBy?: string | undefined;\r\n lastModified?: Date | undefined;\r\n lastModifiedBy?: string | undefined;\r\n\r\n constructor(data?: IAuditableEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.lastModified = _data[\"lastModified\"] ? new Date(_data[\"lastModified\"].toString()) : undefined;\r\n this.lastModifiedBy = _data[\"lastModifiedBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuditableEntity {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'AuditableEntity' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"lastModified\"] = this.lastModified ? this.lastModified.toISOString() : undefined;\r\n data[\"lastModifiedBy\"] = this.lastModifiedBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAuditableEntity {\r\n created?: Date;\r\n createdBy?: string | undefined;\r\n lastModified?: Date | undefined;\r\n lastModifiedBy?: string | undefined;\r\n}\r\n\r\nexport class NotificationDto extends AuditableEntity implements INotificationDto {\r\n id?: string;\r\n subject?: string;\r\n message?: string;\r\n status?: NotificationStatus;\r\n discussionId?: string;\r\n commentId?: string;\r\n processId?: string | undefined;\r\n notificationFrequency?: NotificationFrequency;\r\n notificationType?: NotificationType;\r\n emailMessage?: EmailMessageDto | undefined;\r\n userStatus?: UserStatus | undefined;\r\n\r\n constructor(data?: INotificationDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.subject = _data[\"subject\"];\r\n this.message = _data[\"message\"];\r\n this.status = _data[\"status\"];\r\n this.discussionId = _data[\"discussionId\"];\r\n this.commentId = _data[\"commentId\"];\r\n this.processId = _data[\"processId\"];\r\n this.notificationFrequency = _data[\"notificationFrequency\"];\r\n this.notificationType = _data[\"notificationType\"];\r\n this.emailMessage = _data[\"emailMessage\"] ? EmailMessageDto.fromJS(_data[\"emailMessage\"]) : undefined;\r\n this.userStatus = _data[\"userStatus\"] ? UserStatus.fromJS(_data[\"userStatus\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"subject\"] = this.subject;\r\n data[\"message\"] = this.message;\r\n data[\"status\"] = this.status;\r\n data[\"discussionId\"] = this.discussionId;\r\n data[\"commentId\"] = this.commentId;\r\n data[\"processId\"] = this.processId;\r\n data[\"notificationFrequency\"] = this.notificationFrequency;\r\n data[\"notificationType\"] = this.notificationType;\r\n data[\"emailMessage\"] = this.emailMessage ? this.emailMessage.toJSON() : undefined;\r\n data[\"userStatus\"] = this.userStatus ? this.userStatus.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationDto extends IAuditableEntity {\r\n id?: string;\r\n subject?: string;\r\n message?: string;\r\n status?: NotificationStatus;\r\n discussionId?: string;\r\n commentId?: string;\r\n processId?: string | undefined;\r\n notificationFrequency?: NotificationFrequency;\r\n notificationType?: NotificationType;\r\n emailMessage?: EmailMessageDto | undefined;\r\n userStatus?: UserStatus | undefined;\r\n}\r\n\r\nexport enum NotificationStatus {\r\n New = 0,\r\n Read = 1,\r\n Unread = 2,\r\n Deleted = 3,\r\n Sent = 4,\r\n}\r\n\r\nexport enum NotificationType {\r\n EmailNotification = 0,\r\n WebNotification = 1,\r\n SmsNotification = 2,\r\n}\r\n\r\nexport class EmailMessageDto implements IEmailMessageDto {\r\n recipientsId?: string[];\r\n recipientsEmail?: string[];\r\n ccRecipientsId?: string[];\r\n ccRecipientsEmails?: string[];\r\n subject?: string;\r\n introduction?: string;\r\n buttonText?: string;\r\n buttonLink?: string;\r\n afterButtonText?: string;\r\n footer?: string;\r\n attachments?: UploadFileDto[];\r\n\r\n constructor(data?: IEmailMessageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"recipientsId\"])) {\r\n this.recipientsId = [] as any;\r\n for (let item of _data[\"recipientsId\"])\r\n this.recipientsId!.push(item);\r\n }\r\n if (Array.isArray(_data[\"recipientsEmail\"])) {\r\n this.recipientsEmail = [] as any;\r\n for (let item of _data[\"recipientsEmail\"])\r\n this.recipientsEmail!.push(item);\r\n }\r\n if (Array.isArray(_data[\"ccRecipientsId\"])) {\r\n this.ccRecipientsId = [] as any;\r\n for (let item of _data[\"ccRecipientsId\"])\r\n this.ccRecipientsId!.push(item);\r\n }\r\n if (Array.isArray(_data[\"ccRecipientsEmails\"])) {\r\n this.ccRecipientsEmails = [] as any;\r\n for (let item of _data[\"ccRecipientsEmails\"])\r\n this.ccRecipientsEmails!.push(item);\r\n }\r\n this.subject = _data[\"subject\"];\r\n this.introduction = _data[\"introduction\"];\r\n this.buttonText = _data[\"buttonText\"];\r\n this.buttonLink = _data[\"buttonLink\"];\r\n this.afterButtonText = _data[\"afterButtonText\"];\r\n this.footer = _data[\"footer\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(UploadFileDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailMessageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailMessageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.recipientsId)) {\r\n data[\"recipientsId\"] = [];\r\n for (let item of this.recipientsId)\r\n data[\"recipientsId\"].push(item);\r\n }\r\n if (Array.isArray(this.recipientsEmail)) {\r\n data[\"recipientsEmail\"] = [];\r\n for (let item of this.recipientsEmail)\r\n data[\"recipientsEmail\"].push(item);\r\n }\r\n if (Array.isArray(this.ccRecipientsId)) {\r\n data[\"ccRecipientsId\"] = [];\r\n for (let item of this.ccRecipientsId)\r\n data[\"ccRecipientsId\"].push(item);\r\n }\r\n if (Array.isArray(this.ccRecipientsEmails)) {\r\n data[\"ccRecipientsEmails\"] = [];\r\n for (let item of this.ccRecipientsEmails)\r\n data[\"ccRecipientsEmails\"].push(item);\r\n }\r\n data[\"subject\"] = this.subject;\r\n data[\"introduction\"] = this.introduction;\r\n data[\"buttonText\"] = this.buttonText;\r\n data[\"buttonLink\"] = this.buttonLink;\r\n data[\"afterButtonText\"] = this.afterButtonText;\r\n data[\"footer\"] = this.footer;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailMessageDto {\r\n recipientsId?: string[];\r\n recipientsEmail?: string[];\r\n ccRecipientsId?: string[];\r\n ccRecipientsEmails?: string[];\r\n subject?: string;\r\n introduction?: string;\r\n buttonText?: string;\r\n buttonLink?: string;\r\n afterButtonText?: string;\r\n footer?: string;\r\n attachments?: UploadFileDto[];\r\n}\r\n\r\nexport class UploadFileDto implements IUploadFileDto {\r\n file?: string;\r\n fileName?: string;\r\n fileType?: string;\r\n fileDate?: Date;\r\n\r\n constructor(data?: IUploadFileDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.file = _data[\"file\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.fileType = _data[\"fileType\"];\r\n this.fileDate = _data[\"fileDate\"] ? new Date(_data[\"fileDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UploadFileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UploadFileDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"file\"] = this.file;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"fileType\"] = this.fileType;\r\n data[\"fileDate\"] = this.fileDate ? this.fileDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUploadFileDto {\r\n file?: string;\r\n fileName?: string;\r\n fileType?: string;\r\n fileDate?: Date;\r\n}\r\n\r\nexport class UserStatus implements IUserStatus {\r\n userId?: string;\r\n status?: NotificationStatus;\r\n modifiedDateTime?: Date;\r\n\r\n constructor(data?: IUserStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.status = _data[\"status\"];\r\n this.modifiedDateTime = _data[\"modifiedDateTime\"] ? new Date(_data[\"modifiedDateTime\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"status\"] = this.status;\r\n data[\"modifiedDateTime\"] = this.modifiedDateTime ? this.modifiedDateTime.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserStatus {\r\n userId?: string;\r\n status?: NotificationStatus;\r\n modifiedDateTime?: Date;\r\n}\r\n\r\nexport class UpdateEmailNotificationsStatusCommand implements IUpdateEmailNotificationsStatusCommand {\r\n notificationIds?: string[];\r\n status?: NotificationStatus;\r\n\r\n constructor(data?: IUpdateEmailNotificationsStatusCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"notificationIds\"])) {\r\n this.notificationIds = [] as any;\r\n for (let item of _data[\"notificationIds\"])\r\n this.notificationIds!.push(item);\r\n }\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateEmailNotificationsStatusCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateEmailNotificationsStatusCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.notificationIds)) {\r\n data[\"notificationIds\"] = [];\r\n for (let item of this.notificationIds)\r\n data[\"notificationIds\"].push(item);\r\n }\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateEmailNotificationsStatusCommand {\r\n notificationIds?: string[];\r\n status?: NotificationStatus;\r\n}\r\n\r\nexport class UserDto implements IUserDto {\r\n id?: string;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberId?: string;\r\n networkMemberIds?: string[];\r\n clientId?: string;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n invitatedToAzure?: boolean;\r\n crmSourceId?: string;\r\n isPrimary?: boolean;\r\n contactMailing?: string;\r\n termsAndConditions?: Consent;\r\n privacyNotices?: Consent;\r\n roles?: string[];\r\n reportsAccessRoles?: string[];\r\n\r\n constructor(data?: IUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.preferredEmail = _data[\"preferredEmail\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n if (Array.isArray(_data[\"networkMemberIds\"])) {\r\n this.networkMemberIds = [] as any;\r\n for (let item of _data[\"networkMemberIds\"])\r\n this.networkMemberIds!.push(item);\r\n }\r\n this.clientId = _data[\"clientId\"];\r\n this.active = _data[\"active\"];\r\n this.isFinancial = _data[\"isFinancial\"];\r\n this.invitatedToAzure = _data[\"invitatedToAzure\"];\r\n this.crmSourceId = _data[\"crmSourceId\"];\r\n this.isPrimary = _data[\"isPrimary\"];\r\n this.contactMailing = _data[\"contactMailing\"];\r\n this.termsAndConditions = _data[\"termsAndConditions\"] ? Consent.fromJS(_data[\"termsAndConditions\"]) : undefined;\r\n this.privacyNotices = _data[\"privacyNotices\"] ? Consent.fromJS(_data[\"privacyNotices\"]) : undefined;\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n if (Array.isArray(_data[\"reportsAccessRoles\"])) {\r\n this.reportsAccessRoles = [] as any;\r\n for (let item of _data[\"reportsAccessRoles\"])\r\n this.reportsAccessRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"preferredEmail\"] = this.preferredEmail;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n if (Array.isArray(this.networkMemberIds)) {\r\n data[\"networkMemberIds\"] = [];\r\n for (let item of this.networkMemberIds)\r\n data[\"networkMemberIds\"].push(item);\r\n }\r\n data[\"clientId\"] = this.clientId;\r\n data[\"active\"] = this.active;\r\n data[\"isFinancial\"] = this.isFinancial;\r\n data[\"invitatedToAzure\"] = this.invitatedToAzure;\r\n data[\"crmSourceId\"] = this.crmSourceId;\r\n data[\"isPrimary\"] = this.isPrimary;\r\n data[\"contactMailing\"] = this.contactMailing;\r\n data[\"termsAndConditions\"] = this.termsAndConditions ? this.termsAndConditions.toJSON() : undefined;\r\n data[\"privacyNotices\"] = this.privacyNotices ? this.privacyNotices.toJSON() : undefined;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n if (Array.isArray(this.reportsAccessRoles)) {\r\n data[\"reportsAccessRoles\"] = [];\r\n for (let item of this.reportsAccessRoles)\r\n data[\"reportsAccessRoles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserDto {\r\n id?: string;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberId?: string;\r\n networkMemberIds?: string[];\r\n clientId?: string;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n invitatedToAzure?: boolean;\r\n crmSourceId?: string;\r\n isPrimary?: boolean;\r\n contactMailing?: string;\r\n termsAndConditions?: Consent;\r\n privacyNotices?: Consent;\r\n roles?: string[];\r\n reportsAccessRoles?: string[];\r\n}\r\n\r\nexport class Consent implements IConsent {\r\n isMandatory?: boolean;\r\n approved?: boolean;\r\n approvedDate?: Date | undefined;\r\n version?: string | undefined;\r\n\r\n constructor(data?: IConsent) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isMandatory = _data[\"isMandatory\"];\r\n this.approved = _data[\"approved\"];\r\n this.approvedDate = _data[\"approvedDate\"] ? new Date(_data[\"approvedDate\"].toString()) : undefined;\r\n this.version = _data[\"version\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Consent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Consent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isMandatory\"] = this.isMandatory;\r\n data[\"approved\"] = this.approved;\r\n data[\"approvedDate\"] = this.approvedDate ? this.approvedDate.toISOString() : undefined;\r\n data[\"version\"] = this.version;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConsent {\r\n isMandatory?: boolean;\r\n approved?: boolean;\r\n approvedDate?: Date | undefined;\r\n version?: string | undefined;\r\n}\r\n\r\nexport class UpsertUserCommand implements IUpsertUserCommand {\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberId?: string;\r\n networkMemberIds?: string[];\r\n termsAndCondition?: Consent;\r\n privacyNotice?: Consent;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n invitatedToAzure?: boolean;\r\n roles?: string[];\r\n reportsAccessRoles?: string[];\r\n\r\n constructor(data?: IUpsertUserCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.preferredEmail = _data[\"preferredEmail\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n if (Array.isArray(_data[\"networkMemberIds\"])) {\r\n this.networkMemberIds = [] as any;\r\n for (let item of _data[\"networkMemberIds\"])\r\n this.networkMemberIds!.push(item);\r\n }\r\n this.termsAndCondition = _data[\"termsAndCondition\"] ? Consent.fromJS(_data[\"termsAndCondition\"]) : undefined;\r\n this.privacyNotice = _data[\"privacyNotice\"] ? Consent.fromJS(_data[\"privacyNotice\"]) : undefined;\r\n this.active = _data[\"active\"];\r\n this.isFinancial = _data[\"isFinancial\"];\r\n this.invitatedToAzure = _data[\"invitatedToAzure\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n if (Array.isArray(_data[\"reportsAccessRoles\"])) {\r\n this.reportsAccessRoles = [] as any;\r\n for (let item of _data[\"reportsAccessRoles\"])\r\n this.reportsAccessRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpsertUserCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpsertUserCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"preferredEmail\"] = this.preferredEmail;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n if (Array.isArray(this.networkMemberIds)) {\r\n data[\"networkMemberIds\"] = [];\r\n for (let item of this.networkMemberIds)\r\n data[\"networkMemberIds\"].push(item);\r\n }\r\n data[\"termsAndCondition\"] = this.termsAndCondition ? this.termsAndCondition.toJSON() : undefined;\r\n data[\"privacyNotice\"] = this.privacyNotice ? this.privacyNotice.toJSON() : undefined;\r\n data[\"active\"] = this.active;\r\n data[\"isFinancial\"] = this.isFinancial;\r\n data[\"invitatedToAzure\"] = this.invitatedToAzure;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n if (Array.isArray(this.reportsAccessRoles)) {\r\n data[\"reportsAccessRoles\"] = [];\r\n for (let item of this.reportsAccessRoles)\r\n data[\"reportsAccessRoles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpsertUserCommand {\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberId?: string;\r\n networkMemberIds?: string[];\r\n termsAndCondition?: Consent;\r\n privacyNotice?: Consent;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n invitatedToAzure?: boolean;\r\n roles?: string[];\r\n reportsAccessRoles?: string[];\r\n}\r\n\r\nexport class UpdateUserConsentsCommand implements IUpdateUserConsentsCommand {\r\n userId?: string;\r\n termsAndConditions?: Consent;\r\n privacyNotice?: Consent;\r\n\r\n constructor(data?: IUpdateUserConsentsCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.termsAndConditions = _data[\"termsAndConditions\"] ? Consent.fromJS(_data[\"termsAndConditions\"]) : undefined;\r\n this.privacyNotice = _data[\"privacyNotice\"] ? Consent.fromJS(_data[\"privacyNotice\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateUserConsentsCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateUserConsentsCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"termsAndConditions\"] = this.termsAndConditions ? this.termsAndConditions.toJSON() : undefined;\r\n data[\"privacyNotice\"] = this.privacyNotice ? this.privacyNotice.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateUserConsentsCommand {\r\n userId?: string;\r\n termsAndConditions?: Consent;\r\n privacyNotice?: Consent;\r\n}\r\n\r\nexport class AccountDto implements IAccountDto {\r\n id?: string;\r\n accountName?: string;\r\n type?: string;\r\n status?: string;\r\n currencyCode?: string;\r\n isAdl?: boolean;\r\n externalAccountNumber?: string;\r\n email?: string;\r\n mainPhone?: string;\r\n webAddress?: string;\r\n countries?: CountryDto[];\r\n accountX?: AccountXesDto;\r\n accountManager?: AccountManagerDto;\r\n divisionalManager?: DivisionalManagerDto;\r\n\r\n constructor(data?: IAccountDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.accountName = _data[\"accountName\"];\r\n this.type = _data[\"type\"];\r\n this.status = _data[\"status\"];\r\n this.currencyCode = _data[\"currencyCode\"];\r\n this.isAdl = _data[\"isAdl\"];\r\n this.externalAccountNumber = _data[\"externalAccountNumber\"];\r\n this.email = _data[\"email\"];\r\n this.mainPhone = _data[\"mainPhone\"];\r\n this.webAddress = _data[\"webAddress\"];\r\n if (Array.isArray(_data[\"countries\"])) {\r\n this.countries = [] as any;\r\n for (let item of _data[\"countries\"])\r\n this.countries!.push(CountryDto.fromJS(item));\r\n }\r\n this.accountX = _data[\"accountX\"] ? AccountXesDto.fromJS(_data[\"accountX\"]) : undefined;\r\n this.accountManager = _data[\"accountManager\"] ? AccountManagerDto.fromJS(_data[\"accountManager\"]) : undefined;\r\n this.divisionalManager = _data[\"divisionalManager\"] ? DivisionalManagerDto.fromJS(_data[\"divisionalManager\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"accountName\"] = this.accountName;\r\n data[\"type\"] = this.type;\r\n data[\"status\"] = this.status;\r\n data[\"currencyCode\"] = this.currencyCode;\r\n data[\"isAdl\"] = this.isAdl;\r\n data[\"externalAccountNumber\"] = this.externalAccountNumber;\r\n data[\"email\"] = this.email;\r\n data[\"mainPhone\"] = this.mainPhone;\r\n data[\"webAddress\"] = this.webAddress;\r\n if (Array.isArray(this.countries)) {\r\n data[\"countries\"] = [];\r\n for (let item of this.countries)\r\n data[\"countries\"].push(item.toJSON());\r\n }\r\n data[\"accountX\"] = this.accountX ? this.accountX.toJSON() : undefined;\r\n data[\"accountManager\"] = this.accountManager ? this.accountManager.toJSON() : undefined;\r\n data[\"divisionalManager\"] = this.divisionalManager ? this.divisionalManager.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountDto {\r\n id?: string;\r\n accountName?: string;\r\n type?: string;\r\n status?: string;\r\n currencyCode?: string;\r\n isAdl?: boolean;\r\n externalAccountNumber?: string;\r\n email?: string;\r\n mainPhone?: string;\r\n webAddress?: string;\r\n countries?: CountryDto[];\r\n accountX?: AccountXesDto;\r\n accountManager?: AccountManagerDto;\r\n divisionalManager?: DivisionalManagerDto;\r\n}\r\n\r\nexport class CountryDto implements ICountryDto {\r\n countryId?: string;\r\n name?: string;\r\n iso2?: string;\r\n\r\n constructor(data?: ICountryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.countryId = _data[\"countryId\"];\r\n this.name = _data[\"name\"];\r\n this.iso2 = _data[\"iso2\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"countryId\"] = this.countryId;\r\n data[\"name\"] = this.name;\r\n data[\"iso2\"] = this.iso2;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountryDto {\r\n countryId?: string;\r\n name?: string;\r\n iso2?: string;\r\n}\r\n\r\nexport class AccountXesDto implements IAccountXesDto {\r\n id?: string;\r\n systems?: string;\r\n pooldate?: Date;\r\n dividend?: string;\r\n last_Account?: string;\r\n lives?: string;\r\n premium?: number;\r\n poolComments?: string;\r\n result?: number;\r\n carry_forward_result?: number;\r\n currentPooledCountries?: number;\r\n currentPRCountries?: number;\r\n\r\n constructor(data?: IAccountXesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.systems = _data[\"systems\"];\r\n this.pooldate = _data[\"pooldate\"] ? new Date(_data[\"pooldate\"].toString()) : undefined;\r\n this.dividend = _data[\"dividend\"];\r\n this.last_Account = _data[\"last_Account\"];\r\n this.lives = _data[\"lives\"];\r\n this.premium = _data[\"premium\"];\r\n this.poolComments = _data[\"poolComments\"];\r\n this.result = _data[\"result\"];\r\n this.carry_forward_result = _data[\"carry_forward_result\"];\r\n this.currentPooledCountries = _data[\"currentPooledCountries\"];\r\n this.currentPRCountries = _data[\"currentPRCountries\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountXesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountXesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"systems\"] = this.systems;\r\n data[\"pooldate\"] = this.pooldate ? this.pooldate.toISOString() : undefined;\r\n data[\"dividend\"] = this.dividend;\r\n data[\"last_Account\"] = this.last_Account;\r\n data[\"lives\"] = this.lives;\r\n data[\"premium\"] = this.premium;\r\n data[\"poolComments\"] = this.poolComments;\r\n data[\"result\"] = this.result;\r\n data[\"carry_forward_result\"] = this.carry_forward_result;\r\n data[\"currentPooledCountries\"] = this.currentPooledCountries;\r\n data[\"currentPRCountries\"] = this.currentPRCountries;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountXesDto {\r\n id?: string;\r\n systems?: string;\r\n pooldate?: Date;\r\n dividend?: string;\r\n last_Account?: string;\r\n lives?: string;\r\n premium?: number;\r\n poolComments?: string;\r\n result?: number;\r\n carry_forward_result?: number;\r\n currentPooledCountries?: number;\r\n currentPRCountries?: number;\r\n}\r\n\r\nexport class AccountManagerDto implements IAccountManagerDto {\r\n id?: string;\r\n userInfo?: UserInfoDto;\r\n\r\n constructor(data?: IAccountManagerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userInfo = _data[\"userInfo\"] ? UserInfoDto.fromJS(_data[\"userInfo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountManagerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountManagerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userInfo\"] = this.userInfo ? this.userInfo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountManagerDto {\r\n id?: string;\r\n userInfo?: UserInfoDto;\r\n}\r\n\r\nexport class UserInfoDto implements IUserInfoDto {\r\n id?: string;\r\n descriptor?: string;\r\n department?: string;\r\n division?: string;\r\n email?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n mobile?: any;\r\n phone?: string;\r\n region?: string;\r\n title?: string;\r\n userName?: string;\r\n address?: AddressDto;\r\n\r\n constructor(data?: IUserInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.descriptor = _data[\"descriptor\"];\r\n this.department = _data[\"department\"];\r\n this.division = _data[\"division\"];\r\n this.email = _data[\"email\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.phone = _data[\"phone\"];\r\n this.region = _data[\"region\"];\r\n this.title = _data[\"title\"];\r\n this.userName = _data[\"userName\"];\r\n this.address = _data[\"address\"] ? AddressDto.fromJS(_data[\"address\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"descriptor\"] = this.descriptor;\r\n data[\"department\"] = this.department;\r\n data[\"division\"] = this.division;\r\n data[\"email\"] = this.email;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"phone\"] = this.phone;\r\n data[\"region\"] = this.region;\r\n data[\"title\"] = this.title;\r\n data[\"userName\"] = this.userName;\r\n data[\"address\"] = this.address ? this.address.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoDto {\r\n id?: string;\r\n descriptor?: string;\r\n department?: string;\r\n division?: string;\r\n email?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n mobile?: any;\r\n phone?: string;\r\n region?: string;\r\n title?: string;\r\n userName?: string;\r\n address?: AddressDto;\r\n}\r\n\r\nexport class AddressDto implements IAddressDto {\r\n id?: string;\r\n countryCode?: string;\r\n country?: string;\r\n\r\n constructor(data?: IAddressDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddressDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddressDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"countryCode\"] = this.countryCode;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddressDto {\r\n id?: string;\r\n countryCode?: string;\r\n country?: string;\r\n}\r\n\r\nexport class DivisionalManagerDto implements IDivisionalManagerDto {\r\n id?: string;\r\n userInfo?: UserInfoDto;\r\n\r\n constructor(data?: IDivisionalManagerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userInfo = _data[\"userInfo\"] ? UserInfoDto.fromJS(_data[\"userInfo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DivisionalManagerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DivisionalManagerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userInfo\"] = this.userInfo ? this.userInfo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDivisionalManagerDto {\r\n id?: string;\r\n userInfo?: UserInfoDto;\r\n}\r\n\r\nexport class TechnicalContact implements ITechnicalContact {\r\n name?: string;\r\n email?: string;\r\n phone?: string;\r\n\r\n constructor(data?: ITechnicalContact) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TechnicalContact {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TechnicalContact();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITechnicalContact {\r\n name?: string;\r\n email?: string;\r\n phone?: string;\r\n}\r\n\r\nexport class PaginatedListOfExpansionPlanDto implements IPaginatedListOfExpansionPlanDto {\r\n items?: ExpansionPlanDto[];\r\n pageNumber?: number;\r\n totalPages?: number;\r\n totalCount?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n\r\n constructor(data?: IPaginatedListOfExpansionPlanDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(ExpansionPlanDto.fromJS(item));\r\n }\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.totalPages = _data[\"totalPages\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.hasPreviousPage = _data[\"hasPreviousPage\"];\r\n this.hasNextPage = _data[\"hasNextPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaginatedListOfExpansionPlanDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaginatedListOfExpansionPlanDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"totalPages\"] = this.totalPages;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"hasPreviousPage\"] = this.hasPreviousPage;\r\n data[\"hasNextPage\"] = this.hasNextPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaginatedListOfExpansionPlanDto {\r\n items?: ExpansionPlanDto[];\r\n pageNumber?: number;\r\n totalPages?: number;\r\n totalCount?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n}\r\n\r\nexport class ExpansionPlanDto implements IExpansionPlanDto {\r\n id?: string;\r\n country?: string;\r\n local_company_name?: string | undefined;\r\n status?: string;\r\n startDate?: Date | undefined;\r\n benefits?: string;\r\n employees?: number | undefined;\r\n premiumPoolCurrency?: number | undefined;\r\n comments?: string | undefined;\r\n brokerComtact?: string | undefined;\r\n companyContact?: string | undefined;\r\n insurer?: string | undefined;\r\n insNetwork?: string | undefined;\r\n account?: AccountDto;\r\n\r\n constructor(data?: IExpansionPlanDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.country = _data[\"country\"];\r\n this.local_company_name = _data[\"local_company_name\"];\r\n this.status = _data[\"status\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.benefits = _data[\"benefits\"];\r\n this.employees = _data[\"employees\"];\r\n this.premiumPoolCurrency = _data[\"premiumPoolCurrency\"];\r\n this.comments = _data[\"comments\"];\r\n this.brokerComtact = _data[\"brokerComtact\"];\r\n this.companyContact = _data[\"companyContact\"];\r\n this.insurer = _data[\"insurer\"];\r\n this.insNetwork = _data[\"insNetwork\"];\r\n this.account = _data[\"account\"] ? AccountDto.fromJS(_data[\"account\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExpansionPlanDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExpansionPlanDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"country\"] = this.country;\r\n data[\"local_company_name\"] = this.local_company_name;\r\n data[\"status\"] = this.status;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"benefits\"] = this.benefits;\r\n data[\"employees\"] = this.employees;\r\n data[\"premiumPoolCurrency\"] = this.premiumPoolCurrency;\r\n data[\"comments\"] = this.comments;\r\n data[\"brokerComtact\"] = this.brokerComtact;\r\n data[\"companyContact\"] = this.companyContact;\r\n data[\"insurer\"] = this.insurer;\r\n data[\"insNetwork\"] = this.insNetwork;\r\n data[\"account\"] = this.account ? this.account.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExpansionPlanDto {\r\n id?: string;\r\n country?: string;\r\n local_company_name?: string | undefined;\r\n status?: string;\r\n startDate?: Date | undefined;\r\n benefits?: string;\r\n employees?: number | undefined;\r\n premiumPoolCurrency?: number | undefined;\r\n comments?: string | undefined;\r\n brokerComtact?: string | undefined;\r\n companyContact?: string | undefined;\r\n insurer?: string | undefined;\r\n insNetwork?: string | undefined;\r\n account?: AccountDto;\r\n}\r\n\r\nexport class BaseTaskDto extends AuditableEntity implements IBaseTaskDto {\r\n id?: string;\r\n sourceId?: string;\r\n processId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date;\r\n metaData?: string;\r\n networkMember?: AccountDto;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n assignedTo?: AssignedTo;\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n adminDbAttachments?: string[];\r\n systemAttachments?: Attachment[];\r\n isOverdue?: boolean;\r\n isNewTask?: boolean;\r\n overdueDate?: Date | undefined;\r\n country?: string;\r\n\r\n constructor(data?: IBaseTaskDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.processId = _data[\"processId\"];\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.displayDate = _data[\"displayDate\"] ? new Date(_data[\"displayDate\"].toString()) : undefined;\r\n this.metaData = _data[\"metaData\"];\r\n this.networkMember = _data[\"networkMember\"] ? AccountDto.fromJS(_data[\"networkMember\"]) : undefined;\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n this.assignedTo = _data[\"assignedTo\"];\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n if (Array.isArray(_data[\"systemAttachments\"])) {\r\n this.systemAttachments = [] as any;\r\n for (let item of _data[\"systemAttachments\"])\r\n this.systemAttachments!.push(Attachment.fromJS(item));\r\n }\r\n this.isOverdue = _data[\"isOverdue\"];\r\n this.isNewTask = _data[\"isNewTask\"];\r\n this.overdueDate = _data[\"overdueDate\"] ? new Date(_data[\"overdueDate\"].toString()) : undefined;\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"processId\"] = this.processId;\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString() : undefined;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"networkMember\"] = this.networkMember ? this.networkMember.toJSON() : undefined;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n data[\"assignedTo\"] = this.assignedTo;\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n if (Array.isArray(this.systemAttachments)) {\r\n data[\"systemAttachments\"] = [];\r\n for (let item of this.systemAttachments)\r\n data[\"systemAttachments\"].push(item.toJSON());\r\n }\r\n data[\"isOverdue\"] = this.isOverdue;\r\n data[\"isNewTask\"] = this.isNewTask;\r\n data[\"overdueDate\"] = this.overdueDate ? this.overdueDate.toISOString() : undefined;\r\n data[\"country\"] = this.country;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseTaskDto extends IAuditableEntity {\r\n id?: string;\r\n sourceId?: string;\r\n processId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date;\r\n metaData?: string;\r\n networkMember?: AccountDto;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n assignedTo?: AssignedTo;\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n adminDbAttachments?: string[];\r\n systemAttachments?: Attachment[];\r\n isOverdue?: boolean;\r\n isNewTask?: boolean;\r\n overdueDate?: Date | undefined;\r\n country?: string;\r\n}\r\n\r\nexport class BooleanTaskDto extends BaseTaskDto implements IBooleanTaskDto {\r\n value?: boolean | undefined;\r\n streamAttachments?: Stream[];\r\n approvalDate?: Date | undefined;\r\n inputRcvdDate?: Date | undefined;\r\n firstCheckedDate?: Date | undefined;\r\n\r\n constructor(data?: IBooleanTaskDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n if (Array.isArray(_data[\"streamAttachments\"])) {\r\n this.streamAttachments = [] as any;\r\n for (let item of _data[\"streamAttachments\"])\r\n this.streamAttachments!.push(Stream.fromJS(item));\r\n }\r\n this.approvalDate = _data[\"approvalDate\"] ? new Date(_data[\"approvalDate\"].toString()) : undefined;\r\n this.inputRcvdDate = _data[\"inputRcvdDate\"] ? new Date(_data[\"inputRcvdDate\"].toString()) : undefined;\r\n this.firstCheckedDate = _data[\"firstCheckedDate\"] ? new Date(_data[\"firstCheckedDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BooleanTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BooleanTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n if (Array.isArray(this.streamAttachments)) {\r\n data[\"streamAttachments\"] = [];\r\n for (let item of this.streamAttachments)\r\n data[\"streamAttachments\"].push(item.toJSON());\r\n }\r\n data[\"approvalDate\"] = this.approvalDate ? this.approvalDate.toISOString() : undefined;\r\n data[\"inputRcvdDate\"] = this.inputRcvdDate ? this.inputRcvdDate.toISOString() : undefined;\r\n data[\"firstCheckedDate\"] = this.firstCheckedDate ? this.firstCheckedDate.toISOString() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBooleanTaskDto extends IBaseTaskDto {\r\n value?: boolean | undefined;\r\n streamAttachments?: Stream[];\r\n approvalDate?: Date | undefined;\r\n inputRcvdDate?: Date | undefined;\r\n firstCheckedDate?: Date | undefined;\r\n}\r\n\r\nexport abstract class MarshalByRefObject implements IMarshalByRefObject {\r\n\r\n constructor(data?: IMarshalByRefObject) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): MarshalByRefObject {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'MarshalByRefObject' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarshalByRefObject {\r\n}\r\n\r\nexport abstract class Stream extends MarshalByRefObject implements IStream {\r\n canTimeout?: boolean;\r\n readTimeout?: number;\r\n writeTimeout?: number;\r\n\r\n constructor(data?: IStream) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.canTimeout = _data[\"canTimeout\"];\r\n this.readTimeout = _data[\"readTimeout\"];\r\n this.writeTimeout = _data[\"writeTimeout\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Stream {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'Stream' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"canTimeout\"] = this.canTimeout;\r\n data[\"readTimeout\"] = this.readTimeout;\r\n data[\"writeTimeout\"] = this.writeTimeout;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStream extends IMarshalByRefObject {\r\n canTimeout?: boolean;\r\n readTimeout?: number;\r\n writeTimeout?: number;\r\n}\r\n\r\nexport class Status implements IStatus {\r\n value?: TasksStatus;\r\n sortOrder?: number;\r\n\r\n constructor(data?: IStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Status {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Status();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatus {\r\n value?: TasksStatus;\r\n sortOrder?: number;\r\n}\r\n\r\nexport enum TasksStatus {\r\n Open = 0,\r\n Closed = 1,\r\n OnHold = 2,\r\n WaitingForInput = 3,\r\n IsDeleted = 4,\r\n Hidden = 5,\r\n Finalized = 6,\r\n InProgress = 7,\r\n All = 8,\r\n}\r\n\r\nexport enum AssignedTo {\r\n NetworkMember = 0,\r\n Internal = 1,\r\n Client = 2,\r\n}\r\n\r\nexport class Attachment implements IAttachment {\r\n id?: string;\r\n name?: string;\r\n path?: string;\r\n fileType?: string;\r\n checkSum?: string;\r\n fileDate?: Date;\r\n\r\n constructor(data?: IAttachment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.path = _data[\"path\"];\r\n this.fileType = _data[\"fileType\"];\r\n this.checkSum = _data[\"checkSum\"];\r\n this.fileDate = _data[\"fileDate\"] ? new Date(_data[\"fileDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Attachment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Attachment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"path\"] = this.path;\r\n data[\"fileType\"] = this.fileType;\r\n data[\"checkSum\"] = this.checkSum;\r\n data[\"fileDate\"] = this.fileDate ? this.fileDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachment {\r\n id?: string;\r\n name?: string;\r\n path?: string;\r\n fileType?: string;\r\n checkSum?: string;\r\n fileDate?: Date;\r\n}\r\n\r\nexport enum PayToEnum {\r\n Null = 0,\r\n Insurope = 1,\r\n Client = 2,\r\n Other = 3,\r\n}\r\n\r\nexport class SortingElement implements ISortingElement {\r\n columnName?: string;\r\n sortOrder?: SortOrder;\r\n\r\n constructor(data?: ISortingElement) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.columnName = _data[\"columnName\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SortingElement {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SortingElement();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"columnName\"] = this.columnName;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISortingElement {\r\n columnName?: string;\r\n sortOrder?: SortOrder;\r\n}\r\n\r\nexport enum SortOrder {\r\n Ascending = 0,\r\n Descending = 1,\r\n}\r\n\r\nexport class UpsertBooleanTaskDto implements IUpsertBooleanTaskDto {\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n sourceId?: string;\r\n displayDate?: string;\r\n processId?: string;\r\n metaData?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: string | undefined;\r\n approvalDate?: string | undefined;\r\n inputRcvdDate?: string | undefined;\r\n firstCheckedDate?: Date | undefined;\r\n country?: string;\r\n\r\n constructor(data?: IUpsertBooleanTaskDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.displayDate = _data[\"displayDate\"];\r\n this.processId = _data[\"processId\"];\r\n this.metaData = _data[\"metaData\"];\r\n this.value = _data[\"value\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n if (Array.isArray(_data[\"streamAttachments\"])) {\r\n this.streamAttachments = [] as any;\r\n for (let item of _data[\"streamAttachments\"])\r\n this.streamAttachments!.push(Stream.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(item);\r\n }\r\n this.isOverdue = _data[\"isOverdue\"];\r\n this.overdueDate = _data[\"overdueDate\"];\r\n this.approvalDate = _data[\"approvalDate\"];\r\n this.inputRcvdDate = _data[\"inputRcvdDate\"];\r\n this.firstCheckedDate = _data[\"firstCheckedDate\"] ? new Date(_data[\"firstCheckedDate\"].toString()) : undefined;\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpsertBooleanTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpsertBooleanTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"displayDate\"] = this.displayDate;\r\n data[\"processId\"] = this.processId;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"value\"] = this.value;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n if (Array.isArray(this.streamAttachments)) {\r\n data[\"streamAttachments\"] = [];\r\n for (let item of this.streamAttachments)\r\n data[\"streamAttachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item);\r\n }\r\n data[\"isOverdue\"] = this.isOverdue;\r\n data[\"overdueDate\"] = this.overdueDate;\r\n data[\"approvalDate\"] = this.approvalDate;\r\n data[\"inputRcvdDate\"] = this.inputRcvdDate;\r\n data[\"firstCheckedDate\"] = this.firstCheckedDate ? this.firstCheckedDate.toISOString() : undefined;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpsertBooleanTaskDto {\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n sourceId?: string;\r\n displayDate?: string;\r\n processId?: string;\r\n metaData?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: string | undefined;\r\n approvalDate?: string | undefined;\r\n inputRcvdDate?: string | undefined;\r\n firstCheckedDate?: Date | undefined;\r\n country?: string;\r\n}\r\n\r\nexport class UpdateBooleanTaskDto implements IUpdateBooleanTaskDto {\r\n id?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n sourceId?: string;\r\n displayDate?: Date;\r\n processId?: string;\r\n metaData?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n adminDbAttachments?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: Date | undefined;\r\n approvalDate?: Date | undefined;\r\n inputRcvdDate?: Date | undefined;\r\n assignedTo?: AssignedTo;\r\n systemAttachments?: Attachment[];\r\n isNewTask?: boolean;\r\n\r\n constructor(data?: IUpdateBooleanTaskDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.displayDate = _data[\"displayDate\"] ? new Date(_data[\"displayDate\"].toString()) : undefined;\r\n this.processId = _data[\"processId\"];\r\n this.metaData = _data[\"metaData\"];\r\n this.value = _data[\"value\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n this.isOverdue = _data[\"isOverdue\"];\r\n this.overdueDate = _data[\"overdueDate\"] ? new Date(_data[\"overdueDate\"].toString()) : undefined;\r\n this.approvalDate = _data[\"approvalDate\"] ? new Date(_data[\"approvalDate\"].toString()) : undefined;\r\n this.inputRcvdDate = _data[\"inputRcvdDate\"] ? new Date(_data[\"inputRcvdDate\"].toString()) : undefined;\r\n this.assignedTo = _data[\"assignedTo\"];\r\n if (Array.isArray(_data[\"systemAttachments\"])) {\r\n this.systemAttachments = [] as any;\r\n for (let item of _data[\"systemAttachments\"])\r\n this.systemAttachments!.push(Attachment.fromJS(item));\r\n }\r\n this.isNewTask = _data[\"isNewTask\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateBooleanTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateBooleanTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString() : undefined;\r\n data[\"processId\"] = this.processId;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"value\"] = this.value;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n data[\"isOverdue\"] = this.isOverdue;\r\n data[\"overdueDate\"] = this.overdueDate ? this.overdueDate.toISOString() : undefined;\r\n data[\"approvalDate\"] = this.approvalDate ? this.approvalDate.toISOString() : undefined;\r\n data[\"inputRcvdDate\"] = this.inputRcvdDate ? this.inputRcvdDate.toISOString() : undefined;\r\n data[\"assignedTo\"] = this.assignedTo;\r\n if (Array.isArray(this.systemAttachments)) {\r\n data[\"systemAttachments\"] = [];\r\n for (let item of this.systemAttachments)\r\n data[\"systemAttachments\"].push(item.toJSON());\r\n }\r\n data[\"isNewTask\"] = this.isNewTask;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateBooleanTaskDto {\r\n id?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n sourceId?: string;\r\n displayDate?: Date;\r\n processId?: string;\r\n metaData?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n adminDbAttachments?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: Date | undefined;\r\n approvalDate?: Date | undefined;\r\n inputRcvdDate?: Date | undefined;\r\n assignedTo?: AssignedTo;\r\n systemAttachments?: Attachment[];\r\n isNewTask?: boolean;\r\n}\r\n\r\nexport class TaskSubscribersDto implements ITaskSubscribersDto {\r\n id?: string;\r\n processId?: string;\r\n insuropeSubscribers?: TaskUserSusbscriptionDto[];\r\n networkMemberSubscribers?: TaskUserSusbscriptionDto[];\r\n clientSubscribers?: TaskUserSusbscriptionDto[];\r\n\r\n constructor(data?: ITaskSubscribersDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.processId = _data[\"processId\"];\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(TaskUserSusbscriptionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(TaskUserSusbscriptionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(TaskUserSusbscriptionDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaskSubscribersDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaskSubscribersDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"processId\"] = this.processId;\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITaskSubscribersDto {\r\n id?: string;\r\n processId?: string;\r\n insuropeSubscribers?: TaskUserSusbscriptionDto[];\r\n networkMemberSubscribers?: TaskUserSusbscriptionDto[];\r\n clientSubscribers?: TaskUserSusbscriptionDto[];\r\n}\r\n\r\nexport class TaskUserSusbscriptionDto implements ITaskUserSusbscriptionDto {\r\n id?: string;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberIds?: string[];\r\n clientId?: string;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n isManuallyAdded?: boolean;\r\n isDeleted?: boolean;\r\n removedFromDiscussion?: boolean;\r\n\r\n constructor(data?: ITaskUserSusbscriptionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.preferredEmail = _data[\"preferredEmail\"];\r\n if (Array.isArray(_data[\"networkMemberIds\"])) {\r\n this.networkMemberIds = [] as any;\r\n for (let item of _data[\"networkMemberIds\"])\r\n this.networkMemberIds!.push(item);\r\n }\r\n this.clientId = _data[\"clientId\"];\r\n this.active = _data[\"active\"];\r\n this.isFinancial = _data[\"isFinancial\"];\r\n this.isManuallyAdded = _data[\"isManuallyAdded\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.removedFromDiscussion = _data[\"removedFromDiscussion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaskUserSusbscriptionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaskUserSusbscriptionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"preferredEmail\"] = this.preferredEmail;\r\n if (Array.isArray(this.networkMemberIds)) {\r\n data[\"networkMemberIds\"] = [];\r\n for (let item of this.networkMemberIds)\r\n data[\"networkMemberIds\"].push(item);\r\n }\r\n data[\"clientId\"] = this.clientId;\r\n data[\"active\"] = this.active;\r\n data[\"isFinancial\"] = this.isFinancial;\r\n data[\"isManuallyAdded\"] = this.isManuallyAdded;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"removedFromDiscussion\"] = this.removedFromDiscussion;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITaskUserSusbscriptionDto {\r\n id?: string;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberIds?: string[];\r\n clientId?: string;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n isManuallyAdded?: boolean;\r\n isDeleted?: boolean;\r\n removedFromDiscussion?: boolean;\r\n}\r\n\r\nexport class CommentDto implements ICommentDto {\r\n id?: string;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n content?: string;\r\n networkMemberId?: string;\r\n messageSent?: Date;\r\n isDeleted?: boolean;\r\n isEdited?: boolean;\r\n isHtmlText?: boolean;\r\n commentType?: CommentType;\r\n attachments?: Attachment[];\r\n tags?: CommentTagDto[];\r\n createdByUserRolls?: string[];\r\n\r\n constructor(data?: ICommentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.content = _data[\"content\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.messageSent = _data[\"messageSent\"] ? new Date(_data[\"messageSent\"].toString()) : undefined;\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isEdited = _data[\"isEdited\"];\r\n this.isHtmlText = _data[\"isHtmlText\"];\r\n this.commentType = _data[\"commentType\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(CommentTagDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"createdByUserRolls\"])) {\r\n this.createdByUserRolls = [] as any;\r\n for (let item of _data[\"createdByUserRolls\"])\r\n this.createdByUserRolls!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"content\"] = this.content;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"messageSent\"] = this.messageSent ? this.messageSent.toISOString() : undefined;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isEdited\"] = this.isEdited;\r\n data[\"isHtmlText\"] = this.isHtmlText;\r\n data[\"commentType\"] = this.commentType;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.createdByUserRolls)) {\r\n data[\"createdByUserRolls\"] = [];\r\n for (let item of this.createdByUserRolls)\r\n data[\"createdByUserRolls\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommentDto {\r\n id?: string;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n content?: string;\r\n networkMemberId?: string;\r\n messageSent?: Date;\r\n isDeleted?: boolean;\r\n isEdited?: boolean;\r\n isHtmlText?: boolean;\r\n commentType?: CommentType;\r\n attachments?: Attachment[];\r\n tags?: CommentTagDto[];\r\n createdByUserRolls?: string[];\r\n}\r\n\r\nexport enum CommentType {\r\n Comment = 0,\r\n Reply = 1,\r\n Edited = 2,\r\n Automated = 3,\r\n ApprovalLetter = 4,\r\n ExternalComment = 5,\r\n}\r\n\r\nexport class CommentTagDto extends AuditableEntity implements ICommentTagDto {\r\n id?: string;\r\n tagName?: string;\r\n isDeletable?: boolean;\r\n createdByUserRoles?: string[];\r\n\r\n constructor(data?: ICommentTagDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tagName = _data[\"tagName\"];\r\n this.isDeletable = _data[\"isDeletable\"];\r\n if (Array.isArray(_data[\"createdByUserRoles\"])) {\r\n this.createdByUserRoles = [] as any;\r\n for (let item of _data[\"createdByUserRoles\"])\r\n this.createdByUserRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentTagDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentTagDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tagName\"] = this.tagName;\r\n data[\"isDeletable\"] = this.isDeletable;\r\n if (Array.isArray(this.createdByUserRoles)) {\r\n data[\"createdByUserRoles\"] = [];\r\n for (let item of this.createdByUserRoles)\r\n data[\"createdByUserRoles\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommentTagDto extends IAuditableEntity {\r\n id?: string;\r\n tagName?: string;\r\n isDeletable?: boolean;\r\n createdByUserRoles?: string[];\r\n}\r\n\r\nexport class DiscussionDto implements IDiscussionDto {\r\n id?: string;\r\n lastExported?: Date | undefined;\r\n taskId?: string;\r\n comments?: Comment[];\r\n systemAttachments?: Attachment[];\r\n\r\n constructor(data?: IDiscussionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.lastExported = _data[\"lastExported\"] ? new Date(_data[\"lastExported\"].toString()) : undefined;\r\n this.taskId = _data[\"taskId\"];\r\n if (Array.isArray(_data[\"comments\"])) {\r\n this.comments = [] as any;\r\n for (let item of _data[\"comments\"])\r\n this.comments!.push(Comment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"systemAttachments\"])) {\r\n this.systemAttachments = [] as any;\r\n for (let item of _data[\"systemAttachments\"])\r\n this.systemAttachments!.push(Attachment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiscussionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiscussionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"lastExported\"] = this.lastExported ? this.lastExported.toISOString() : undefined;\r\n data[\"taskId\"] = this.taskId;\r\n if (Array.isArray(this.comments)) {\r\n data[\"comments\"] = [];\r\n for (let item of this.comments)\r\n data[\"comments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.systemAttachments)) {\r\n data[\"systemAttachments\"] = [];\r\n for (let item of this.systemAttachments)\r\n data[\"systemAttachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiscussionDto {\r\n id?: string;\r\n lastExported?: Date | undefined;\r\n taskId?: string;\r\n comments?: Comment[];\r\n systemAttachments?: Attachment[];\r\n}\r\n\r\nexport class Comment extends AuditableEntity implements IComment {\r\n id?: string;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n content?: string;\r\n networkMemberId?: string;\r\n messageSent?: Date;\r\n isDeleted?: boolean;\r\n isEdited?: boolean;\r\n isHtmlText?: boolean;\r\n commentType?: CommentType;\r\n attachments?: Attachment[];\r\n tags?: CommentTag[];\r\n createdByUserRolls?: string[];\r\n\r\n constructor(data?: IComment) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.content = _data[\"content\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.messageSent = _data[\"messageSent\"] ? new Date(_data[\"messageSent\"].toString()) : undefined;\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isEdited = _data[\"isEdited\"];\r\n this.isHtmlText = _data[\"isHtmlText\"];\r\n this.commentType = _data[\"commentType\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(CommentTag.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"createdByUserRolls\"])) {\r\n this.createdByUserRolls = [] as any;\r\n for (let item of _data[\"createdByUserRolls\"])\r\n this.createdByUserRolls!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Comment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Comment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"content\"] = this.content;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"messageSent\"] = this.messageSent ? this.messageSent.toISOString() : undefined;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isEdited\"] = this.isEdited;\r\n data[\"isHtmlText\"] = this.isHtmlText;\r\n data[\"commentType\"] = this.commentType;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.createdByUserRolls)) {\r\n data[\"createdByUserRolls\"] = [];\r\n for (let item of this.createdByUserRolls)\r\n data[\"createdByUserRolls\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IComment extends IAuditableEntity {\r\n id?: string;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n content?: string;\r\n networkMemberId?: string;\r\n messageSent?: Date;\r\n isDeleted?: boolean;\r\n isEdited?: boolean;\r\n isHtmlText?: boolean;\r\n commentType?: CommentType;\r\n attachments?: Attachment[];\r\n tags?: CommentTag[];\r\n createdByUserRolls?: string[];\r\n}\r\n\r\nexport class CommentTag extends AuditableEntity implements ICommentTag {\r\n id?: string;\r\n tagName?: string;\r\n isDeletable?: boolean;\r\n createdByUserRoles?: string[];\r\n\r\n constructor(data?: ICommentTag) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tagName = _data[\"tagName\"];\r\n this.isDeletable = _data[\"isDeletable\"];\r\n if (Array.isArray(_data[\"createdByUserRoles\"])) {\r\n this.createdByUserRoles = [] as any;\r\n for (let item of _data[\"createdByUserRoles\"])\r\n this.createdByUserRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentTag {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentTag();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tagName\"] = this.tagName;\r\n data[\"isDeletable\"] = this.isDeletable;\r\n if (Array.isArray(this.createdByUserRoles)) {\r\n data[\"createdByUserRoles\"] = [];\r\n for (let item of this.createdByUserRoles)\r\n data[\"createdByUserRoles\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommentTag extends IAuditableEntity {\r\n id?: string;\r\n tagName?: string;\r\n isDeletable?: boolean;\r\n createdByUserRoles?: string[];\r\n}\r\n\r\nexport class AttachmentDTO implements IAttachmentDTO {\r\n id?: string;\r\n name?: string;\r\n path?: string;\r\n fileType?: string;\r\n commentId?: string;\r\n fileDate?: Date;\r\n\r\n constructor(data?: IAttachmentDTO) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.path = _data[\"path\"];\r\n this.fileType = _data[\"fileType\"];\r\n this.commentId = _data[\"commentId\"];\r\n this.fileDate = _data[\"fileDate\"] ? new Date(_data[\"fileDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AttachmentDTO {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AttachmentDTO();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"path\"] = this.path;\r\n data[\"fileType\"] = this.fileType;\r\n data[\"commentId\"] = this.commentId;\r\n data[\"fileDate\"] = this.fileDate ? this.fileDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachmentDTO {\r\n id?: string;\r\n name?: string;\r\n path?: string;\r\n fileType?: string;\r\n commentId?: string;\r\n fileDate?: Date;\r\n}\r\n\r\nexport class AddExternalCommentsCommand implements IAddExternalCommentsCommand {\r\n externalComments?: ExternalComment[];\r\n\r\n constructor(data?: IAddExternalCommentsCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"externalComments\"])) {\r\n this.externalComments = [] as any;\r\n for (let item of _data[\"externalComments\"])\r\n this.externalComments!.push(ExternalComment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddExternalCommentsCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddExternalCommentsCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.externalComments)) {\r\n data[\"externalComments\"] = [];\r\n for (let item of this.externalComments)\r\n data[\"externalComments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddExternalCommentsCommand {\r\n externalComments?: ExternalComment[];\r\n}\r\n\r\nexport class ExternalComment implements IExternalComment {\r\n sourceId?: string;\r\n content?: string;\r\n processId?: ProcessIds;\r\n clientName?: string;\r\n networkMemberName?: string;\r\n periodEndYear?: string;\r\n country?: string;\r\n userEmailAddress?: string;\r\n isServiceUser?: boolean;\r\n isHtmlText?: boolean;\r\n notificationFrequency?: NotificationFrequency;\r\n notificationType?: NotificationType;\r\n attachments?: UploadFileDto[];\r\n tags?: string[];\r\n\r\n constructor(data?: IExternalComment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.content = _data[\"content\"];\r\n this.processId = _data[\"processId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.networkMemberName = _data[\"networkMemberName\"];\r\n this.periodEndYear = _data[\"periodEndYear\"];\r\n this.country = _data[\"country\"];\r\n this.userEmailAddress = _data[\"userEmailAddress\"];\r\n this.isServiceUser = _data[\"isServiceUser\"];\r\n this.isHtmlText = _data[\"isHtmlText\"];\r\n this.notificationFrequency = _data[\"notificationFrequency\"];\r\n this.notificationType = _data[\"notificationType\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(UploadFileDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExternalComment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExternalComment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"content\"] = this.content;\r\n data[\"processId\"] = this.processId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"networkMemberName\"] = this.networkMemberName;\r\n data[\"periodEndYear\"] = this.periodEndYear;\r\n data[\"country\"] = this.country;\r\n data[\"userEmailAddress\"] = this.userEmailAddress;\r\n data[\"isServiceUser\"] = this.isServiceUser;\r\n data[\"isHtmlText\"] = this.isHtmlText;\r\n data[\"notificationFrequency\"] = this.notificationFrequency;\r\n data[\"notificationType\"] = this.notificationType;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExternalComment {\r\n sourceId?: string;\r\n content?: string;\r\n processId?: ProcessIds;\r\n clientName?: string;\r\n networkMemberName?: string;\r\n periodEndYear?: string;\r\n country?: string;\r\n userEmailAddress?: string;\r\n isServiceUser?: boolean;\r\n isHtmlText?: boolean;\r\n notificationFrequency?: NotificationFrequency;\r\n notificationType?: NotificationType;\r\n attachments?: UploadFileDto[];\r\n tags?: string[];\r\n}\r\n\r\nexport enum ProcessIds {\r\n PoolingPermissions = 0,\r\n IllustrationInputs = 1,\r\n AccountInputs = 2,\r\n Approvals = 3,\r\n Payments = 4,\r\n ServiceFees = 5,\r\n AnnualReport = 6,\r\n Illustrations = 7,\r\n MultipoolApprovals = 8,\r\n MultipoolPayments = 9,\r\n}\r\n\r\nexport class ContactDto implements IContactDto {\r\n id?: string;\r\n name?: string;\r\n email?: string;\r\n workPhone?: string;\r\n isPrimary?: boolean;\r\n account?: AccountDto;\r\n\r\n constructor(data?: IContactDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.workPhone = _data[\"workPhone\"];\r\n this.isPrimary = _data[\"isPrimary\"];\r\n this.account = _data[\"account\"] ? AccountDto.fromJS(_data[\"account\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContactDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContactDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"workPhone\"] = this.workPhone;\r\n data[\"isPrimary\"] = this.isPrimary;\r\n data[\"account\"] = this.account ? this.account.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContactDto {\r\n id?: string;\r\n name?: string;\r\n email?: string;\r\n workPhone?: string;\r\n isPrimary?: boolean;\r\n account?: AccountDto;\r\n}\r\n\r\nexport class PaginatedListOfCrmAttachmentDto implements IPaginatedListOfCrmAttachmentDto {\r\n items?: CrmAttachmentDto[];\r\n pageNumber?: number;\r\n totalPages?: number;\r\n totalCount?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n\r\n constructor(data?: IPaginatedListOfCrmAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(CrmAttachmentDto.fromJS(item));\r\n }\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.totalPages = _data[\"totalPages\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.hasPreviousPage = _data[\"hasPreviousPage\"];\r\n this.hasNextPage = _data[\"hasNextPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaginatedListOfCrmAttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaginatedListOfCrmAttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"totalPages\"] = this.totalPages;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"hasPreviousPage\"] = this.hasPreviousPage;\r\n data[\"hasNextPage\"] = this.hasNextPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaginatedListOfCrmAttachmentDto {\r\n items?: CrmAttachmentDto[];\r\n pageNumber?: number;\r\n totalPages?: number;\r\n totalCount?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n}\r\n\r\nexport class CrmAttachmentDto implements ICrmAttachmentDto {\r\n id?: string;\r\n fileName?: string;\r\n modifyDate?: Date;\r\n attachDate?: Date;\r\n fileSize?: number;\r\n description?: string;\r\n createUser?: UserInfoDto;\r\n details?: AttachmentDetailsDto;\r\n\r\n constructor(data?: ICrmAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.modifyDate = _data[\"modifyDate\"] ? new Date(_data[\"modifyDate\"].toString()) : undefined;\r\n this.attachDate = _data[\"attachDate\"] ? new Date(_data[\"attachDate\"].toString()) : undefined;\r\n this.fileSize = _data[\"fileSize\"];\r\n this.description = _data[\"description\"];\r\n this.createUser = _data[\"createUser\"] ? UserInfoDto.fromJS(_data[\"createUser\"]) : undefined;\r\n this.details = _data[\"details\"] ? AttachmentDetailsDto.fromJS(_data[\"details\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CrmAttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CrmAttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"modifyDate\"] = this.modifyDate ? this.modifyDate.toISOString() : undefined;\r\n data[\"attachDate\"] = this.attachDate ? this.attachDate.toISOString() : undefined;\r\n data[\"fileSize\"] = this.fileSize;\r\n data[\"description\"] = this.description;\r\n data[\"createUser\"] = this.createUser ? this.createUser.toJSON() : undefined;\r\n data[\"details\"] = this.details ? this.details.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICrmAttachmentDto {\r\n id?: string;\r\n fileName?: string;\r\n modifyDate?: Date;\r\n attachDate?: Date;\r\n fileSize?: number;\r\n description?: string;\r\n createUser?: UserInfoDto;\r\n details?: AttachmentDetailsDto;\r\n}\r\n\r\nexport class AttachmentDetailsDto implements IAttachmentDetailsDto {\r\n attachmentsecurity?: string;\r\n importantFile?: string;\r\n subType?: string;\r\n\r\n constructor(data?: IAttachmentDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attachmentsecurity = _data[\"attachmentsecurity\"];\r\n this.importantFile = _data[\"importantFile\"];\r\n this.subType = _data[\"subType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AttachmentDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AttachmentDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attachmentsecurity\"] = this.attachmentsecurity;\r\n data[\"importantFile\"] = this.importantFile;\r\n data[\"subType\"] = this.subType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachmentDetailsDto {\r\n attachmentsecurity?: string;\r\n importantFile?: string;\r\n subType?: string;\r\n}\r\n\r\nexport class FaqCategoryDto implements IFaqCategoryDto {\r\n id?: string;\r\n name?: string;\r\n sortOrder?: number;\r\n questions?: QuestionDto[];\r\n\r\n constructor(data?: IFaqCategoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n if (Array.isArray(_data[\"questions\"])) {\r\n this.questions = [] as any;\r\n for (let item of _data[\"questions\"])\r\n this.questions!.push(QuestionDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FaqCategoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FaqCategoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n if (Array.isArray(this.questions)) {\r\n data[\"questions\"] = [];\r\n for (let item of this.questions)\r\n data[\"questions\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFaqCategoryDto {\r\n id?: string;\r\n name?: string;\r\n sortOrder?: number;\r\n questions?: QuestionDto[];\r\n}\r\n\r\nexport class QuestionDto implements IQuestionDto {\r\n id?: string;\r\n title?: string;\r\n answer?: string;\r\n\r\n constructor(data?: IQuestionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.answer = _data[\"answer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"answer\"] = this.answer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuestionDto {\r\n id?: string;\r\n title?: string;\r\n answer?: string;\r\n}\r\n\r\nexport class UpdateFaqCommand implements IUpdateFaqCommand {\r\n id?: string;\r\n name?: string;\r\n sortOrder?: number;\r\n questions?: Question[];\r\n\r\n constructor(data?: IUpdateFaqCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n if (Array.isArray(_data[\"questions\"])) {\r\n this.questions = [] as any;\r\n for (let item of _data[\"questions\"])\r\n this.questions!.push(Question.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateFaqCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateFaqCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n if (Array.isArray(this.questions)) {\r\n data[\"questions\"] = [];\r\n for (let item of this.questions)\r\n data[\"questions\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateFaqCommand {\r\n id?: string;\r\n name?: string;\r\n sortOrder?: number;\r\n questions?: Question[];\r\n}\r\n\r\nexport class Question extends AuditableEntity implements IQuestion {\r\n id?: string;\r\n title?: string;\r\n answer?: string;\r\n\r\n constructor(data?: IQuestion) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.answer = _data[\"answer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Question {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Question();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"answer\"] = this.answer;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuestion extends IAuditableEntity {\r\n id?: string;\r\n title?: string;\r\n answer?: string;\r\n}\r\n\r\nexport class FileUploadTaskDto extends BaseTaskDto implements IFileUploadTaskDto {\r\n country?: string;\r\n attachments?: Attachment[];\r\n\r\n constructor(data?: IFileUploadTaskDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileUploadTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileUploadTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileUploadTaskDto extends IBaseTaskDto {\r\n country?: string;\r\n attachments?: Attachment[];\r\n}\r\n\r\nexport class UpsertFileUploadTaskCommand implements IUpsertFileUploadTaskCommand {\r\n sourceId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date | undefined;\r\n metaData?: string;\r\n processId?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n country?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: string | undefined;\r\n maxApprovalCheckedDate?: Date | undefined;\r\n\r\n constructor(data?: IUpsertFileUploadTaskCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.displayDate = _data[\"displayDate\"] ? new Date(_data[\"displayDate\"].toString()) : undefined;\r\n this.metaData = _data[\"metaData\"];\r\n this.processId = _data[\"processId\"];\r\n this.value = _data[\"value\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.country = _data[\"country\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n if (Array.isArray(_data[\"streamAttachments\"])) {\r\n this.streamAttachments = [] as any;\r\n for (let item of _data[\"streamAttachments\"])\r\n this.streamAttachments!.push(Stream.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(item);\r\n }\r\n this.isOverdue = _data[\"isOverdue\"];\r\n this.overdueDate = _data[\"overdueDate\"];\r\n this.maxApprovalCheckedDate = _data[\"maxApprovalCheckedDate\"] ? new Date(_data[\"maxApprovalCheckedDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpsertFileUploadTaskCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpsertFileUploadTaskCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString() : undefined;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"processId\"] = this.processId;\r\n data[\"value\"] = this.value;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"country\"] = this.country;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n if (Array.isArray(this.streamAttachments)) {\r\n data[\"streamAttachments\"] = [];\r\n for (let item of this.streamAttachments)\r\n data[\"streamAttachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item);\r\n }\r\n data[\"isOverdue\"] = this.isOverdue;\r\n data[\"overdueDate\"] = this.overdueDate;\r\n data[\"maxApprovalCheckedDate\"] = this.maxApprovalCheckedDate ? this.maxApprovalCheckedDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpsertFileUploadTaskCommand {\r\n sourceId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date | undefined;\r\n metaData?: string;\r\n processId?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n country?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: string | undefined;\r\n maxApprovalCheckedDate?: Date | undefined;\r\n}\r\n\r\nexport class GeneralTaskDto extends BaseTaskDto implements IGeneralTaskDto {\r\n payTo?: PayToEnum;\r\n payStartedDate?: Date | undefined;\r\n attachments?: Attachment[];\r\n doneByNm?: boolean | undefined;\r\n\r\n constructor(data?: IGeneralTaskDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.payTo = _data[\"payTo\"];\r\n this.payStartedDate = _data[\"payStartedDate\"] ? new Date(_data[\"payStartedDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n this.doneByNm = _data[\"doneByNm\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeneralTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeneralTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payTo\"] = this.payTo;\r\n data[\"payStartedDate\"] = this.payStartedDate ? this.payStartedDate.toISOString() : undefined;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n data[\"doneByNm\"] = this.doneByNm;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeneralTaskDto extends IBaseTaskDto {\r\n payTo?: PayToEnum;\r\n payStartedDate?: Date | undefined;\r\n attachments?: Attachment[];\r\n doneByNm?: boolean | undefined;\r\n}\r\n\r\nexport class UpsertGeneralTaskCommand implements IUpsertGeneralTaskCommand {\r\n sourceId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date;\r\n processId?: string;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n metaData?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n overdueDate?: string | undefined;\r\n payTo?: PayToEnum;\r\n payStartedDate?: Date | undefined;\r\n requestSource?: RequestSource;\r\n\r\n constructor(data?: IUpsertGeneralTaskCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.displayDate = _data[\"displayDate\"] ? new Date(_data[\"displayDate\"].toString()) : undefined;\r\n this.processId = _data[\"processId\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.metaData = _data[\"metaData\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n if (Array.isArray(_data[\"streamAttachments\"])) {\r\n this.streamAttachments = [] as any;\r\n for (let item of _data[\"streamAttachments\"])\r\n this.streamAttachments!.push(Stream.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(item);\r\n }\r\n this.overdueDate = _data[\"overdueDate\"];\r\n this.payTo = _data[\"payTo\"];\r\n this.payStartedDate = _data[\"payStartedDate\"] ? new Date(_data[\"payStartedDate\"].toString()) : undefined;\r\n this.requestSource = _data[\"requestSource\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpsertGeneralTaskCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpsertGeneralTaskCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString() : undefined;\r\n data[\"processId\"] = this.processId;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n if (Array.isArray(this.streamAttachments)) {\r\n data[\"streamAttachments\"] = [];\r\n for (let item of this.streamAttachments)\r\n data[\"streamAttachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item);\r\n }\r\n data[\"overdueDate\"] = this.overdueDate;\r\n data[\"payTo\"] = this.payTo;\r\n data[\"payStartedDate\"] = this.payStartedDate ? this.payStartedDate.toISOString() : undefined;\r\n data[\"requestSource\"] = this.requestSource;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpsertGeneralTaskCommand {\r\n sourceId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date;\r\n processId?: string;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n metaData?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n overdueDate?: string | undefined;\r\n payTo?: PayToEnum;\r\n payStartedDate?: Date | undefined;\r\n requestSource?: RequestSource;\r\n}\r\n\r\nexport enum RequestSource {\r\n Hangfire = 0,\r\n AzureMessagingService = 1,\r\n}\r\n\r\nexport class UpdateHangfireJobCommand implements IUpdateHangfireJobCommand {\r\n id?: string;\r\n processName?: string;\r\n jobName?: string;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n errorMessage?: string | undefined;\r\n\r\n constructor(data?: IUpdateHangfireJobCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.processName = _data[\"processName\"];\r\n this.jobName = _data[\"jobName\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n this.errorMessage = _data[\"errorMessage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateHangfireJobCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateHangfireJobCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"processName\"] = this.processName;\r\n data[\"jobName\"] = this.jobName;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"errorMessage\"] = this.errorMessage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateHangfireJobCommand {\r\n id?: string;\r\n processName?: string;\r\n jobName?: string;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n errorMessage?: string | undefined;\r\n}\r\n\r\nexport class JobExecutionInfoDto implements IJobExecutionInfoDto {\r\n id?: string;\r\n processName?: string;\r\n jobName?: string;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n status?: string | undefined;\r\n\r\n constructor(data?: IJobExecutionInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.processName = _data[\"processName\"];\r\n this.jobName = _data[\"jobName\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): JobExecutionInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new JobExecutionInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"processName\"] = this.processName;\r\n data[\"jobName\"] = this.jobName;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IJobExecutionInfoDto {\r\n id?: string;\r\n processName?: string;\r\n jobName?: string;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n status?: string | undefined;\r\n}\r\n\r\nexport class IllustrationRequestDto implements IIllustrationRequestDto {\r\n id?: string;\r\n clientName?: string;\r\n clientId?: string;\r\n illustrationStage?: IllustrationStageDto;\r\n assignedToId?: string | undefined;\r\n assignedToEmail?: string;\r\n insuropeTypeOfBusiness?: boolean | undefined;\r\n commonCurrencyId?: string;\r\n memberTypeOfBusiness?: string;\r\n brokerName?: string;\r\n renewal?: boolean | undefined;\r\n statusComment?: string;\r\n networkMemberComments?: string;\r\n insuropeAdditionalComments?: string;\r\n wordMPPPath?: string;\r\n illustrationRevisions?: IllustrationRevisionDto[];\r\n illustrationType?: IllustrationTypeDto;\r\n salesRepresentative?: GraphApiUserDto;\r\n supportRepresentative?: GraphApiUserDto;\r\n networkMember?: AccountDto;\r\n countries?: CountryDto[];\r\n networkMemberSubscribers?: string[];\r\n\r\n constructor(data?: IIllustrationRequestDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.illustrationStage = _data[\"illustrationStage\"] ? IllustrationStageDto.fromJS(_data[\"illustrationStage\"]) : undefined;\r\n this.assignedToId = _data[\"assignedToId\"];\r\n this.assignedToEmail = _data[\"assignedToEmail\"];\r\n this.insuropeTypeOfBusiness = _data[\"insuropeTypeOfBusiness\"];\r\n this.commonCurrencyId = _data[\"commonCurrencyId\"];\r\n this.memberTypeOfBusiness = _data[\"memberTypeOfBusiness\"];\r\n this.brokerName = _data[\"brokerName\"];\r\n this.renewal = _data[\"renewal\"];\r\n this.statusComment = _data[\"statusComment\"];\r\n this.networkMemberComments = _data[\"networkMemberComments\"];\r\n this.insuropeAdditionalComments = _data[\"insuropeAdditionalComments\"];\r\n this.wordMPPPath = _data[\"wordMPPPath\"];\r\n if (Array.isArray(_data[\"illustrationRevisions\"])) {\r\n this.illustrationRevisions = [] as any;\r\n for (let item of _data[\"illustrationRevisions\"])\r\n this.illustrationRevisions!.push(IllustrationRevisionDto.fromJS(item));\r\n }\r\n this.illustrationType = _data[\"illustrationType\"] ? IllustrationTypeDto.fromJS(_data[\"illustrationType\"]) : undefined;\r\n this.salesRepresentative = _data[\"salesRepresentative\"] ? GraphApiUserDto.fromJS(_data[\"salesRepresentative\"]) : undefined;\r\n this.supportRepresentative = _data[\"supportRepresentative\"] ? GraphApiUserDto.fromJS(_data[\"supportRepresentative\"]) : undefined;\r\n this.networkMember = _data[\"networkMember\"] ? AccountDto.fromJS(_data[\"networkMember\"]) : undefined;\r\n if (Array.isArray(_data[\"countries\"])) {\r\n this.countries = [] as any;\r\n for (let item of _data[\"countries\"])\r\n this.countries!.push(CountryDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationRequestDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationRequestDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"illustrationStage\"] = this.illustrationStage ? this.illustrationStage.toJSON() : undefined;\r\n data[\"assignedToId\"] = this.assignedToId;\r\n data[\"assignedToEmail\"] = this.assignedToEmail;\r\n data[\"insuropeTypeOfBusiness\"] = this.insuropeTypeOfBusiness;\r\n data[\"commonCurrencyId\"] = this.commonCurrencyId;\r\n data[\"memberTypeOfBusiness\"] = this.memberTypeOfBusiness;\r\n data[\"brokerName\"] = this.brokerName;\r\n data[\"renewal\"] = this.renewal;\r\n data[\"statusComment\"] = this.statusComment;\r\n data[\"networkMemberComments\"] = this.networkMemberComments;\r\n data[\"insuropeAdditionalComments\"] = this.insuropeAdditionalComments;\r\n data[\"wordMPPPath\"] = this.wordMPPPath;\r\n if (Array.isArray(this.illustrationRevisions)) {\r\n data[\"illustrationRevisions\"] = [];\r\n for (let item of this.illustrationRevisions)\r\n data[\"illustrationRevisions\"].push(item.toJSON());\r\n }\r\n data[\"illustrationType\"] = this.illustrationType ? this.illustrationType.toJSON() : undefined;\r\n data[\"salesRepresentative\"] = this.salesRepresentative ? this.salesRepresentative.toJSON() : undefined;\r\n data[\"supportRepresentative\"] = this.supportRepresentative ? this.supportRepresentative.toJSON() : undefined;\r\n data[\"networkMember\"] = this.networkMember ? this.networkMember.toJSON() : undefined;\r\n if (Array.isArray(this.countries)) {\r\n data[\"countries\"] = [];\r\n for (let item of this.countries)\r\n data[\"countries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationRequestDto {\r\n id?: string;\r\n clientName?: string;\r\n clientId?: string;\r\n illustrationStage?: IllustrationStageDto;\r\n assignedToId?: string | undefined;\r\n assignedToEmail?: string;\r\n insuropeTypeOfBusiness?: boolean | undefined;\r\n commonCurrencyId?: string;\r\n memberTypeOfBusiness?: string;\r\n brokerName?: string;\r\n renewal?: boolean | undefined;\r\n statusComment?: string;\r\n networkMemberComments?: string;\r\n insuropeAdditionalComments?: string;\r\n wordMPPPath?: string;\r\n illustrationRevisions?: IllustrationRevisionDto[];\r\n illustrationType?: IllustrationTypeDto;\r\n salesRepresentative?: GraphApiUserDto;\r\n supportRepresentative?: GraphApiUserDto;\r\n networkMember?: AccountDto;\r\n countries?: CountryDto[];\r\n networkMemberSubscribers?: string[];\r\n}\r\n\r\nexport class IllustrationStageDto implements IIllustrationStageDto {\r\n id?: string;\r\n name?: string;\r\n\r\n constructor(data?: IIllustrationStageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationStageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationStageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationStageDto {\r\n id?: string;\r\n name?: string;\r\n}\r\n\r\nexport class IllustrationRevisionDto implements IIllustrationRevisionDto {\r\n id?: string;\r\n requesterEmail?: string | undefined;\r\n requestDate?: Date | undefined;\r\n finalizedSupportDate?: Date | undefined;\r\n poolable?: boolean | undefined;\r\n revisionNumber?: number;\r\n illustrationRevisionOptions?: IllustrationRevisionOptionDto[];\r\n illustrationRevisionAttachments?: IllustrationRevisionAttachmentDto[];\r\n\r\n constructor(data?: IIllustrationRevisionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.requesterEmail = _data[\"requesterEmail\"];\r\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\r\n this.finalizedSupportDate = _data[\"finalizedSupportDate\"] ? new Date(_data[\"finalizedSupportDate\"].toString()) : undefined;\r\n this.poolable = _data[\"poolable\"];\r\n this.revisionNumber = _data[\"revisionNumber\"];\r\n if (Array.isArray(_data[\"illustrationRevisionOptions\"])) {\r\n this.illustrationRevisionOptions = [] as any;\r\n for (let item of _data[\"illustrationRevisionOptions\"])\r\n this.illustrationRevisionOptions!.push(IllustrationRevisionOptionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"illustrationRevisionAttachments\"])) {\r\n this.illustrationRevisionAttachments = [] as any;\r\n for (let item of _data[\"illustrationRevisionAttachments\"])\r\n this.illustrationRevisionAttachments!.push(IllustrationRevisionAttachmentDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationRevisionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationRevisionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"requesterEmail\"] = this.requesterEmail;\r\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\r\n data[\"finalizedSupportDate\"] = this.finalizedSupportDate ? this.finalizedSupportDate.toISOString() : undefined;\r\n data[\"poolable\"] = this.poolable;\r\n data[\"revisionNumber\"] = this.revisionNumber;\r\n if (Array.isArray(this.illustrationRevisionOptions)) {\r\n data[\"illustrationRevisionOptions\"] = [];\r\n for (let item of this.illustrationRevisionOptions)\r\n data[\"illustrationRevisionOptions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.illustrationRevisionAttachments)) {\r\n data[\"illustrationRevisionAttachments\"] = [];\r\n for (let item of this.illustrationRevisionAttachments)\r\n data[\"illustrationRevisionAttachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationRevisionDto {\r\n id?: string;\r\n requesterEmail?: string | undefined;\r\n requestDate?: Date | undefined;\r\n finalizedSupportDate?: Date | undefined;\r\n poolable?: boolean | undefined;\r\n revisionNumber?: number;\r\n illustrationRevisionOptions?: IllustrationRevisionOptionDto[];\r\n illustrationRevisionAttachments?: IllustrationRevisionAttachmentDto[];\r\n}\r\n\r\nexport class IllustrationRevisionOptionDto implements IIllustrationRevisionOptionDto {\r\n id?: string;\r\n sentToSalesRepresentativeBy?: string;\r\n sentToSalesRepresentativeDate?: Date;\r\n sentToNetworkMemberBy?: string;\r\n sentToNetworkMemberDate?: Date;\r\n sentToClientBy?: string;\r\n sentToClientDate?: Date;\r\n deleted?: boolean | undefined;\r\n sentFinalToRd?: string;\r\n sentFinalToRdDate?: Date;\r\n calcOpportunityId?: string;\r\n assignedOpportunityIds?: string;\r\n wordMPPPath?: string;\r\n pdfmppPath?: string;\r\n pdfmppName?: string;\r\n pdflocPath?: string;\r\n pdflocName?: string;\r\n optionGeneralOutput?: OptionGeneralOutputDto;\r\n\r\n constructor(data?: IIllustrationRevisionOptionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sentToSalesRepresentativeBy = _data[\"sentToSalesRepresentativeBy\"];\r\n this.sentToSalesRepresentativeDate = _data[\"sentToSalesRepresentativeDate\"] ? new Date(_data[\"sentToSalesRepresentativeDate\"].toString()) : undefined;\r\n this.sentToNetworkMemberBy = _data[\"sentToNetworkMemberBy\"];\r\n this.sentToNetworkMemberDate = _data[\"sentToNetworkMemberDate\"] ? new Date(_data[\"sentToNetworkMemberDate\"].toString()) : undefined;\r\n this.sentToClientBy = _data[\"sentToClientBy\"];\r\n this.sentToClientDate = _data[\"sentToClientDate\"] ? new Date(_data[\"sentToClientDate\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.sentFinalToRd = _data[\"sentFinalToRd\"];\r\n this.sentFinalToRdDate = _data[\"sentFinalToRdDate\"] ? new Date(_data[\"sentFinalToRdDate\"].toString()) : undefined;\r\n this.calcOpportunityId = _data[\"calcOpportunityId\"];\r\n this.assignedOpportunityIds = _data[\"assignedOpportunityIds\"];\r\n this.wordMPPPath = _data[\"wordMPPPath\"];\r\n this.pdfmppPath = _data[\"pdfmppPath\"];\r\n this.pdfmppName = _data[\"pdfmppName\"];\r\n this.pdflocPath = _data[\"pdflocPath\"];\r\n this.pdflocName = _data[\"pdflocName\"];\r\n this.optionGeneralOutput = _data[\"optionGeneralOutput\"] ? OptionGeneralOutputDto.fromJS(_data[\"optionGeneralOutput\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationRevisionOptionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationRevisionOptionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sentToSalesRepresentativeBy\"] = this.sentToSalesRepresentativeBy;\r\n data[\"sentToSalesRepresentativeDate\"] = this.sentToSalesRepresentativeDate ? this.sentToSalesRepresentativeDate.toISOString() : undefined;\r\n data[\"sentToNetworkMemberBy\"] = this.sentToNetworkMemberBy;\r\n data[\"sentToNetworkMemberDate\"] = this.sentToNetworkMemberDate ? this.sentToNetworkMemberDate.toISOString() : undefined;\r\n data[\"sentToClientBy\"] = this.sentToClientBy;\r\n data[\"sentToClientDate\"] = this.sentToClientDate ? this.sentToClientDate.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"sentFinalToRd\"] = this.sentFinalToRd;\r\n data[\"sentFinalToRdDate\"] = this.sentFinalToRdDate ? this.sentFinalToRdDate.toISOString() : undefined;\r\n data[\"calcOpportunityId\"] = this.calcOpportunityId;\r\n data[\"assignedOpportunityIds\"] = this.assignedOpportunityIds;\r\n data[\"wordMPPPath\"] = this.wordMPPPath;\r\n data[\"pdfmppPath\"] = this.pdfmppPath;\r\n data[\"pdfmppName\"] = this.pdfmppName;\r\n data[\"pdflocPath\"] = this.pdflocPath;\r\n data[\"pdflocName\"] = this.pdflocName;\r\n data[\"optionGeneralOutput\"] = this.optionGeneralOutput ? this.optionGeneralOutput.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationRevisionOptionDto {\r\n id?: string;\r\n sentToSalesRepresentativeBy?: string;\r\n sentToSalesRepresentativeDate?: Date;\r\n sentToNetworkMemberBy?: string;\r\n sentToNetworkMemberDate?: Date;\r\n sentToClientBy?: string;\r\n sentToClientDate?: Date;\r\n deleted?: boolean | undefined;\r\n sentFinalToRd?: string;\r\n sentFinalToRdDate?: Date;\r\n calcOpportunityId?: string;\r\n assignedOpportunityIds?: string;\r\n wordMPPPath?: string;\r\n pdfmppPath?: string;\r\n pdfmppName?: string;\r\n pdflocPath?: string;\r\n pdflocName?: string;\r\n optionGeneralOutput?: OptionGeneralOutputDto;\r\n}\r\n\r\nexport class OptionGeneralOutputDto implements IOptionGeneralOutputDto {\r\n id?: string;\r\n poolingSystem?: string;\r\n\r\n constructor(data?: IOptionGeneralOutputDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.poolingSystem = _data[\"poolingSystem\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OptionGeneralOutputDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OptionGeneralOutputDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"poolingSystem\"] = this.poolingSystem;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOptionGeneralOutputDto {\r\n id?: string;\r\n poolingSystem?: string;\r\n}\r\n\r\nexport class IllustrationRevisionAttachmentDto implements IIllustrationRevisionAttachmentDto {\r\n id?: string;\r\n fileName?: string;\r\n filePath?: string;\r\n illustrationRevisionId?: string;\r\n opportunityId?: string;\r\n createdDate?: Date;\r\n\r\n constructor(data?: IIllustrationRevisionAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.filePath = _data[\"filePath\"];\r\n this.illustrationRevisionId = _data[\"illustrationRevisionId\"];\r\n this.opportunityId = _data[\"opportunityId\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationRevisionAttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationRevisionAttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"filePath\"] = this.filePath;\r\n data[\"illustrationRevisionId\"] = this.illustrationRevisionId;\r\n data[\"opportunityId\"] = this.opportunityId;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationRevisionAttachmentDto {\r\n id?: string;\r\n fileName?: string;\r\n filePath?: string;\r\n illustrationRevisionId?: string;\r\n opportunityId?: string;\r\n createdDate?: Date;\r\n}\r\n\r\nexport class IllustrationTypeDto implements IIllustrationTypeDto {\r\n id?: string;\r\n name?: string;\r\n\r\n constructor(data?: IIllustrationTypeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationTypeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationTypeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationTypeDto {\r\n id?: string;\r\n name?: string;\r\n}\r\n\r\nexport class GraphApiUserDto implements IGraphApiUserDto {\r\n id?: string;\r\n displayName?: string;\r\n mail?: string;\r\n\r\n constructor(data?: IGraphApiUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.mail = _data[\"mail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GraphApiUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GraphApiUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"mail\"] = this.mail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGraphApiUserDto {\r\n id?: string;\r\n displayName?: string;\r\n mail?: string;\r\n}\r\n\r\nexport class CreateIllustrationCommand implements ICreateIllustrationCommand {\r\n clientId?: string | undefined;\r\n clientName?: string | undefined;\r\n additionalComment?: string;\r\n insuropeTypeOfBusiness?: string;\r\n countriesId?: string[];\r\n files?: CustomFile[];\r\n networkMemberId?: string;\r\n insuropeSubscribers?: SubscriberConfigDto[];\r\n networkMemberSubscribers?: SubscriberConfigDto[];\r\n\r\n constructor(data?: ICreateIllustrationCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.additionalComment = _data[\"additionalComment\"];\r\n this.insuropeTypeOfBusiness = _data[\"insuropeTypeOfBusiness\"];\r\n if (Array.isArray(_data[\"countriesId\"])) {\r\n this.countriesId = [] as any;\r\n for (let item of _data[\"countriesId\"])\r\n this.countriesId!.push(item);\r\n }\r\n if (Array.isArray(_data[\"files\"])) {\r\n this.files = [] as any;\r\n for (let item of _data[\"files\"])\r\n this.files!.push(CustomFile.fromJS(item));\r\n }\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(SubscriberConfigDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(SubscriberConfigDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateIllustrationCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateIllustrationCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"additionalComment\"] = this.additionalComment;\r\n data[\"insuropeTypeOfBusiness\"] = this.insuropeTypeOfBusiness;\r\n if (Array.isArray(this.countriesId)) {\r\n data[\"countriesId\"] = [];\r\n for (let item of this.countriesId)\r\n data[\"countriesId\"].push(item);\r\n }\r\n if (Array.isArray(this.files)) {\r\n data[\"files\"] = [];\r\n for (let item of this.files)\r\n data[\"files\"].push(item.toJSON());\r\n }\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateIllustrationCommand {\r\n clientId?: string | undefined;\r\n clientName?: string | undefined;\r\n additionalComment?: string;\r\n insuropeTypeOfBusiness?: string;\r\n countriesId?: string[];\r\n files?: CustomFile[];\r\n networkMemberId?: string;\r\n insuropeSubscribers?: SubscriberConfigDto[];\r\n networkMemberSubscribers?: SubscriberConfigDto[];\r\n}\r\n\r\nexport class CustomFile implements ICustomFile {\r\n file?: string;\r\n fileName?: string;\r\n\r\n constructor(data?: ICustomFile) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.file = _data[\"file\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomFile {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomFile();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"file\"] = this.file;\r\n data[\"fileName\"] = this.fileName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomFile {\r\n file?: string;\r\n fileName?: string;\r\n}\r\n\r\nexport class SubscriberConfigDto implements ISubscriberConfigDto {\r\n id?: string;\r\n isManuallyAdded?: boolean;\r\n isDeleted?: boolean;\r\n\r\n constructor(data?: ISubscriberConfigDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isManuallyAdded = _data[\"isManuallyAdded\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SubscriberConfigDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SubscriberConfigDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isManuallyAdded\"] = this.isManuallyAdded;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISubscriberConfigDto {\r\n id?: string;\r\n isManuallyAdded?: boolean;\r\n isDeleted?: boolean;\r\n}\r\n\r\nexport class UpdateQuestionCommand implements IUpdateQuestionCommand {\r\n categoryId?: string;\r\n question?: Question;\r\n\r\n constructor(data?: IUpdateQuestionCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.categoryId = _data[\"categoryId\"];\r\n this.question = _data[\"question\"] ? Question.fromJS(_data[\"question\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateQuestionCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateQuestionCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"categoryId\"] = this.categoryId;\r\n data[\"question\"] = this.question ? this.question.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateQuestionCommand {\r\n categoryId?: string;\r\n question?: Question;\r\n}\r\n\r\nexport class EmbedParamsDTO implements IEmbedParamsDTO {\r\n type?: string;\r\n embedReport?: EmbedReportDTO[];\r\n embedToken?: EmbedToken;\r\n\r\n constructor(data?: IEmbedParamsDTO) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"embedReport\"])) {\r\n this.embedReport = [] as any;\r\n for (let item of _data[\"embedReport\"])\r\n this.embedReport!.push(EmbedReportDTO.fromJS(item));\r\n }\r\n this.embedToken = _data[\"embedToken\"] ? EmbedToken.fromJS(_data[\"embedToken\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmbedParamsDTO {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmbedParamsDTO();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.embedReport)) {\r\n data[\"embedReport\"] = [];\r\n for (let item of this.embedReport)\r\n data[\"embedReport\"].push(item.toJSON());\r\n }\r\n data[\"embedToken\"] = this.embedToken ? this.embedToken.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmbedParamsDTO {\r\n type?: string;\r\n embedReport?: EmbedReportDTO[];\r\n embedToken?: EmbedToken;\r\n}\r\n\r\nexport class EmbedReportDTO implements IEmbedReportDTO {\r\n reportId?: string;\r\n reportName?: string;\r\n embedUrl?: string;\r\n\r\n constructor(data?: IEmbedReportDTO) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reportId = _data[\"reportId\"];\r\n this.reportName = _data[\"reportName\"];\r\n this.embedUrl = _data[\"embedUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmbedReportDTO {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmbedReportDTO();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reportId\"] = this.reportId;\r\n data[\"reportName\"] = this.reportName;\r\n data[\"embedUrl\"] = this.embedUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmbedReportDTO {\r\n reportId?: string;\r\n reportName?: string;\r\n embedUrl?: string;\r\n}\r\n\r\nexport class EmbedToken implements IEmbedToken {\r\n token?: string | undefined;\r\n tokenId?: string;\r\n expiration?: Date;\r\n\r\n constructor(data?: IEmbedToken) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.token = _data[\"token\"];\r\n this.tokenId = _data[\"tokenId\"];\r\n this.expiration = _data[\"expiration\"] ? new Date(_data[\"expiration\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmbedToken {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmbedToken();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"token\"] = this.token;\r\n data[\"tokenId\"] = this.tokenId;\r\n data[\"expiration\"] = this.expiration ? this.expiration.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmbedToken {\r\n token?: string | undefined;\r\n tokenId?: string;\r\n expiration?: Date;\r\n}\r\n\r\nexport class PowerBiReportDetails implements IPowerBiReportDetails {\r\n reportName?: string;\r\n reportId?: string;\r\n roles?: string[];\r\n\r\n constructor(data?: IPowerBiReportDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reportName = _data[\"reportName\"];\r\n this.reportId = _data[\"reportId\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PowerBiReportDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PowerBiReportDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reportName\"] = this.reportName;\r\n data[\"reportId\"] = this.reportId;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPowerBiReportDetails {\r\n reportName?: string;\r\n reportId?: string;\r\n roles?: string[];\r\n}\r\n\r\nexport class ReportAccessRoles implements IReportAccessRoles {\r\n reportName?: string;\r\n reportRoles?: string[];\r\n\r\n constructor(data?: IReportAccessRoles) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reportName = _data[\"reportName\"];\r\n if (Array.isArray(_data[\"reportRoles\"])) {\r\n this.reportRoles = [] as any;\r\n for (let item of _data[\"reportRoles\"])\r\n this.reportRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportAccessRoles {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportAccessRoles();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reportName\"] = this.reportName;\r\n if (Array.isArray(this.reportRoles)) {\r\n data[\"reportRoles\"] = [];\r\n for (let item of this.reportRoles)\r\n data[\"reportRoles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportAccessRoles {\r\n reportName?: string;\r\n reportRoles?: string[];\r\n}\r\n\r\nexport enum SettingCategory {\r\n Jobs = 0,\r\n Tasks = 1,\r\n PowerBiAccessRoles = 2,\r\n}\r\n\r\nexport class NewPowerBiReportSettings implements INewPowerBiReportSettings {\r\n name?: string;\r\n description?: string;\r\n value?: ReportAccessRoles;\r\n\r\n constructor(data?: INewPowerBiReportSettings) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.value = _data[\"value\"] ? ReportAccessRoles.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewPowerBiReportSettings {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewPowerBiReportSettings();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewPowerBiReportSettings {\r\n name?: string;\r\n description?: string;\r\n value?: ReportAccessRoles;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class SwaggerException 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(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\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 isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\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}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */","/* (ignored) */"],"names":["ActivatedRouteSnapshot","Router","MessageType","RoleGuardService","constructor","userService","popupNotificationService","router","checkUserRole","user","getCurrentUser","isFinancial","canActivate","route","authorizedRoles","data","loadedUser","isUnauthorized","navigate","roles","showMessage","Warning","userHasRole","role","isUserInRole","i0","factory","providedIn","NavigationCancel","MSAL_GUARD_CONFIG","EventType","InteractionType","InteractionStatus","Subject","filter","takeUntil","apiConfig","b2cPolicies","UserAction","AppComponent","msalGuardConfig","authService","msalBroadcastService","ngOnInit","localStorage","removeItem","events","subscribe","event","isIframe","getItem","setItem","url","window","parent","opener","loadingAccount","setTimeout","checkAndSetActiveAccount","instance","getActiveAccount","acquireTokenSilent","account","loginRedirect","msalSubject$","pipe","msg","eventType","LOGIN_SUCCESS","ACQUIRE_TOKEN_SUCCESS","result","notAuthenticated","payload","idTokenClaims","names","editProfile","alert","logout","setActiveAccount","termsAndConditions","approved","privacyNotices","navigateByUrl","termsAndConditionsAccepted","logUserAccess","LOGIN_FAILURE","ACQUIRE_TOKEN_FAILURE","_destroying$","inProgress$","status","None","setLoginDisplay","handleRedirectObservable","next","error","console","log","logUserActivity","Login","id","email","loginDisplay","getAllAccounts","length","activeAccount","accounts","interactionType","Popup","logoutPopup","mainWindowRedirectUri","logoutRedirect","then","usr","editProfileFlowRequest","scopes","authority","authorities","ngOnDestroy","undefined","complete","selectors","decls","vars","consts","template","_r1","EventEmitter","QueryList","SimpleChanges","faDownload","AccountDto","ContactDto","PaginatedListOfCrmAttachmentDto","PaginatedListOfExpansionPlanDto","TechnicalContact","XLSX","NgbdSortableHeaderDirective","ClientsDetailComponent","clientsService","accountService","popupNotifications","contactsService","ngOnChanges","changes","client","currentValue","loadContacts","loadContractualDocuments","loadAttachments","loadExpansionPlans","downloadAttachment","attachmentId","loadingContractualDocuments","loadingAttachments","loadingImportantFiles","file","a","document","createElement","body","appendChild","blob","Blob","type","URL","createObjectURL","href","download","fileName","click","revokeObjectURL","changeView","view","changeClientViewActiveTab","emit","viewToDisplay","downloadLatestAccountingExcel","getAccountExcelFile","externalAccountNumber","page","loadingExpansionPlans","expansionPlansPageNumber","expansionPlans","getAccountExpansionPlan","pageSize","sortColumn","sortDirection","attachmentsPageNumber","attachments","getClientContracts","items","forEach","att","order","len","fileSize","sizes","attachmentsSizes","push","toFixed","loadingContacts","technicalContact","getTechnicalContact","companyContact","GetPrimaryContactFromAccount","consultantContact","GetConsultantContactFromAccount","contractualDocumentsPageNumber","contractualDocuments","getClientContractualDocuments","contractualDocumentsSizes","exportexcel","exportingExpansionPlans","elements","totalCount","map","item","ws","utils","json_to_sheet","wb","book_new","book_append_sheet","writeFile","accountName","onSort","column","direction","headers","header","sortable","counter","i","Array","viewQuery","FileSaver","AttachmentListComponent","activatedroute","popupNotificationsService","commentService","documentService","booleanTaskService","taskId","snapshot","paramMap","get","sort","b","Date","fileDate","getTime","downloadFileFromPath","filePath","downloadingFile","service","downloadString","split","pop","setAttribute","style","display","removeChild","catch","Error","downloadFile","isSystemAttachment","name","downloadCommentFile","commentId","downloadAdminDbFile","path","fileType","getAdminDbDocToPdf","imageBlob","dataURItoBlob","newPath","sanitizeFileName","test","File","saveAs","dataURI","byteString","atob","arrayBuffer","ArrayBuffer","int8Array","Uint8Array","charCodeAt","formatdate","toLocaleDateString","month","day","year","hour","minute","inputs","commentAttachments","adminDbAttachments","illustrationAttachments","title","ElementRef","fromEvent","debounceTime","distinctUntilChanged","ClientsSearchComponent","activatedRoute","searchInputField","nativeElement","value","isOnClientView","target","res","text","clickedOnClient","fetchClients","loadClientByName","clearSearch","term","searchResult","searchingClient","getClientsByName","relativeTo","queryParams","clientName","queryParamsHandling","loadClient","clientId","clientEmitter","ActivatedRoute","UserRoles","MultipleFilterSearchComponent","changeFilter","getTitle","queryParamMap","params","printMessage","isNetworkMember","NetworkMember","index","filters","isPaymentsRoute","currentUrl","includes","isOnOverview","isOnIllustration","isPayments","process","NetworkMemberFilterComponent","networkMemberService","networkMemberId","getNetworkMemberById","clickedOnNm","fetchNM","filteredNetworkMembers","searchingNetworkMembers","getNetworkMembersByName","toLowerCase","selectNm","nmId","loadNetworkMember","networkMember","networkMemberEmitter","TasksStatus","StatusFilterComponent","commonService","Open","InProgress","Finalized","Closed","options","storageStatus","selected","parseInt","selectStatus","filteredOptions","ctx","Subscription","Observable","faCircleXmark","TagFilterComponent","CommentService","tagSelectedSubscription","tagSelected","tags","addTag","fetchTags","clickedOnTag","searchingTags","selectedTags","filteredTags","filteredCommentsEventEmitter","comments","filteredComments","filterCommentsByTag","messageSent","unsubscribe","comment","every","tag","some","e","tagName","startsWith","trim","removeTag","t","FormControl","FormGroup","UsersSearchComponent","inputGroup","search","selectedUserId","getUserById","preferredEmail","isInternal","Collaborator","users","getAllUsersByNetworkMemberId","getAllUsersByConnectedNetworkMemberId","clickedOnUser","fetchUser","filteredUsers","searchingUsers","getAllSubscriber","val","selectUser","find","x","addSubscriber","subscriberId","inOverview","NgbDateStruct","parseDate","YearFilterComponent","dateString","dateInput","dueDate","changeDate","getFullYear","toString","faBell","faEnvelope","faUser","HeaderComponent","userName","getCurrentUserName","NgxDocViewerModule","ModalComponent","activeModal","loading","standalone","features","i2","styles","faChevronDown","faEye","faFile","faHandshake","faCalculator","faCreditCard","faMugHot","faChartLine","faCircleQuestion","environment","NavMenuComponent","reportingClient","innerWidth","toggleNav","isExpanded","isDisabled","w","isClient","Client","isDevelopment","production","createReportsSubMenu","onResize","getReportsName","reportsSubMenuItems","ProcessIds","ctx_r0","ctx_r1","IllustrationDetailComponent","location","illustrationService","sanitizer","titleService","toastrService","illustrations","clientSubscribers","networkMemberSubscribers","insuropeSubscribers","getIllustration","illustrationId","illustration","getIllustrationById","task","discussion","getDiscussionByTaskId","illustrationRevisions","revisionNumber","filePathList","mppFilePaths","illustrationRevisionOptions","sentToNetworkMemberDate","pdfmppPath","deleted","pdfmppName","locFilePaths","pdflocPath","pdflocName","revisionOptionMpp","revisionId","filesPath","finalizedDate","finalizedSupportDate","rev","illustrationRevisionAttachments","internalSubscriber","active","salesRepresentative","mail","subscriberEmail","networkMemberSubscriber","taskSubscribers","supportRepresentative","skipLocationChange","setTitle","sanitize","bypassSecurityTrustUrl","downloadMppFile","loadingMppFile","geIllustrationtDocument","faBars","faTh","_","IllustrationListComponent","networkMembersService","loadIllustrations","isTableViewStoredValueKey","isTableView","storedValue","JSON","parse","changeIsTableViewValue","loadMore","loadingIllustrations","newItems","has","networkmember","statusCode","getMyOrganizationIllustrationsPaginated","networkMemberIDs","getIllustrationsPaginated","hideShowMoreBtn","updatedItems","updatedIllustration","concat","getElementById","classList","add","remove","stringify","replace","oldCharacter","newCharacter","getFinalizedSupportDate","maxDate","max","displayFilter","onOverview","faCheck","faTimes","CommentType","faChevronUp","NotificationFrequency","NotificationType","BooleanTaskDetailComponent","datePipe","loadingTask","isCollaborator","activeBooleanTask","getTaskStatusByNumber","displayTaskAction","processId","isDeleted","getCommentAttachments","deletedCommentEventSubscription","deleteCommentEvent","filterOutDeletedAttachments","commentAttachmentAddedEventSubscription","addCommentAttachmentEvent","attachment","updateAttachmentsList","approveDisaproveTask","approvedTask","changeTaskBooleanStatus","commentDto","content","processName","networkMemberName","country","files","isEdited","isHtmlText","commentType","Comment","notificationFrequency","Instantly","notificationType","EmailNotification","addComment","getButtonName","reject","rejectedTask","flat","sortedAttachemnts","getDueDate","booleanTask","overdueDate","transform","getApprovalDate","approvalDate","dateYear","getMetaData","sourceId","parsed","metaData","approvalQuestions","ApprovalQuestions","periodEndDate","PeriodEndDate","isNaN","SortOrder","SortingElement","faSort","head_r11","BooleanTaskListComponent","isMuView","updateProcess","checkUserRoles","lastRefreshDate","getHangfireJobStartDateExecution","changeIsMuView","muView","updateTitle","head","property","loadtasks","loadingBooleanTask","storageDueDate","filterParameter","NetworkMemberIds","ClientId","ClientName","SubscriberId","Status","ProcessId","OverdueDate","sortBystatus","columnName","getPropertyName","obj","sortOrder","Ascending","sortingElements","sortByDueDate","Descending","sortByClient","getMyOrganization","getTasks","propertyAccessor","match","statusFilter","tableView","NgZone","merge","CommentDetailComponent","text$","debouncedText$","clicksWithClosedPopup$","click$","isPopupOpen","inputFocus$","focus$","distinctTags","Set","allTags","v","indexOf","dismissPopup","slice","templateForm","textEditor","allDiscussionTags","commentReplyTagsSubscription","getCommentReplyTagsList","getCommentReplyTags","clientReplyTagsSubscription","getClientReplyTagValue","getClientReplyTag","editCommentSubscription","editCommentEvent","editComment","defaultTags","valueChanges","valid","isValid","approval","tagReplyParameter","commentTags","formattedMessage","message","fillQuillEditorWithText","param","approvalComments","join","messageText","isClientReply","quillEditor","replyTextTitle","insertText","titleIndex","getText","formatText","setSelection","scrollToQuillEditor","editorElement","elementRef","scrollIntoView","behavior","block","onDragOver","dragAreaClass","preventDefault","onDragEnter","onDragEnd","onDragLeave","onDrop","stopPropagation","dataTransfer","fileUploaded","isUploaded","response","filesSize","size","decodedFileName","decodeURIComponent","fileNameParts","extension","cleanedFileName","newFileName","MAX_FILES_SIZE","removeFile","showFilesError","showError","splice","onClickSubmit","multipoolApprovals","Scheduled","commentFormDto","Reply","isEdit","sentNotification","shoudlSendNotification","commentEvent","reset","model","deleteTag","getAccountFile","fileResponse","getAdminDbDocument","Boolean","commentForm","showAdminDbError","updatedCommentText","lines","lineText","htmlToPlainText","cancelEdit","deleteText","getLength","html","div","innerHTML","traverseDOM","node","nodeType","Node","TEXT_NODE","textContent","ELEMENT_NODE","Element","childNodes","Renderer2","faFilePdf","faFileExcel","faFileCsv","ctx_r2","CommentItemComponent","renderer","onKeyDown","maxLength","canBeEdited","Automated","userId","canBeDeleted","discussionTags","clientNameList","generateCommentPreview","getPseudo","ngAfterViewInit","contentDiv","maxHeight","maxCommentElementHeight","scrollingHeight","scrollHeight","maxElementHeight","showButton","pseudo","firstName","lastName","convertFileType","addReplyTags","replyTags","TagReplyParameter","setCommentReplyTagsList","findIndex","deleteCommentTags","discussionId","$event","newTag","addCommentTag","filterByTag","filterByTagEvent","toggleExpand","commentText","convertToPlainText","sanitizedText","bypassSecurityTrustHtml","expandCollapseComment","shouldExpand","showMore","deleteComment","editeComment","parser","DOMParser","doc","parseFromString","paragraphElements","querySelectorAll","titleElement","querySelector","listElement","p","paragraphText","line","mainItem","substring","DiscussionDto","TaskSubscribersDto","CommentDto","faTrashCan","jsPDF","ctx_r6","ctx_r8","CommentListComponent","customProcessId","commentSubscribersSubscription","updateCommentSubscribers","subscribers","getSubscibers","customSubscriberProvider","getIllustrationTaskSubscriber","illustrationRequestSubscribers","IsCollaborator","editCommentDto","TaskId","CommentId","Content","SendNotification","PeriodEnd","periodEnd","ProcessName","NetworkMemberName","CustomSubscriberProvider","Country","Title","addCommentDto","accountInputs","annualReport","changeTaskStatus","exportDiscussion","exportCommentBuilder","imageData","messageHeader","toDateString","images","htmlToPlainTextWithImages","generatePDF","traverseDOMWithImages","depth","maxDepth","warn","traverseChildren","imgSrc","getAttribute","img","Image","src","Promise","resolve","onload","imgWidth","naturalWidth","imgHeight","naturalHeight","maxWidth","widthRatio","heightRatio","scale","Math","min","y","width","height","child","from","childText","margin","lineSpacing","pageWidth","internal","pageHeight","endsWith","setTextColor","cleanLine","image","shift","imgData","convertImageToBase64","originalImg","addPage","addImage","save","fetch","reader","FileReader","onloadend","readAsDataURL","copySubscriberEmail","navigator","clipboard","writeText","getNetworkMemberId","sub","deleteSubscriber","subs","isCommentDeletable","limitDate","getDate","dateTime","loadTagByName","selectedTag","searchTagField","updateCommentList","updateSelectedTag","setQuillFocusEvent","quillEditorSetFocus","onNgDestroy","replyTagsSubscription","faTrash","Attachment","FileUploadTaskDetailComponent","fileUploadTaskService","activeFileUploadTask","statusText","uploadedFiles","savingLoader","uploadFileToTask","head_r16","FileUploadTaskListComponent","now","clientIdParam","loadingUploadTask","NetworkMemberId","sortBycreatedDate","getSendNmDate","metadata","SendNMDate","getSendClientDate","SendClientDate","backBtn","noResultText","GeneralTaskDto","InformativeDetailComponent","informativeService","informative","activeTask","newDueDate","displayDate","commentAtt","doneByNm","ChangeDoneByNm","fileList","getPayToStatus","payTo","payStartedDate","formattedDate","class","multipoolPayments","displaySubTitle","head_r22","InformativeListComponent","defaultDate","searchDateLimit","setFullYear","loadInformatives","loadingInformativeTask","DueDate","storagePayTo","PayTo","getMonth","models","ReportsComponent","routeReuseStrategy","shouldReuseRoute","reportName","connectedUser","loadReport","report","getToken","toPromise","firstReportUrl","embedReport","embedUrl","reportConfig","reportId","accessToken","embedToken","token","tokenType","TokenType","Embed","settings","panes","expanded","visible","hyperlinkClickBehavior","HyperlinkClickBehavior","NavigateAndRaiseEvent","background","BackgroundType","Transparent","customLayout","displayOption","DisplayOption","FitToWidth","ctx_r3","AccountInputDetailPageComponent","getFileUploadTaskByIdAndSetActive","getTaskSubescribersByDiscussionId","initializeMetadatas","outstandingInputs","outstandingInputsForExcel","outstandingInputsToDisplay","addClientNameToTags","setClientReplyTagValue","OutstandingInputs","c","sa","PoolingSystem","mu","selectedColumns","xrPrValue","IsXrcolumn","IsPrcolumn","SubsidiaryName","CountryName","ApprovalLetter","AccountInputListPageComponent","ApprovalsDetailPageComponent","getBooleanTaskById","isMuTask","networkMembers","getDefaultTags","upsertDefaultTag","handledByNetworkMemberTag","handledByInsuropeTag","Approved","question","element","worksheet","table_to_sheet","filteredData","filterOutTheColumnsWithoutHeaders","filteredWorksheet","aoa_to_sheet","filteredRange","decode_range","addFormatting","workBook","range","C","s","cellAddress","r","cellRef","encode_cell","cell","nonEmptyColumns","R","row","colWidths","fill","rowCount","columnCount","col","cellContentLength","maxColumnWidth","alignment","vertical","wrapText","font","bold","wch","ApproveDisapproveClient","approvalQuestion","approvedByNetworkMember","ApprovedByNetworkMember","networkMemberApprovalDate","getUTCDate","commentMessage","SubsidiaryLabel","CommentParameter","updateTask","loadAll","GetButtonName","isApproveByNetworkMember","ApprovalsListPageComponent","changeIsMultipoolViewValue","isMultipoolViewValue","ClientsComponent","getClientSearchResponse","getAccountById","latestAnnualReportId","latestCompositionReportId","latestDividendPaymentLetterId","toJSON","getClientImportantDocuments","tabName","showDashboard","ModalBasicComponent","FaqCategoriesComponent","faqService","modalService","faqCategories","getFaqCategories","isContentEditor","ContentEditor","questions","getQuestionsOfCategory","getCategoryID","category","selectCategory","addFaqCategory","newCategory","updateFaqCategory","updateCategory","updateFaqCateogry","openCat","modalRef","open","componentInstance","isQuestion","addQuestion","newQuestionTitle","newQuestionAnswer","updateQuestion","deleteQuestion","categoryId","openQuestion","deleteQuest","questionId","FinalizedAccountsDetailPageComponent","XRReqCount","FinalizedAccountsListPageComponent","IllustrationInputDetailPageComponent","IllustrationInputListPageComponent","OverviewComponent","searchNetworkMember","hideServiceFees","PaymentsDetailPageComponent","informativeTaskService","isLoading","getInformative","PaymentsListPageComponent","PoolingPermissionsDetailPageComponent","PoolingPermissionsListPageComponent","UntypedFormControl","UntypedFormGroup","Validators","DOCUMENT","CustomFile","SubscriberConfigDto","RequestIllustrationComponent","accountsService","required","AdditionalComment","InsuropeTypeOfBusiness","getElementsByTagName","onclick","filteredClients","newClient","filteredCountries","networkMemberIds","currentUser","currentUserId","displaySubs","countries","selectedCountry","illustrationForm","controls","setValue","subscriptions","searchInputClientField","fetchClient","selectedClient","searchInputCountryField","fetchCountry","subscription","illustrationStage","getPooledAndProspectAccountsByName","searchingCountry","selectClient","selectCountry","showWarningMessage","createIllustration","sendingRequest","getRawValue","countriesId","iso2","subConfig","isManuallyAdded","Success","ServiceFeesDetailPageComponent","ServiceFeesListPageComponent","Consent","TermsAndConditionsComponent","userservice","modal","acceptBtn","acceptCheckbox","addEventListener","disabled","checked","acceptTermsAndCondtions","timeNow","toUTCString","consent","approvedDate","getCurrentUserId","newUser","upsertUser","redirectTo","refuseTermsAndCondtions","AccountsService","accountsClient","getAccountsByName","findAccountsByName","findPooledAndProspectAccountsByName","accountNumber","BooleanTaskService","booleanTaskClient","notificationPopupService","sortingFields","Id","SourceId","SubTitle","DisplayDate","SearchDateLimit","CreatedDate","update","fileId","systemAttachment","getSubscribersEmails","getTaskSubscribersByTaskId","ClientsService","crmAttachmentsClient","pageNumber","findAccountXesByName","getClientByName","findAccountByName","getTechnicalContactByExternalAccountNumber","accountId","getCrmAccountAttachments","getCrmAccountContractualAttachments","getCrmAccountImportantAttachments","downloadCrmAttachment","getClientById","commentsClient","asObservable","reverse","getDiscussionTaskSubscribers","getIllustrationTaskSubscribers","commentParams","create","addCurrentUserToSubscriber","delete","editDiscussion","lastExportedDate","updatedSubscibersList","addCurrentUserToSubscribers","getAllAttachments","tagNames","addCommentTags","getCommentTags","tagId","getDiscussionTags","editedComment","commentIndex","AssignedTo","CommonService","hangfireJobExecutionService","n","isApproval","getPayToText","displayActions","assignedTo","Internal","getLastModifiedDate","lastModifiedDate","reduce","curr","lastModified","getJobInfo","endDate","ContactsService","contactsClient","getPrimaryContactFromAccount","getConsultantContactFromAccount","DocumentService","documentClient","getDocumentByPath","getIllustrationFile","getAdminDbDocumentInPdf","pathSplited","ESignatureService","docuSignClient","getEmbeddedUrl","embeddedEnvelop","embeddedUrl","getDocumentToSignUrl","SignerName","SignerEmail","SignerClientId","ReturnUrl","DocPdf","FaqCategoriesClient","FaqCategoryDto","QuestionClient","QuestionDto","UpdateQuestionCommand","FaqService","faqCategoriesClient","questionClient","categoryName","command","deleteFaqCategory","getQuestions","catId","answer","addFaqQuestion","FileUploadTaskService","fileUploadTaskClient","getFileUploadTaskById","getById","submit","$parameter","uploadFile","CreateIllustrationCommand","IllustrationRequestDto","IllustrationsClient","IllustrationService","illustrationsClient","startDate","findIllustration","CountriesId","Files","InsuropeSubscribers","NetworkMemberSubscribers","additionalComment","insuropeTypeOfBusiness","InformativeService","generalTaskClient","getMyOrganizationPaginated","informatives","getTasksById","changeDoneByNm","NetworkMembersService","networkMembersClient","networkMemberList","findNetworkMembersByName","sortedNetworkMemberList","sortBy","findNetworkMemberById","UpdateUserConsentsCommand","UserService","userController","userClient","localStorageUser","getCurrentUserEmail","emails","getUsersByNetworkMemberId","getUsersByConnectedNetworkMemberId","getAllUsers","getPaginatedUsers","getUsers","getUserByIdByNM","nmIds","userAction","getAllSubscribeUsers","TermsAndConditions","updateConsentCommand","privacyNotice","updateUserConsents"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}