{"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/action-button/action-button.component.ts","./src/app/components/common/action-button/action-button.component.html","./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\nimport { ActionButtonComponent } from './components/common/action-button/action-button.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 ActionButtonComponent\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\n\r\n@Component({\r\n selector: 'app-action-button',\r\n templateUrl: './action-button.component.html',\r\n styleUrls: ['./action-button.component.scss']\r\n})\r\nexport class ActionButtonComponent implements OnInit {\r\n \r\n @Input() buttonName: string;\r\n @Input() shouldBeDisabled: boolean;\r\n @Input() action: () => void;\r\n\r\n async ngOnInit() {\r\n }\r\n\r\n performAction(){\r\n if(this.action){\r\n this.action();\r\n }\r\n }\r\n}\r\n","\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { faCircleXmark } from '@fortawesome/free-regular-svg-icons';\r\nimport { faDownload } from '@fortawesome/free-solid-svg-icons';\r\nimport * as FileSaver from 'file-saver';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\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 { UserService } from 'src/app/services/user.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 faCircleXmark = faCircleXmark\r\n // display the loading indicator or not\r\n downloadingFile: boolean = false;\r\n isCollaborator:boolean = false;\r\n // constructor\r\n constructor(private activatedroute: ActivatedRoute, \r\n private popupNotificationsService: PopupNotificationsService, \r\n private commentService: CommentService, \r\n public documentService: DocumentService, private userService: UserService) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\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 deleteFile(file:AttachmentDTO){\r\n if(confirm(\"Are you sure to delete the file \"+file.name+\" ?\")){\r\n this.commentAttachments = this.commentAttachments.filter(x=>x.id != file.id);\r\n this.commentService.deleteFileFromComment(this.taskId,file.id);\r\n }\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 \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 \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
\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 shouldSendNotification: boolean = true;\r\n commentId: string = \"\";\r\n isEdit: boolean = false;\r\n\r\n isNetworkMember: boolean;\r\n isCollaborator: boolean;\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 this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.shouldSendNotification = true; \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 if(!this.shouldSendNotification)\r\n {\r\n notificationFrequency = NotificationFrequency.Ignore\r\n }\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.shouldSendNotification,\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 this.shouldSendNotification = true;\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 { ActionPerform, Attachment, AttachmentDTO, CommentDto, FileParameter, 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\nimport { DocumentService } from \"src/app/services/document.service\";\r\nimport { AddCommentDto } from \"src/app/models/AddCommentDto\";\r\nimport { CommentType } from \"src/app/models/enums/CommentType\";\r\nimport { NotificationFrequency } from \"src/app/models/enums/NotificaionFrequency\";\r\nimport { NotificationType } from \"src/app/models/enums/NotificationType\";\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 isCollaborator: 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 this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\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 getButtonName() {\r\n if (this.task?.actionPerform || this.task?.actionPerform == null) {\r\n if (this.isCollaborator) {\r\n return \"Click to mark as not completed\";\r\n }\r\n else {\r\n return \"Click to mark as completed\";\r\n }\r\n }\r\n\r\n return \"Completed\";\r\n\r\n }\r\n\r\n shouldBeDisabled(): boolean {\r\n if (this.task.actionPerform == ActionPerform.MarkAsDone && this.isNetworkMember) {\r\n return true;\r\n }\r\n if (!this.task.actionPerform && this.isCollaborator) {\r\n return true;\r\n }\r\n return false;\r\n\r\n }\r\n\r\n excutedByNetworkMember(){\r\n this.commonService.treatedByNetworkMember(this.task, this.fileUploadTaskService);\r\n }\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
    \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 //Function for truncating before and after the - \r\n getTruncatedTitle(title: string): string {\r\n var parts = title.split(' - '); //Splits the title into two parts around '-'\r\n var truncatedBefore = parts[0];\r\n\r\n var truncatedAfter = '';\r\n if (parts.length > 1) {\r\n truncatedAfter = parts[1];\r\n }\r\n\r\n //after the - to 15 characters but can stop at the last space\r\n if (truncatedAfter.length > 15) {\r\n truncatedAfter = truncatedAfter.slice(0, 15);\r\n }\r\n \r\n if (truncatedAfter.length > 0) {\r\n return truncatedBefore + ' - ' + truncatedAfter;\r\n } else {\r\n return truncatedBefore;\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 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 { ActionPerform, 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 _commonService:CommonService;\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) {\r\n }\r\n\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n this._commonService = this.commonService;\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\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 getButtonName() {\r\n\r\n if (this.informative?.actionPerform || this.informative?.actionPerform == null) {\r\n if (this.isCollaborator) {\r\n return \"Click to mark as not completed\";\r\n }\r\n else {\r\n return \"Click to mark as completed\";\r\n }\r\n }\r\n\r\n return \"Completed\";\r\n\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 shouldBeDisabled(): boolean {\r\n if (this.informative.actionPerform == ActionPerform.MarkAsDone && this.isNetworkMember) {\r\n return true;\r\n }\r\n if (!this.informative.actionPerform && this.isCollaborator) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n \r\n excutedByNetworkMember(){\r\n this.commonService?.treatedByNetworkMember(this.informative, this.informativeService);\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 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?.actionPerform == 1 ? \"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
    \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:\"actionPerform\"}]\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:\"actionPerform\"}]\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 async deleteFileFromComment(taskId,fileId){\r\n return this.commentsClient.deleteFileFromComment(taskId,fileId).toPromise()\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { ActionPerform, AssignedTo, FileParameter, HangfireJobClient, PayToEnum } from 'src/app/web-api-client';\r\nimport { UserService } from '../user.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CommentService } from '../comment.service';\r\nimport { DocumentService } from '../document.service';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\nimport { CommentType } from 'src/app/models/enums/CommentType';\r\nimport { NotificationFrequency } from 'src/app/models/enums/NotificaionFrequency';\r\nimport { NotificationType } from 'src/app/models/enums/NotificationType';\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 private commentService: CommentService, private documentService: DocumentService\r\n ) { }\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 async treatedByNetworkMember(task: any, service: any): Promise {\r\n const isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n const isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n if ((task.actionPerform == ActionPerform.MarkAsNotDone || task.actionPerform == null) && isNetworkMember) {\r\n if (await service.changeActionPerform(task.id, ActionPerform.MarkAsDone)) {\r\n task.actionPerform = ActionPerform.MarkAsDone;\r\n let fileList: FileParameter[] = [];\r\n\r\n for (let i = 0; i < task.adminDbAttachments.length; i++) {\r\n const file = await this.documentService.getAdminDbDocument(task.adminDbAttachments[i], [task.networkMemberId]);\r\n fileList.push({ data: new Blob([file.data]), fileName: file.fileName });\r\n }\r\n\r\n const commentDto: AddCommentDto = {\r\n taskId:task.id, \r\n content: \"

    The task has been done by Network Member

    \",\r\n processName: task.processId || task.process, \r\n clientName: task.title,\r\n networkMemberName: task.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 return true;\r\n }\r\n } else if (task.actionPerform == ActionPerform.MarkAsDone && isCollaborator) {\r\n task.actionPerform = ActionPerform.MarkAsNotDone;\r\n await service.changeActionPerform(task.id, ActionPerform.MarkAsNotDone);\r\n return true;\r\n }\r\n\r\n return false;\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 { ActionPerform, 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 async ChangeActionPerform(id:string, actionPerform:ActionPerform){\r\n return await this.fileUploadTaskClient.changeActionPerform(id,actionPerform).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 { ActionPerform, 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 ChangeActionPerform(id:string, actionPerform:ActionPerform){\r\n return await this.generalTaskClient.changeActionPerform(id,actionPerform).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 deleteFileFromComment(taskId: string | undefined, fileId: string | undefined): 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 deleteFileFromComment(taskId: string | undefined, fileId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/deleteFileFromComment?\";\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(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteFileFromComment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteFileFromComment(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 processDeleteFileFromComment(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 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 changeActionPerform(id: string | undefined, actionPerform: ActionPerform | 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 changeActionPerform(id: string | undefined, actionPerform: ActionPerform | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/changeActionPerform?\";\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 (actionPerform === null)\r\n throw new Error(\"The parameter 'actionPerform' cannot be null.\");\r\n else if (actionPerform !== undefined)\r\n url_ += \"ActionPerform=\" + encodeURIComponent(\"\" + actionPerform) + \"&\";\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.processChangeActionPerform(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeActionPerform(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 processChangeActionPerform(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 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 changeActionPerform(id: string | undefined, actionPerform: ActionPerform | 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 changeActionPerform(id: string | undefined, actionPerform: ActionPerform | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/changeActionPerform?\";\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 (actionPerform === null)\r\n throw new Error(\"The parameter 'actionPerform' cannot be null.\");\r\n else if (actionPerform !== undefined)\r\n url_ += \"ActionPerform=\" + encodeURIComponent(\"\" + actionPerform) + \"&\";\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.processChangeActionPerform(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeActionPerform(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 processChangeActionPerform(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 actionPerform?: ActionPerform;\r\n actionPerformedDate?: Date;\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 this.actionPerform = _data[\"actionPerform\"];\r\n this.actionPerformedDate = _data[\"actionPerformedDate\"] ? new Date(_data[\"actionPerformedDate\"].toString()) : undefined;\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 data[\"actionPerform\"] = this.actionPerform;\r\n data[\"actionPerformedDate\"] = this.actionPerformedDate ? this.actionPerformedDate.toISOString() : undefined;\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 actionPerform?: ActionPerform;\r\n actionPerformedDate?: Date;\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 commentId?: string;\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 this.commentId = _data[\"commentId\"];\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 data[\"commentId\"] = this.commentId;\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 commentId?: string;\r\n}\r\n\r\nexport enum ActionPerform {\r\n MarkAsDone = 1,\r\n MarkAsNotDone = 2,\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\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 }\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 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}\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 email?: string;\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 this.email = _data[\"email\"];\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 data[\"email\"] = this.email;\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 email?: string;\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","ActionButtonComponent","performAction","action","inputs","buttonName","shouldBeDisabled","ctx","faCircleXmark","FileSaver","UserRoles","AttachmentListComponent","activatedroute","popupNotificationsService","commentService","documentService","isCollaborator","Collaborator","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","deleteFile","confirm","commentAttachments","x","deleteFileFromComment","formatdate","toLocaleDateString","month","day","year","hour","minute","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","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","Subscription","Observable","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","users","getAllUsersByNetworkMemberId","getAllUsersByConnectedNetworkMemberId","clickedOnUser","fetchUser","filteredUsers","searchingUsers","getAllSubscriber","val","selectUser","find","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","booleanTaskService","datePipe","loadingTask","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","shouldSendNotification","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","Ignore","commentFormDto","Reply","isEdit","sentNotification","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","ActionPerform","Attachment","AttachmentDTO","FileUploadTaskDto","ctx_r11","FileUploadTaskDetailComponent","fileUploadTaskService","activeFileUploadTask","statusText","uploadedFiles","savingLoader","uploadFileToTask","actionPerform","MarkAsDone","excutedByNetworkMember","treatedByNetworkMember","head_r16","FileUploadTaskListComponent","now","clientIdParam","loadingUploadTask","NetworkMemberId","sortBycreatedDate","getSendNmDate","metadata","SendNMDate","getSendClientDate","SendClientDate","getTruncatedTitle","parts","truncatedBefore","truncatedAfter","backBtn","noResultText","GeneralTaskDto","ctx_r12","InformativeDetailComponent","informativeService","_commonService","informative","activeTask","newDueDate","displayDate","commentAtt","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","MarkAsNotDone","changeActionPerform","fileList","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","ChangeActionPerform","CreateIllustrationCommand","IllustrationRequestDto","IllustrationsClient","IllustrationService","illustrationsClient","startDate","findIllustration","CountriesId","Files","InsuropeSubscribers","NetworkMemberSubscribers","additionalComment","insuropeTypeOfBusiness","InformativeService","generalTaskClient","getMyOrganizationPaginated","informatives","getTasksById","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":[]}